@vendure/admin-ui 1.4.7 → 2.0.0-next.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 (1140) hide show
  1. package/catalog/catalog.module.d.ts +30 -0
  2. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +5 -2
  3. package/catalog/components/asset-detail/asset-detail.component.d.ts +6 -4
  4. package/catalog/components/asset-list/asset-list.component.d.ts +5 -2
  5. package/catalog/components/{product-assets/product-assets.component.d.ts → assets/assets.component.d.ts} +7 -10
  6. package/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +9 -7
  7. package/catalog/components/collection-contents/collection-contents.component.d.ts +5 -3
  8. package/catalog/components/collection-detail/collection-detail.component.d.ts +6 -3
  9. package/catalog/components/collection-list/collection-list.component.d.ts +6 -3
  10. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +7 -3
  11. package/catalog/components/collection-tree/collection-tree.component.d.ts +10 -25
  12. package/catalog/components/collection-tree/collection-tree.service.d.ts +33 -0
  13. package/catalog/components/collection-tree/collection-tree.types.d.ts +7 -0
  14. package/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +5 -2
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +7 -4
  16. package/catalog/components/facet-list/facet-list.component.d.ts +6 -3
  17. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -0
  18. package/catalog/components/option-value-input/option-value-input.component.d.ts +3 -0
  19. package/catalog/components/product-detail/product-detail.component.d.ts +17 -37
  20. package/catalog/components/product-detail/product-detail.types.d.ts +26 -0
  21. package/catalog/components/product-list/product-list.component.d.ts +6 -3
  22. package/catalog/components/product-options-editor/product-options-editor.component.d.ts +9 -4
  23. package/catalog/components/product-search-input/product-search-input.component.d.ts +9 -4
  24. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +5 -2
  25. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +24 -17
  26. package/catalog/components/product-variants-table/product-variants-table.component.d.ts +24 -11
  27. package/catalog/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +5 -2
  28. package/catalog/components/variant-price-detail/variant-price-detail.component.d.ts +3 -0
  29. package/catalog/package.json +5 -6
  30. package/catalog/providers/product-detail/product-detail.service.d.ts +214 -93
  31. package/catalog/providers/routing/asset-resolver.d.ts +5 -3
  32. package/catalog/providers/routing/collection-resolver.d.ts +5 -2
  33. package/catalog/providers/routing/facet-resolver.d.ts +5 -4
  34. package/catalog/providers/routing/product-resolver.d.ts +5 -2
  35. package/catalog/providers/routing/product-variants-resolver.d.ts +5 -2
  36. package/catalog/public_api.d.ts +4 -1
  37. package/catalog/vendure-admin-ui-catalog.d.ts +1 -0
  38. package/core/app.component.d.ts +3 -0
  39. package/core/app.component.module.d.ts +7 -0
  40. package/core/common/base-detail.component.d.ts +2 -2
  41. package/core/common/base-entity-resolver.d.ts +1 -1
  42. package/core/common/base-list.component.d.ts +10 -0
  43. package/core/common/generated-types.d.ts +12045 -4197
  44. package/core/common/utilities/flatten-facet-values.d.ts +2 -2
  45. package/core/common/version.d.ts +1 -1
  46. package/core/components/app-shell/app-shell.component.d.ts +3 -0
  47. package/core/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  48. package/core/components/channel-switcher/channel-switcher.component.d.ts +3 -0
  49. package/core/components/main-nav/main-nav.component.d.ts +3 -0
  50. package/core/components/notification/notification.component.d.ts +3 -0
  51. package/core/components/overlay-host/overlay-host.component.d.ts +3 -0
  52. package/core/components/theme-switcher/theme-switcher.component.d.ts +3 -0
  53. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +4 -1
  54. package/core/components/user-menu/user-menu.component.d.ts +3 -0
  55. package/core/core.module.d.ts +18 -0
  56. package/core/data/client-state/client-defaults.d.ts +19 -7
  57. package/core/data/data.module.d.ts +6 -0
  58. package/core/data/definitions/administrator-definitions.d.ts +15 -15
  59. package/core/data/definitions/auth-definitions.d.ts +4 -4
  60. package/core/data/definitions/client-definitions.d.ts +16 -16
  61. package/core/data/definitions/collection-definitions.d.ts +9 -9
  62. package/core/data/definitions/customer-definitions.d.ts +22 -21
  63. package/core/data/definitions/facet-definitions.d.ts +10 -10
  64. package/core/data/definitions/order-definitions.d.ts +25 -25
  65. package/core/data/definitions/product-definitions.d.ts +44 -44
  66. package/core/data/definitions/promotion-definitions.d.ts +7 -7
  67. package/core/data/definitions/settings-definitions.d.ts +65 -65
  68. package/core/data/definitions/shared-definitions.d.ts +3 -3
  69. package/core/data/definitions/shipping-definitions.d.ts +9 -9
  70. package/core/data/providers/administrator-data.service.d.ts +15 -15
  71. package/core/data/providers/auth-data.service.d.ts +4 -3
  72. package/core/data/providers/base-data.service.d.ts +3 -0
  73. package/core/data/providers/client-data.service.d.ts +15 -14
  74. package/core/data/providers/collection-data.service.d.ts +11 -11
  75. package/core/data/providers/customer-data.service.d.ts +25 -24
  76. package/core/data/providers/data.service.d.ts +5 -2
  77. package/core/data/providers/facet-data.service.d.ts +12 -12
  78. package/core/data/providers/fetch-adapter.d.ts +3 -0
  79. package/core/data/providers/interceptor.d.ts +3 -0
  80. package/core/data/providers/order-data.service.d.ts +21 -21
  81. package/core/data/providers/product-data.service.d.ts +51 -51
  82. package/core/data/providers/promotion-data.service.d.ts +8 -8
  83. package/core/data/providers/settings-data.service.d.ts +52 -51
  84. package/core/data/providers/shipping-method-data.service.d.ts +12 -12
  85. package/core/data/query-result.d.ts +1 -1
  86. package/core/data/server-config.d.ts +5 -2
  87. package/core/package.json +5 -6
  88. package/core/providers/auth/auth.service.d.ts +5 -2
  89. package/core/providers/component-registry/component-registry.service.d.ts +3 -0
  90. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +3 -0
  91. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -0
  92. package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +3 -0
  93. package/core/providers/guard/auth.guard.d.ts +3 -0
  94. package/core/providers/health-check/health-check.service.d.ts +3 -0
  95. package/core/providers/i18n/custom-message-format-compiler.d.ts +3 -0
  96. package/core/providers/i18n/i18n.service.d.ts +3 -0
  97. package/core/providers/job-queue/job-queue.service.d.ts +3 -0
  98. package/core/providers/local-storage/local-storage.service.d.ts +3 -0
  99. package/core/providers/modal/modal.service.d.ts +4 -67
  100. package/core/providers/modal/modal.types.d.ts +67 -0
  101. package/core/providers/nav-builder/nav-builder.service.d.ts +3 -0
  102. package/core/providers/notification/notification.service.d.ts +3 -0
  103. package/core/providers/overlay-host/overlay-host.service.d.ts +3 -0
  104. package/core/public_api.d.ts +3 -0
  105. package/core/shared/components/action-bar/action-bar.component.d.ts +7 -0
  106. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +3 -0
  107. package/core/shared/components/address-form/address-form.component.d.ts +5 -2
  108. package/core/shared/components/affixed-input/affixed-input.component.d.ts +3 -0
  109. package/core/shared/components/affixed-input/percentage-suffix-input.component.d.ts +3 -0
  110. package/core/shared/components/asset-file-input/asset-file-input.component.d.ts +3 -0
  111. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +46 -26
  112. package/core/shared/components/asset-gallery/asset-gallery.types.d.ts +3 -0
  113. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +7 -3
  114. package/core/shared/components/asset-preview/asset-preview.component.d.ts +5 -3
  115. package/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +7 -5
  116. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +8 -0
  117. package/core/shared/components/asset-search-input/asset-search-input.component.d.ts +5 -2
  118. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +3 -0
  119. package/core/shared/components/channel-badge/channel-badge.component.d.ts +3 -0
  120. package/core/shared/components/chip/chip.component.d.ts +3 -0
  121. package/core/shared/components/configurable-input/configurable-input.component.d.ts +3 -0
  122. package/core/shared/components/currency-input/currency-input.component.d.ts +3 -0
  123. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -0
  124. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +3 -0
  125. package/core/shared/components/customer-label/customer-label.component.d.ts +5 -2
  126. package/core/shared/components/data-table/data-table-column.component.d.ts +3 -0
  127. package/core/shared/components/data-table/data-table.component.d.ts +3 -0
  128. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +3 -0
  129. package/core/shared/components/datetime-picker/datetime-picker.service.d.ts +3 -0
  130. package/core/shared/components/dropdown/dropdown-item.directive.d.ts +3 -0
  131. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +3 -0
  132. package/core/shared/components/dropdown/dropdown-trigger.directive.d.ts +3 -0
  133. package/core/shared/components/dropdown/dropdown.component.d.ts +3 -0
  134. package/core/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +4 -1
  135. package/core/shared/components/empty-placeholder/empty-placeholder.component.d.ts +3 -0
  136. package/core/shared/components/entity-info/entity-info.component.d.ts +3 -0
  137. package/core/shared/components/extension-host/extension-host.component.d.ts +3 -0
  138. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -0
  139. package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +5 -2
  140. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +8 -5
  141. package/core/shared/components/focal-point-control/focal-point-control.component.d.ts +3 -0
  142. package/core/shared/components/form-field/form-field-control.directive.d.ts +3 -0
  143. package/core/shared/components/form-field/form-field.component.d.ts +3 -0
  144. package/core/shared/components/form-item/form-item.component.d.ts +3 -0
  145. package/core/shared/components/formatted-address/formatted-address.component.d.ts +3 -0
  146. package/core/shared/components/help-tooltip/help-tooltip.component.d.ts +3 -0
  147. package/core/shared/components/history-entry-detail/history-entry-detail.component.d.ts +3 -0
  148. package/core/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +3 -0
  149. package/core/shared/components/labeled-data/labeled-data.component.d.ts +3 -0
  150. package/core/shared/components/language-selector/language-selector.component.d.ts +3 -0
  151. package/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +6 -3
  152. package/core/shared/components/modal-dialog/dialog-buttons.directive.d.ts +3 -0
  153. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +3 -0
  154. package/core/shared/components/modal-dialog/dialog-title.directive.d.ts +3 -0
  155. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +4 -1
  156. package/core/shared/components/object-tree/object-tree.component.d.ts +3 -0
  157. package/core/shared/components/order-state-label/order-state-label.component.d.ts +4 -1
  158. package/core/shared/components/pagination-controls/pagination-controls.component.d.ts +3 -0
  159. package/core/shared/components/product-selector/product-selector.component.d.ts +23 -13
  160. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +4 -1
  161. package/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +4 -1
  162. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +3 -0
  163. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +3 -0
  164. package/core/shared/components/select-toggle/select-toggle.component.d.ts +3 -0
  165. package/core/shared/components/simple-dialog/simple-dialog.component.d.ts +4 -1
  166. package/core/shared/components/status-badge/status-badge.component.d.ts +3 -0
  167. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +3 -0
  168. package/core/shared/components/table-row-action/table-row-action.component.d.ts +3 -0
  169. package/core/shared/components/tag-selector/tag-selector.component.d.ts +3 -0
  170. package/core/shared/components/timeline-entry/timeline-entry.component.d.ts +3 -0
  171. package/core/shared/components/title-input/title-input.component.d.ts +3 -0
  172. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +3 -0
  173. package/core/shared/directives/disabled.directive.d.ts +3 -0
  174. package/core/shared/directives/if-default-channel-active.directive.d.ts +3 -0
  175. package/core/shared/directives/if-directive-base.d.ts +3 -0
  176. package/core/shared/directives/if-multichannel.directive.d.ts +3 -0
  177. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  178. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +3 -0
  179. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +3 -0
  180. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +3 -0
  181. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +7 -3
  182. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +3 -0
  183. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -0
  184. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +5 -2
  185. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +3 -0
  186. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +3 -0
  187. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +6 -3
  188. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -1
  189. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +6 -3
  190. package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +6 -2
  191. package/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +7 -3
  192. package/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +7 -3
  193. package/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +7 -0
  194. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +3 -0
  195. package/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +4 -1
  196. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +3 -0
  197. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +3 -0
  198. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +3 -0
  199. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +3 -0
  200. package/core/shared/pipes/asset-preview.pipe.d.ts +3 -0
  201. package/core/shared/pipes/channel-label.pipe.d.ts +3 -0
  202. package/core/shared/pipes/custom-field-label.pipe.d.ts +3 -0
  203. package/core/shared/pipes/duration.pipe.d.ts +3 -0
  204. package/core/shared/pipes/file-size.pipe.d.ts +3 -0
  205. package/core/shared/pipes/has-permission.pipe.d.ts +3 -0
  206. package/core/shared/pipes/locale-base.pipe.d.ts +3 -0
  207. package/core/shared/pipes/locale-currency-name.pipe.d.ts +3 -0
  208. package/core/shared/pipes/locale-currency.pipe.d.ts +3 -0
  209. package/core/shared/pipes/locale-date.pipe.d.ts +3 -0
  210. package/core/shared/pipes/locale-language-name.pipe.d.ts +3 -0
  211. package/core/shared/pipes/locale-region-name.pipe.d.ts +3 -0
  212. package/core/shared/pipes/sentence-case.pipe.d.ts +3 -0
  213. package/core/shared/pipes/sort.pipe.d.ts +3 -0
  214. package/core/shared/pipes/state-i18n-token.pipe.d.ts +3 -0
  215. package/core/shared/pipes/string-to-color.pipe.d.ts +3 -0
  216. package/core/shared/pipes/time-ago.pipe.d.ts +3 -0
  217. package/core/shared/providers/routing/can-deactivate-detail-guard.d.ts +3 -0
  218. package/core/shared/shared.module.d.ts +118 -0
  219. package/core/vendure-admin-ui-core.d.ts +1 -0
  220. package/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +6 -3
  221. package/customer/components/address-card/address-card.component.d.ts +7 -2
  222. package/customer/components/address-detail-dialog/address-detail-dialog.component.d.ts +5 -2
  223. package/customer/components/customer-detail/customer-detail.component.d.ts +10 -5
  224. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +3 -0
  225. package/customer/components/customer-group-list/customer-group-list.component.d.ts +10 -7
  226. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +3 -0
  227. package/customer/components/customer-history/customer-history.component.d.ts +12 -7
  228. package/customer/components/customer-list/customer-list.component.d.ts +7 -5
  229. package/customer/components/customer-status-label/customer-status-label.component.d.ts +5 -2
  230. package/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +5 -2
  231. package/customer/customer.module.d.ts +17 -0
  232. package/customer/package.json +5 -6
  233. package/customer/providers/routing/customer-resolver.d.ts +5 -4
  234. package/customer/vendure-admin-ui-customer.d.ts +1 -0
  235. package/dashboard/components/dashboard/dashboard.component.d.ts +3 -0
  236. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +3 -0
  237. package/dashboard/dashboard.module.d.ts +8 -0
  238. package/dashboard/package.json +5 -6
  239. package/dashboard/vendure-admin-ui-dashboard.d.ts +1 -0
  240. package/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +9 -2
  241. package/dashboard/widgets/order-summary-widget/order-summary-widget.component.d.ts +7 -0
  242. package/dashboard/widgets/test-widget/test-widget.component.d.ts +6 -0
  243. package/dashboard/widgets/welcome-widget/welcome-widget.component.d.ts +9 -2
  244. package/esm2020/catalog/catalog.module.mjs +116 -0
  245. package/esm2020/catalog/catalog.routes.mjs +174 -0
  246. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +30 -0
  247. package/esm2020/catalog/components/asset-detail/asset-detail.component.mjs +66 -0
  248. package/esm2020/catalog/components/asset-list/asset-list.component.mjs +120 -0
  249. package/esm2020/catalog/components/assets/assets.component.mjs +100 -0
  250. package/esm2020/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +104 -0
  251. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +76 -0
  252. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +210 -0
  253. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +120 -0
  254. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +56 -0
  255. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +99 -0
  256. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +44 -0
  257. package/esm2020/catalog/components/collection-tree/collection-tree.service.mjs +68 -0
  258. package/esm2020/catalog/components/collection-tree/collection-tree.types.mjs +2 -0
  259. package/esm2020/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +23 -0
  260. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +321 -0
  261. package/esm2020/catalog/components/facet-list/facet-list.component.mjs +104 -0
  262. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +79 -0
  263. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +97 -0
  264. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +520 -0
  265. package/esm2020/catalog/components/product-detail/product-detail.types.mjs +2 -0
  266. package/esm2020/catalog/components/product-list/product-list.component.mjs +150 -0
  267. package/esm2020/catalog/components/product-options-editor/product-options-editor.component.mjs +151 -0
  268. package/esm2020/catalog/components/product-search-input/product-search-input.component.mjs +107 -0
  269. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +313 -0
  270. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +226 -0
  271. package/esm2020/catalog/components/product-variants-table/product-variants-table.component.mjs +72 -0
  272. package/esm2020/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +64 -0
  273. package/esm2020/catalog/components/variant-price-detail/variant-price-detail.component.mjs +61 -0
  274. package/esm2020/catalog/providers/product-detail/product-detail.service.mjs +224 -0
  275. package/{esm2015/catalog/providers/product-detail/replace-last.js → esm2020/catalog/providers/product-detail/replace-last.mjs} +0 -0
  276. package/esm2020/catalog/providers/routing/asset-resolver.mjs +33 -0
  277. package/esm2020/catalog/providers/routing/collection-resolver.mjs +35 -0
  278. package/esm2020/catalog/providers/routing/facet-resolver.mjs +30 -0
  279. package/esm2020/catalog/providers/routing/product-resolver.mjs +39 -0
  280. package/esm2020/catalog/providers/routing/product-variants-resolver.mjs +27 -0
  281. package/esm2020/catalog/public_api.mjs +39 -0
  282. package/{esm2015/catalog/vendure-admin-ui-catalog.js → esm2020/catalog/vendure-admin-ui-catalog.mjs} +0 -0
  283. package/esm2020/core/app.component.mjs +79 -0
  284. package/esm2020/core/app.component.module.mjs +19 -0
  285. package/{esm2015/core/app.config.js → esm2020/core/app.config.mjs} +0 -0
  286. package/esm2020/core/common/base-detail.component.mjs +108 -0
  287. package/{esm2015/core/common/base-entity-resolver.js → esm2020/core/common/base-entity-resolver.mjs} +2 -2
  288. package/esm2020/core/common/base-list.component.mjs +159 -0
  289. package/{esm2015/core/common/component-registry-types.js → esm2020/core/common/component-registry-types.mjs} +0 -0
  290. package/{esm2015/core/common/deactivate-aware.js → esm2020/core/common/deactivate-aware.mjs} +0 -0
  291. package/{esm2015/core/common/detail-breadcrumb.js → esm2020/core/common/detail-breadcrumb.mjs} +0 -0
  292. package/esm2020/core/common/generated-types.mjs +954 -0
  293. package/{esm2015/core/common/introspection-result-wrapper.js → esm2020/core/common/introspection-result-wrapper.mjs} +0 -0
  294. package/esm2020/core/common/introspection-result.mjs +187 -0
  295. package/{esm2015/core/common/single-search-selection-model.js → esm2020/core/common/single-search-selection-model.mjs} +0 -0
  296. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +83 -0
  297. package/esm2020/core/common/utilities/create-updated-translatable.mjs +75 -0
  298. package/esm2020/core/common/utilities/find-translation.mjs +9 -0
  299. package/esm2020/core/common/utilities/flatten-facet-values.mjs +4 -0
  300. package/esm2020/core/common/utilities/get-default-ui-language.mjs +12 -0
  301. package/{esm2015/core/common/utilities/interpolate-description.js → esm2020/core/common/utilities/interpolate-description.mjs} +0 -0
  302. package/{esm2015/core/common/utilities/string-to-color.js → esm2020/core/common/utilities/string-to-color.mjs} +0 -0
  303. package/{esm2015/core/common/version.js → esm2020/core/common/version.mjs} +2 -2
  304. package/esm2020/core/components/app-shell/app-shell.component.mjs +76 -0
  305. package/esm2020/core/components/breadcrumb/breadcrumb.component.mjs +124 -0
  306. package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +58 -0
  307. package/esm2020/core/components/main-nav/main-nav.component.mjs +270 -0
  308. package/esm2020/core/components/notification/notification.component.mjs +76 -0
  309. package/esm2020/core/components/overlay-host/overlay-host.component.mjs +22 -0
  310. package/esm2020/core/components/theme-switcher/theme-switcher.component.mjs +29 -0
  311. package/esm2020/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +305 -0
  312. package/esm2020/core/components/user-menu/user-menu.component.mjs +37 -0
  313. package/esm2020/core/core.module.mjs +145 -0
  314. package/{esm2015/core/data/check-jobs-link.js → esm2020/core/data/check-jobs-link.mjs} +0 -0
  315. package/{esm2015/core/data/client-state/client-defaults.js → esm2020/core/data/client-state/client-defaults.mjs} +1 -1
  316. package/esm2020/core/data/client-state/client-resolvers.mjs +131 -0
  317. package/esm2020/core/data/data.module.mjs +126 -0
  318. package/{esm2015/core/data/definitions/administrator-definitions.js → esm2020/core/data/definitions/administrator-definitions.mjs} +0 -0
  319. package/{esm2015/core/data/definitions/auth-definitions.js → esm2020/core/data/definitions/auth-definitions.mjs} +0 -0
  320. package/{esm2015/core/data/definitions/client-definitions.js → esm2020/core/data/definitions/client-definitions.mjs} +0 -0
  321. package/{esm2015/core/data/definitions/collection-definitions.js → esm2020/core/data/definitions/collection-definitions.mjs} +0 -0
  322. package/esm2020/core/data/definitions/customer-definitions.mjs +265 -0
  323. package/{esm2015/core/data/definitions/facet-definitions.js → esm2020/core/data/definitions/facet-definitions.mjs} +0 -0
  324. package/{esm2015/core/data/definitions/order-definitions.js → esm2020/core/data/definitions/order-definitions.mjs} +0 -0
  325. package/{esm2015/core/data/definitions/product-definitions.js → esm2020/core/data/definitions/product-definitions.mjs} +0 -0
  326. package/{esm2015/core/data/definitions/promotion-definitions.js → esm2020/core/data/definitions/promotion-definitions.mjs} +0 -0
  327. package/{esm2015/core/data/definitions/settings-definitions.js → esm2020/core/data/definitions/settings-definitions.mjs} +0 -0
  328. package/{esm2015/core/data/definitions/shared-definitions.js → esm2020/core/data/definitions/shared-definitions.mjs} +0 -0
  329. package/{esm2015/core/data/definitions/shipping-definitions.js → esm2020/core/data/definitions/shipping-definitions.mjs} +0 -0
  330. package/{esm2015/core/data/omit-typename-link.js → esm2020/core/data/omit-typename-link.mjs} +0 -0
  331. package/esm2020/core/data/providers/administrator-data.service.mjs +63 -0
  332. package/esm2020/core/data/providers/auth-data.service.mjs +20 -0
  333. package/esm2020/core/data/providers/base-data.service.mjs +69 -0
  334. package/esm2020/core/data/providers/client-data.service.mjs +75 -0
  335. package/esm2020/core/data/providers/collection-data.service.mjs +72 -0
  336. package/esm2020/core/data/providers/customer-data.service.mjs +120 -0
  337. package/esm2020/core/data/providers/data.service.mjs +90 -0
  338. package/esm2020/core/data/providers/facet-data.service.mjs +60 -0
  339. package/esm2020/core/data/providers/fetch-adapter.mjs +36 -0
  340. package/esm2020/core/data/providers/interceptor.mjs +136 -0
  341. package/esm2020/core/data/providers/order-data.service.mjs +100 -0
  342. package/esm2020/core/data/providers/product-data.service.mjs +240 -0
  343. package/esm2020/core/data/providers/promotion-data.service.mjs +36 -0
  344. package/esm2020/core/data/providers/settings-data.service.mjs +235 -0
  345. package/esm2020/core/data/providers/shipping-method-data.service.mjs +66 -0
  346. package/{esm2015/core/data/query-result.js → esm2020/core/data/query-result.mjs} +1 -1
  347. package/esm2020/core/data/server-config.mjs +74 -0
  348. package/esm2020/core/data/utils/add-custom-fields.mjs +84 -0
  349. package/{esm2015/core/data/utils/get-server-location.js → esm2020/core/data/utils/get-server-location.mjs} +0 -0
  350. package/{esm2015/core/data/utils/remove-readonly-custom-fields.js → esm2020/core/data/utils/remove-readonly-custom-fields.mjs} +1 -1
  351. package/esm2020/core/data/utils/transform-relation-custom-field-inputs.mjs +46 -0
  352. package/esm2020/core/providers/auth/auth.service.mjs +104 -0
  353. package/esm2020/core/providers/component-registry/component-registry.service.mjs +25 -0
  354. package/{esm2015/core/providers/custom-detail-component/custom-detail-component-types.js → esm2020/core/providers/custom-detail-component/custom-detail-component-types.mjs} +0 -0
  355. package/esm2020/core/providers/custom-detail-component/custom-detail-component.service.mjs +44 -0
  356. package/esm2020/core/providers/custom-field-component/custom-field-component.service.mjs +45 -0
  357. package/{esm2015/core/providers/dashboard-widget/dashboard-widget-types.js → esm2020/core/providers/dashboard-widget/dashboard-widget-types.mjs} +0 -0
  358. package/esm2020/core/providers/dashboard-widget/dashboard-widget.service.mjs +98 -0
  359. package/{esm2015/core/providers/dashboard-widget/register-dashboard-widget.js → esm2020/core/providers/dashboard-widget/register-dashboard-widget.mjs} +0 -0
  360. package/esm2020/core/providers/guard/auth.guard.mjs +38 -0
  361. package/esm2020/core/providers/health-check/health-check.service.mjs +36 -0
  362. package/{esm2015/core/providers/i18n/custom-http-loader.js → esm2020/core/providers/i18n/custom-http-loader.mjs} +0 -0
  363. package/esm2020/core/providers/i18n/custom-message-format-compiler.mjs +31 -0
  364. package/esm2020/core/providers/i18n/i18n.service.mjs +54 -0
  365. package/esm2020/core/providers/job-queue/job-queue.service.mjs +91 -0
  366. package/esm2020/core/providers/local-storage/local-storage.service.mjs +77 -0
  367. package/esm2020/core/providers/modal/modal.service.mjs +97 -0
  368. package/esm2020/core/providers/modal/modal.types.mjs +2 -0
  369. package/{esm2015/core/providers/nav-builder/nav-builder-types.js → esm2020/core/providers/nav-builder/nav-builder-types.mjs} +0 -0
  370. package/esm2020/core/providers/nav-builder/nav-builder.service.mjs +268 -0
  371. package/esm2020/core/providers/notification/notification.service.mjs +157 -0
  372. package/esm2020/core/providers/overlay-host/overlay-host.service.mjs +48 -0
  373. package/esm2020/core/public_api.mjs +220 -0
  374. package/esm2020/core/shared/components/action-bar/action-bar.component.mjs +57 -0
  375. package/esm2020/core/shared/components/action-bar-items/action-bar-items.component.mjs +78 -0
  376. package/esm2020/core/shared/components/address-form/address-form.component.mjs +23 -0
  377. package/esm2020/core/shared/components/affixed-input/affixed-input.component.mjs +19 -0
  378. package/esm2020/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +97 -0
  379. package/esm2020/core/shared/components/asset-file-input/asset-file-input.component.mjs +97 -0
  380. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +110 -0
  381. package/esm2020/core/shared/components/asset-gallery/asset-gallery.types.mjs +2 -0
  382. package/esm2020/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +144 -0
  383. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +189 -0
  384. package/esm2020/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +34 -0
  385. package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +26 -0
  386. package/esm2020/core/shared/components/asset-search-input/asset-search-input.component.mjs +106 -0
  387. package/esm2020/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +116 -0
  388. package/esm2020/core/shared/components/channel-badge/channel-badge.component.mjs +19 -0
  389. package/esm2020/core/shared/components/chip/chip.component.mjs +47 -0
  390. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +144 -0
  391. package/esm2020/core/shared/components/currency-input/currency-input.component.mjs +152 -0
  392. package/esm2020/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +40 -0
  393. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +83 -0
  394. package/esm2020/core/shared/components/customer-label/customer-label.component.mjs +17 -0
  395. package/esm2020/core/shared/components/data-table/data-table-column.component.mjs +29 -0
  396. package/esm2020/core/shared/components/data-table/data-table.component.mjs +124 -0
  397. package/{esm2015/core/shared/components/datetime-picker/constants.js → esm2020/core/shared/components/datetime-picker/constants.mjs} +0 -0
  398. package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +226 -0
  399. package/esm2020/core/shared/components/datetime-picker/datetime-picker.service.mjs +201 -0
  400. package/{esm2015/core/shared/components/datetime-picker/types.js → esm2020/core/shared/components/datetime-picker/types.mjs} +0 -0
  401. package/esm2020/core/shared/components/dropdown/dropdown-item.directive.mjs +25 -0
  402. package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +127 -0
  403. package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +25 -0
  404. package/esm2020/core/shared/components/dropdown/dropdown.component.mjs +58 -0
  405. package/esm2020/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +32 -0
  406. package/esm2020/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +16 -0
  407. package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +26 -0
  408. package/{esm2015/core/shared/components/extension-host/extension-host-config.js → esm2020/core/shared/components/extension-host/extension-host-config.mjs} +0 -0
  409. package/esm2020/core/shared/components/extension-host/extension-host.component.mjs +80 -0
  410. package/esm2020/core/shared/components/extension-host/extension-host.service.mjs +99 -0
  411. package/{esm2015/core/shared/components/extension-host/host-external-frame.js → esm2020/core/shared/components/extension-host/host-external-frame.mjs} +0 -0
  412. package/esm2020/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +26 -0
  413. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +121 -0
  414. package/esm2020/core/shared/components/focal-point-control/focal-point-control.component.mjs +71 -0
  415. package/esm2020/core/shared/components/form-field/form-field-control.directive.mjs +37 -0
  416. package/esm2020/core/shared/components/form-field/form-field.component.mjs +70 -0
  417. package/esm2020/core/shared/components/form-item/form-item.component.mjs +18 -0
  418. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +38 -0
  419. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +16 -0
  420. package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +16 -0
  421. package/esm2020/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +25 -0
  422. package/esm2020/core/shared/components/labeled-data/labeled-data.component.mjs +13 -0
  423. package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +31 -0
  424. package/esm2020/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +61 -0
  425. package/esm2020/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +23 -0
  426. package/esm2020/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +31 -0
  427. package/esm2020/core/shared/components/modal-dialog/dialog-title.directive.mjs +23 -0
  428. package/esm2020/core/shared/components/modal-dialog/modal-dialog.component.mjs +60 -0
  429. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +56 -0
  430. package/esm2020/core/shared/components/order-state-label/order-state-label.component.mjs +46 -0
  431. package/esm2020/core/shared/components/pagination-controls/pagination-controls.component.mjs +26 -0
  432. package/esm2020/core/shared/components/product-selector/product-selector.component.mjs +62 -0
  433. package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +37 -0
  434. package/esm2020/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +34 -0
  435. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/inputrules.js → esm2020/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs} +0 -0
  436. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/keymap.js → esm2020/core/shared/components/rich-text-editor/prosemirror/keymap.mjs} +0 -0
  437. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs} +0 -0
  438. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs} +0 -0
  439. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs} +0 -0
  440. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs} +0 -0
  441. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.js → esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs} +0 -0
  442. package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +112 -0
  443. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/types.js → esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs} +0 -0
  444. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/utils.js → esm2020/core/shared/components/rich-text-editor/prosemirror/utils.mjs} +0 -0
  445. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +93 -0
  446. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +32 -0
  447. package/esm2020/core/shared/components/simple-dialog/simple-dialog.component.mjs +24 -0
  448. package/esm2020/core/shared/components/status-badge/status-badge.component.mjs +16 -0
  449. package/esm2020/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +54 -0
  450. package/esm2020/core/shared/components/table-row-action/table-row-action.component.mjs +28 -0
  451. package/esm2020/core/shared/components/tag-selector/tag-selector.component.mjs +60 -0
  452. package/esm2020/core/shared/components/timeline-entry/timeline-entry.component.mjs +52 -0
  453. package/esm2020/core/shared/components/title-input/title-input.component.mjs +21 -0
  454. package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +34 -0
  455. package/esm2020/core/shared/directives/disabled.directive.mjs +41 -0
  456. package/esm2020/core/shared/directives/if-default-channel-active.directive.mjs +39 -0
  457. package/esm2020/core/shared/directives/if-directive-base.mjs +73 -0
  458. package/esm2020/core/shared/directives/if-multichannel.directive.mjs +45 -0
  459. package/esm2020/core/shared/directives/if-permissions.directive.mjs +76 -0
  460. package/esm2020/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +23 -0
  461. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +120 -0
  462. package/esm2020/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +31 -0
  463. package/esm2020/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +42 -0
  464. package/esm2020/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +32 -0
  465. package/esm2020/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +265 -0
  466. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +35 -0
  467. package/esm2020/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +39 -0
  468. package/esm2020/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +21 -0
  469. package/esm2020/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +61 -0
  470. package/{esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js → esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs} +0 -0
  471. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +69 -0
  472. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +70 -0
  473. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +89 -0
  474. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +89 -0
  475. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +60 -0
  476. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +28 -0
  477. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +14 -0
  478. package/esm2020/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +21 -0
  479. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +31 -0
  480. package/esm2020/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +28 -0
  481. package/esm2020/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +24 -0
  482. package/esm2020/core/shared/pipes/asset-preview.pipe.mjs +42 -0
  483. package/esm2020/core/shared/pipes/channel-label.pipe.mjs +23 -0
  484. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +47 -0
  485. package/esm2020/core/shared/pipes/duration.pipe.mjs +49 -0
  486. package/esm2020/core/shared/pipes/file-size.pipe.mjs +47 -0
  487. package/esm2020/core/shared/pipes/has-permission.pipe.mjs +65 -0
  488. package/esm2020/core/shared/pipes/locale-base.pipe.mjs +55 -0
  489. package/esm2020/core/shared/pipes/locale-currency-name.pipe.mjs +61 -0
  490. package/esm2020/core/shared/pipes/locale-currency.pipe.mjs +44 -0
  491. package/esm2020/core/shared/pipes/locale-date.pipe.mjs +84 -0
  492. package/esm2020/core/shared/pipes/locale-language-name.pipe.mjs +51 -0
  493. package/esm2020/core/shared/pipes/locale-region-name.pipe.mjs +51 -0
  494. package/esm2020/core/shared/pipes/sentence-case.pipe.mjs +30 -0
  495. package/esm2020/core/shared/pipes/sort.pipe.mjs +34 -0
  496. package/esm2020/core/shared/pipes/state-i18n-token.pipe.mjs +50 -0
  497. package/esm2020/core/shared/pipes/string-to-color.pipe.mjs +18 -0
  498. package/esm2020/core/shared/pipes/time-ago.pipe.mjs +52 -0
  499. package/esm2020/core/shared/providers/routing/can-deactivate-detail-guard.mjs +35 -0
  500. package/esm2020/core/shared/shared.module.mjs +520 -0
  501. package/{esm2015/core/validators/unicode-pattern.validator.js → esm2020/core/validators/unicode-pattern.validator.mjs} +0 -0
  502. package/{esm2015/core/vendure-admin-ui-core.js → esm2020/core/vendure-admin-ui-core.mjs} +0 -0
  503. package/esm2020/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +41 -0
  504. package/esm2020/customer/components/address-card/address-card.component.mjs +97 -0
  505. package/esm2020/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +28 -0
  506. package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +414 -0
  507. package/esm2020/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +45 -0
  508. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +181 -0
  509. package/esm2020/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +103 -0
  510. package/esm2020/customer/components/customer-history/customer-history.component.mjs +83 -0
  511. package/esm2020/customer/components/customer-list/customer-list.component.mjs +80 -0
  512. package/esm2020/customer/components/customer-status-label/customer-status-label.component.mjs +17 -0
  513. package/esm2020/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +31 -0
  514. package/esm2020/customer/customer.module.mjs +53 -0
  515. package/esm2020/customer/customer.routes.mjs +42 -0
  516. package/esm2020/customer/providers/routing/customer-resolver.mjs +31 -0
  517. package/{esm2015/customer/public_api.js → esm2020/customer/public_api.mjs} +0 -0
  518. package/{esm2015/customer/vendure-admin-ui-customer.js → esm2020/customer/vendure-admin-ui-customer.mjs} +0 -0
  519. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +121 -0
  520. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +35 -0
  521. package/esm2020/dashboard/dashboard.module.mjs +29 -0
  522. package/{esm2015/dashboard/dashboard.routes.js → esm2020/dashboard/dashboard.routes.mjs} +0 -0
  523. package/esm2020/dashboard/default-widgets.mjs +32 -0
  524. package/{esm2015/dashboard/public_api.js → esm2020/dashboard/public_api.mjs} +0 -0
  525. package/{esm2015/dashboard/vendure-admin-ui-dashboard.js → esm2020/dashboard/vendure-admin-ui-dashboard.mjs} +0 -0
  526. package/esm2020/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +45 -0
  527. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +59 -0
  528. package/esm2020/dashboard/widgets/test-widget/test-widget.component.mjs +22 -0
  529. package/esm2020/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +39 -0
  530. package/esm2020/login/components/login/login.component.mjs +62 -0
  531. package/esm2020/login/login.module.mjs +21 -0
  532. package/{esm2015/login/login.routes.js → esm2020/login/login.routes.mjs} +0 -0
  533. package/esm2020/login/providers/login.guard.mjs +31 -0
  534. package/{esm2015/login/public_api.js → esm2020/login/public_api.mjs} +0 -0
  535. package/{esm2015/login/vendure-admin-ui-login.js → esm2020/login/vendure-admin-ui-login.mjs} +0 -0
  536. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +242 -0
  537. package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +81 -0
  538. package/esm2020/marketing/marketing.module.mjs +21 -0
  539. package/esm2020/marketing/marketing.routes.mjs +33 -0
  540. package/esm2020/marketing/providers/routing/promotion-resolver.mjs +31 -0
  541. package/{esm2015/marketing/public_api.js → esm2020/marketing/public_api.mjs} +0 -0
  542. package/{esm2015/marketing/vendure-admin-ui-marketing.js → esm2020/marketing/vendure-admin-ui-marketing.mjs} +0 -0
  543. package/esm2020/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +39 -0
  544. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +78 -0
  545. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +73 -0
  546. package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +48 -0
  547. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +62 -0
  548. package/esm2020/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +28 -0
  549. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +68 -0
  550. package/esm2020/order/components/line-refunds/line-refunds.component.mjs +37 -0
  551. package/esm2020/order/components/modification-detail/modification-detail.component.mjs +68 -0
  552. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +40 -0
  553. package/esm2020/order/components/order-detail/order-detail.component.mjs +504 -0
  554. package/esm2020/order/components/order-editor/order-editor.component.mjs +365 -0
  555. package/esm2020/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +55 -0
  556. package/esm2020/order/components/order-history/order-history.component.mjs +166 -0
  557. package/esm2020/order/components/order-list/order-list.component.mjs +192 -0
  558. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +43 -0
  559. package/{esm2015/order/components/order-process-graph/constants.js → esm2020/order/components/order-process-graph/constants.mjs} +0 -0
  560. package/esm2020/order/components/order-process-graph/order-process-edge.component.mjs +45 -0
  561. package/esm2020/order/components/order-process-graph/order-process-graph.component.mjs +96 -0
  562. package/esm2020/order/components/order-process-graph/order-process-node.component.mjs +53 -0
  563. package/{esm2015/order/components/order-process-graph/types.js → esm2020/order/components/order-process-graph/types.mjs} +0 -0
  564. package/esm2020/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +21 -0
  565. package/esm2020/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +29 -0
  566. package/esm2020/order/components/order-table/order-table.component.mjs +73 -0
  567. package/esm2020/order/components/payment-detail/payment-detail.component.mjs +18 -0
  568. package/esm2020/order/components/payment-state-label/payment-state-label.component.mjs +28 -0
  569. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +138 -0
  570. package/esm2020/order/components/refund-state-label/refund-state-label.component.mjs +27 -0
  571. package/esm2020/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +24 -0
  572. package/esm2020/order/components/simple-item-list/simple-item-list.component.mjs +15 -0
  573. package/esm2020/order/order.module.mjs +103 -0
  574. package/esm2020/order/order.routes.mjs +52 -0
  575. package/esm2020/order/providers/order-transition.service.mjs +112 -0
  576. package/esm2020/order/providers/routing/order-resolver.mjs +29 -0
  577. package/{esm2015/order/public_api.js → esm2020/order/public_api.mjs} +0 -0
  578. package/{esm2015/order/vendure-admin-ui-order.js → esm2020/order/vendure-admin-ui-order.mjs} +0 -0
  579. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  580. package/esm2020/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +34 -0
  581. package/esm2020/settings/components/admin-detail/admin-detail.component.mjs +192 -0
  582. package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +49 -0
  583. package/esm2020/settings/components/channel-detail/channel-detail.component.mjs +154 -0
  584. package/esm2020/settings/components/channel-list/channel-list.component.mjs +53 -0
  585. package/esm2020/settings/components/country-detail/country-detail.component.mjs +115 -0
  586. package/esm2020/settings/components/country-list/country-list.component.mjs +84 -0
  587. package/esm2020/settings/components/global-settings/global-settings.component.mjs +85 -0
  588. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +199 -0
  589. package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +62 -0
  590. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +83 -0
  591. package/esm2020/settings/components/profile/profile.component.mjs +77 -0
  592. package/esm2020/settings/components/role-detail/role-detail.component.mjs +105 -0
  593. package/esm2020/settings/components/role-list/role-list.component.mjs +66 -0
  594. package/esm2020/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +30 -0
  595. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +240 -0
  596. package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +92 -0
  597. package/esm2020/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +30 -0
  598. package/esm2020/settings/components/tax-category-detail/tax-category-detail.component.mjs +107 -0
  599. package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +56 -0
  600. package/esm2020/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +126 -0
  601. package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +56 -0
  602. package/esm2020/settings/components/test-address-form/test-address-form.component.mjs +49 -0
  603. package/esm2020/settings/components/test-order-builder/test-order-builder.component.mjs +71 -0
  604. package/esm2020/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +44 -0
  605. package/esm2020/settings/components/zone-list/zone-list.component.mjs +158 -0
  606. package/esm2020/settings/components/zone-member-list/zone-member-controls.directive.mjs +16 -0
  607. package/esm2020/settings/components/zone-member-list/zone-member-list-header.directive.mjs +16 -0
  608. package/esm2020/settings/components/zone-member-list/zone-member-list.component.mjs +72 -0
  609. package/esm2020/settings/providers/routing/administrator-resolver.mjs +28 -0
  610. package/esm2020/settings/providers/routing/channel-resolver.mjs +34 -0
  611. package/esm2020/settings/providers/routing/country-resolver.mjs +31 -0
  612. package/esm2020/settings/providers/routing/global-settings-resolver.mjs +24 -0
  613. package/esm2020/settings/providers/routing/payment-method-resolver.mjs +33 -0
  614. package/esm2020/settings/providers/routing/profile-resolver.mjs +30 -0
  615. package/esm2020/settings/providers/routing/role-resolver.mjs +28 -0
  616. package/esm2020/settings/providers/routing/shipping-method-resolver.mjs +34 -0
  617. package/esm2020/settings/providers/routing/tax-category-resolver.mjs +29 -0
  618. package/esm2020/settings/providers/routing/tax-rate-resolver.mjs +33 -0
  619. package/{esm2015/settings/public_api.js → esm2020/settings/public_api.mjs} +0 -0
  620. package/esm2020/settings/settings.module.mjs +106 -0
  621. package/esm2020/settings/settings.routes.mjs +253 -0
  622. package/{esm2015/settings/vendure-admin-ui-settings.js → esm2020/settings/vendure-admin-ui-settings.mjs} +0 -0
  623. package/esm2020/system/components/health-check/health-check.component.mjs +18 -0
  624. package/esm2020/system/components/job-list/job-list.component.mjs +76 -0
  625. package/esm2020/system/components/job-state-label/job-state-label.component.mjs +46 -0
  626. package/{esm2015/system/public_api.js → esm2020/system/public_api.mjs} +0 -0
  627. package/esm2020/system/system.module.mjs +22 -0
  628. package/esm2020/system/system.routes.mjs +20 -0
  629. package/{esm2015/system/vendure-admin-ui-system.js → esm2020/system/vendure-admin-ui-system.mjs} +0 -0
  630. package/{esm2015/vendure-admin-ui.js → esm2020/vendure-admin-ui.mjs} +0 -0
  631. package/fesm2015/vendure-admin-ui-catalog.mjs +3732 -0
  632. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -0
  633. package/fesm2015/vendure-admin-ui-core.mjs +15998 -0
  634. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -0
  635. package/fesm2015/vendure-admin-ui-customer.mjs +1134 -0
  636. package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -0
  637. package/fesm2015/vendure-admin-ui-dashboard.mjs +365 -0
  638. package/fesm2015/vendure-admin-ui-dashboard.mjs.map +1 -0
  639. package/fesm2015/vendure-admin-ui-login.mjs +122 -0
  640. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -0
  641. package/fesm2015/vendure-admin-ui-marketing.mjs +388 -0
  642. package/fesm2015/vendure-admin-ui-marketing.mjs.map +1 -0
  643. package/fesm2015/vendure-admin-ui-order.mjs +2448 -0
  644. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -0
  645. package/fesm2015/vendure-admin-ui-settings.mjs +2784 -0
  646. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -0
  647. package/fesm2015/vendure-admin-ui-system.mjs +165 -0
  648. package/fesm2015/vendure-admin-ui-system.mjs.map +1 -0
  649. package/fesm2015/{vendure-admin-ui.js → vendure-admin-ui.mjs} +1 -1
  650. package/fesm2015/vendure-admin-ui.mjs.map +1 -0
  651. package/fesm2020/vendure-admin-ui-catalog.mjs +3747 -0
  652. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -0
  653. package/fesm2020/vendure-admin-ui-core.mjs +15994 -0
  654. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -0
  655. package/fesm2020/vendure-admin-ui-customer.mjs +1135 -0
  656. package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -0
  657. package/fesm2020/vendure-admin-ui-dashboard.mjs +361 -0
  658. package/fesm2020/vendure-admin-ui-dashboard.mjs.map +1 -0
  659. package/fesm2020/vendure-admin-ui-login.mjs +122 -0
  660. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -0
  661. package/fesm2020/vendure-admin-ui-marketing.mjs +388 -0
  662. package/fesm2020/vendure-admin-ui-marketing.mjs.map +1 -0
  663. package/fesm2020/vendure-admin-ui-order.mjs +2462 -0
  664. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -0
  665. package/fesm2020/vendure-admin-ui-settings.mjs +2791 -0
  666. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -0
  667. package/fesm2020/vendure-admin-ui-system.mjs +168 -0
  668. package/fesm2020/vendure-admin-ui-system.mjs.map +1 -0
  669. package/fesm2020/vendure-admin-ui.mjs +11 -0
  670. package/fesm2020/vendure-admin-ui.mjs.map +1 -0
  671. package/login/components/login/login.component.d.ts +3 -0
  672. package/login/login.module.d.ts +7 -0
  673. package/login/package.json +5 -6
  674. package/login/providers/login.guard.d.ts +3 -0
  675. package/login/vendure-admin-ui-login.d.ts +1 -0
  676. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +7 -4
  677. package/marketing/components/promotion-list/promotion-list.component.d.ts +5 -6
  678. package/marketing/marketing.module.d.ts +8 -0
  679. package/marketing/package.json +5 -6
  680. package/marketing/providers/routing/promotion-resolver.d.ts +5 -2
  681. package/marketing/vendure-admin-ui-marketing.d.ts +1 -0
  682. package/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +5 -2
  683. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +6 -0
  684. package/order/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +6 -3
  685. package/order/components/fulfillment-card/fulfillment-card.component.d.ts +6 -3
  686. package/order/components/fulfillment-detail/fulfillment-detail.component.d.ts +6 -3
  687. package/order/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +3 -0
  688. package/order/components/line-fulfillment/line-fulfillment.component.d.ts +8 -3
  689. package/order/components/line-refunds/line-refunds.component.d.ts +6 -3
  690. package/order/components/modification-detail/modification-detail.component.d.ts +13 -4
  691. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +3 -0
  692. package/order/components/order-detail/order-detail.component.d.ts +15 -10
  693. package/order/components/order-editor/order-editor.component.d.ts +16 -12
  694. package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +6 -3
  695. package/order/components/order-history/order-history.component.d.ts +36 -20
  696. package/order/components/order-list/order-list.component.d.ts +5 -2
  697. package/order/components/order-payment-card/order-payment-card.component.d.ts +48 -14
  698. package/order/components/order-process-graph/order-process-edge.component.d.ts +3 -0
  699. package/order/components/order-process-graph/order-process-graph.component.d.ts +3 -0
  700. package/order/components/order-process-graph/order-process-node.component.d.ts +3 -0
  701. package/order/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +3 -0
  702. package/order/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +3 -0
  703. package/order/components/order-table/order-table.component.d.ts +14 -8
  704. package/order/components/payment-detail/payment-detail.component.d.ts +5 -2
  705. package/order/components/payment-state-label/payment-state-label.component.d.ts +3 -0
  706. package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +8 -4
  707. package/order/components/refund-state-label/refund-state-label.component.d.ts +3 -0
  708. package/order/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +5 -3
  709. package/order/components/simple-item-list/simple-item-list.component.d.ts +3 -0
  710. package/order/order.module.d.ts +34 -0
  711. package/order/package.json +5 -6
  712. package/order/providers/order-transition.service.d.ts +3 -0
  713. package/order/providers/routing/order-resolver.d.ts +5 -4
  714. package/order/vendure-admin-ui-order.d.ts +1 -0
  715. package/package.json +120 -36
  716. package/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +6 -3
  717. package/settings/components/admin-detail/admin-detail.component.d.ts +9 -10
  718. package/settings/components/administrator-list/administrator-list.component.d.ts +6 -3
  719. package/settings/components/channel-detail/channel-detail.component.d.ts +7 -8
  720. package/settings/components/channel-list/channel-list.component.d.ts +5 -5
  721. package/settings/components/country-detail/country-detail.component.d.ts +7 -4
  722. package/settings/components/country-list/country-list.component.d.ts +7 -4
  723. package/settings/components/global-settings/global-settings.component.d.ts +3 -0
  724. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +6 -3
  725. package/settings/components/payment-method-list/payment-method-list.component.d.ts +5 -2
  726. package/settings/components/permission-grid/permission-grid.component.d.ts +3 -0
  727. package/settings/components/profile/profile.component.d.ts +5 -2
  728. package/settings/components/role-detail/role-detail.component.d.ts +3 -0
  729. package/settings/components/role-list/role-list.component.d.ts +8 -5
  730. package/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +3 -0
  731. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +7 -4
  732. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +6 -3
  733. package/settings/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +3 -0
  734. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +7 -8
  735. package/settings/components/tax-category-list/tax-category-list.component.d.ts +6 -6
  736. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +8 -5
  737. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +6 -7
  738. package/settings/components/test-address-form/test-address-form.component.d.ts +5 -2
  739. package/settings/components/test-order-builder/test-order-builder.component.d.ts +7 -2
  740. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +3 -0
  741. package/settings/components/zone-list/zone-list.component.d.ts +10 -7
  742. package/settings/components/zone-member-list/zone-member-controls.directive.d.ts +3 -0
  743. package/settings/components/zone-member-list/zone-member-list-header.directive.d.ts +3 -0
  744. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -0
  745. package/settings/package.json +5 -6
  746. package/settings/providers/routing/administrator-resolver.d.ts +5 -4
  747. package/settings/providers/routing/channel-resolver.d.ts +5 -4
  748. package/settings/providers/routing/country-resolver.d.ts +5 -4
  749. package/settings/providers/routing/global-settings-resolver.d.ts +5 -4
  750. package/settings/providers/routing/payment-method-resolver.d.ts +5 -4
  751. package/settings/providers/routing/profile-resolver.d.ts +5 -4
  752. package/settings/providers/routing/role-resolver.d.ts +5 -4
  753. package/settings/providers/routing/shipping-method-resolver.d.ts +5 -4
  754. package/settings/providers/routing/tax-category-resolver.d.ts +5 -2
  755. package/settings/providers/routing/tax-rate-resolver.d.ts +5 -2
  756. package/settings/settings.module.d.ts +35 -0
  757. package/settings/vendure-admin-ui-settings.d.ts +1 -0
  758. package/static/i18n-messages/cs.json +5 -1
  759. package/static/i18n-messages/de.json +5 -1
  760. package/static/i18n-messages/en.json +6 -2
  761. package/static/i18n-messages/es.json +5 -1
  762. package/static/i18n-messages/fr.json +5 -1
  763. package/static/i18n-messages/it.json +5 -1
  764. package/static/i18n-messages/pl.json +5 -1
  765. package/static/i18n-messages/pt_BR.json +5 -1
  766. package/static/i18n-messages/pt_PT.json +5 -1
  767. package/static/i18n-messages/ru.json +5 -1
  768. package/static/i18n-messages/uk.json +5 -1
  769. package/static/i18n-messages/zh_Hans.json +5 -1
  770. package/static/i18n-messages/zh_Hant.json +5 -1
  771. package/static/polyfills.ts +0 -10
  772. package/static/styles/styles.scss +1 -1
  773. package/static/theme.min.css +1 -1
  774. package/system/components/health-check/health-check.component.d.ts +3 -0
  775. package/system/components/job-list/job-list.component.d.ts +7 -4
  776. package/system/components/job-state-label/job-state-label.component.d.ts +3 -0
  777. package/system/package.json +5 -6
  778. package/system/system.module.d.ts +9 -0
  779. package/system/vendure-admin-ui-system.d.ts +1 -0
  780. package/vendure-admin-ui.d.ts +1 -0
  781. package/bundles/vendure-admin-ui-catalog.umd.js +0 -4638
  782. package/bundles/vendure-admin-ui-catalog.umd.js.map +0 -1
  783. package/bundles/vendure-admin-ui-core.umd.js +0 -14759
  784. package/bundles/vendure-admin-ui-core.umd.js.map +0 -1
  785. package/bundles/vendure-admin-ui-customer.umd.js +0 -1626
  786. package/bundles/vendure-admin-ui-customer.umd.js.map +0 -1
  787. package/bundles/vendure-admin-ui-dashboard.umd.js +0 -757
  788. package/bundles/vendure-admin-ui-dashboard.umd.js.map +0 -1
  789. package/bundles/vendure-admin-ui-login.umd.js +0 -157
  790. package/bundles/vendure-admin-ui-login.umd.js.map +0 -1
  791. package/bundles/vendure-admin-ui-marketing.umd.js +0 -783
  792. package/bundles/vendure-admin-ui-marketing.umd.js.map +0 -1
  793. package/bundles/vendure-admin-ui-order.umd.js +0 -3287
  794. package/bundles/vendure-admin-ui-order.umd.js.map +0 -1
  795. package/bundles/vendure-admin-ui-settings.umd.js +0 -3697
  796. package/bundles/vendure-admin-ui-settings.umd.js.map +0 -1
  797. package/bundles/vendure-admin-ui-system.umd.js +0 -524
  798. package/bundles/vendure-admin-ui-system.umd.js.map +0 -1
  799. package/bundles/vendure-admin-ui.umd.js +0 -21
  800. package/bundles/vendure-admin-ui.umd.js.map +0 -1
  801. package/catalog/vendure-admin-ui-catalog.metadata.json +0 -1
  802. package/core/vendure-admin-ui-core.metadata.json +0 -1
  803. package/customer/vendure-admin-ui-customer.metadata.json +0 -1
  804. package/dashboard/vendure-admin-ui-dashboard.metadata.json +0 -1
  805. package/esm2015/catalog/catalog.module.js +0 -64
  806. package/esm2015/catalog/catalog.routes.js +0 -176
  807. package/esm2015/catalog/components/apply-facet-dialog/apply-facet-dialog.component.js +0 -32
  808. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +0 -74
  809. package/esm2015/catalog/components/asset-list/asset-list.component.js +0 -119
  810. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +0 -109
  811. package/esm2015/catalog/components/collection-contents/collection-contents.component.js +0 -78
  812. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +0 -206
  813. package/esm2015/catalog/components/collection-list/collection-list.component.js +0 -119
  814. package/esm2015/catalog/components/collection-tree/array-to-tree.js +0 -57
  815. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +0 -94
  816. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +0 -74
  817. package/esm2015/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.js +0 -21
  818. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +0 -326
  819. package/esm2015/catalog/components/facet-list/facet-list.component.js +0 -107
  820. package/esm2015/catalog/components/generate-product-variants/generate-product-variants.component.js +0 -78
  821. package/esm2015/catalog/components/option-value-input/option-value-input.component.js +0 -98
  822. package/esm2015/catalog/components/product-assets/product-assets.component.js +0 -108
  823. package/esm2015/catalog/components/product-detail/product-detail.component.js +0 -514
  824. package/esm2015/catalog/components/product-list/product-list.component.js +0 -153
  825. package/esm2015/catalog/components/product-options-editor/product-options-editor.component.js +0 -157
  826. package/esm2015/catalog/components/product-search-input/product-search-input.component.js +0 -104
  827. package/esm2015/catalog/components/product-variants-editor/product-variants-editor.component.js +0 -316
  828. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +0 -207
  829. package/esm2015/catalog/components/product-variants-table/product-variants-table.component.js +0 -66
  830. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +0 -61
  831. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +0 -60
  832. package/esm2015/catalog/providers/product-detail/product-detail.service.js +0 -224
  833. package/esm2015/catalog/providers/routing/asset-resolver.js +0 -37
  834. package/esm2015/catalog/providers/routing/collection-resolver.js +0 -38
  835. package/esm2015/catalog/providers/routing/facet-resolver.js +0 -35
  836. package/esm2015/catalog/providers/routing/product-resolver.js +0 -42
  837. package/esm2015/catalog/providers/routing/product-variants-resolver.js +0 -31
  838. package/esm2015/catalog/public_api.js +0 -36
  839. package/esm2015/core/app.component.js +0 -80
  840. package/esm2015/core/app.component.module.js +0 -14
  841. package/esm2015/core/common/base-detail.component.js +0 -106
  842. package/esm2015/core/common/base-list.component.js +0 -156
  843. package/esm2015/core/common/generated-types.js +0 -953
  844. package/esm2015/core/common/introspection-result.js +0 -253
  845. package/esm2015/core/common/utilities/configurable-operation-utils.js +0 -78
  846. package/esm2015/core/common/utilities/create-updated-translatable.js +0 -72
  847. package/esm2015/core/common/utilities/find-translation.js +0 -9
  848. package/esm2015/core/common/utilities/flatten-facet-values.js +0 -4
  849. package/esm2015/core/common/utilities/get-default-ui-language.js +0 -13
  850. package/esm2015/core/components/app-shell/app-shell.component.js +0 -78
  851. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +0 -126
  852. package/esm2015/core/components/channel-switcher/channel-switcher.component.js +0 -52
  853. package/esm2015/core/components/main-nav/main-nav.component.js +0 -272
  854. package/esm2015/core/components/notification/notification.component.js +0 -71
  855. package/esm2015/core/components/overlay-host/overlay-host.component.js +0 -22
  856. package/esm2015/core/components/theme-switcher/theme-switcher.component.js +0 -31
  857. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +0 -294
  858. package/esm2015/core/components/user-menu/user-menu.component.js +0 -24
  859. package/esm2015/core/core.module.js +0 -115
  860. package/esm2015/core/data/client-state/client-resolvers.js +0 -123
  861. package/esm2015/core/data/data.module.js +0 -106
  862. package/esm2015/core/data/definitions/customer-definitions.js +0 -258
  863. package/esm2015/core/data/providers/administrator-data.service.js +0 -55
  864. package/esm2015/core/data/providers/auth-data.service.js +0 -20
  865. package/esm2015/core/data/providers/base-data.service.js +0 -72
  866. package/esm2015/core/data/providers/client-data.service.js +0 -75
  867. package/esm2015/core/data/providers/collection-data.service.js +0 -72
  868. package/esm2015/core/data/providers/customer-data.service.js +0 -114
  869. package/esm2015/core/data/providers/data.service.js +0 -90
  870. package/esm2015/core/data/providers/facet-data.service.js +0 -60
  871. package/esm2015/core/data/providers/fetch-adapter.js +0 -38
  872. package/esm2015/core/data/providers/interceptor.js +0 -142
  873. package/esm2015/core/data/providers/order-data.service.js +0 -98
  874. package/esm2015/core/data/providers/product-data.service.js +0 -232
  875. package/esm2015/core/data/providers/promotion-data.service.js +0 -36
  876. package/esm2015/core/data/providers/settings-data.service.js +0 -231
  877. package/esm2015/core/data/providers/shipping-method-data.service.js +0 -66
  878. package/esm2015/core/data/server-config.js +0 -76
  879. package/esm2015/core/data/utils/add-custom-fields.js +0 -78
  880. package/esm2015/core/data/utils/transform-relation-custom-field-inputs.js +0 -46
  881. package/esm2015/core/providers/auth/auth.service.js +0 -110
  882. package/esm2015/core/providers/component-registry/component-registry.service.js +0 -23
  883. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +0 -44
  884. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +0 -47
  885. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +0 -97
  886. package/esm2015/core/providers/guard/auth.guard.js +0 -42
  887. package/esm2015/core/providers/health-check/health-check.service.js +0 -38
  888. package/esm2015/core/providers/i18n/custom-message-format-compiler.js +0 -30
  889. package/esm2015/core/providers/i18n/i18n.service.js +0 -56
  890. package/esm2015/core/providers/job-queue/job-queue.service.js +0 -93
  891. package/esm2015/core/providers/local-storage/local-storage.service.js +0 -79
  892. package/esm2015/core/providers/modal/modal.service.js +0 -100
  893. package/esm2015/core/providers/nav-builder/nav-builder.service.js +0 -264
  894. package/esm2015/core/providers/notification/notification.service.js +0 -165
  895. package/esm2015/core/providers/overlay-host/overlay-host.service.js +0 -46
  896. package/esm2015/core/public_api.js +0 -217
  897. package/esm2015/core/shared/components/action-bar/action-bar.component.js +0 -47
  898. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +0 -78
  899. package/esm2015/core/shared/components/address-form/address-form.component.js +0 -17
  900. package/esm2015/core/shared/components/affixed-input/affixed-input.component.js +0 -19
  901. package/esm2015/core/shared/components/affixed-input/percentage-suffix-input.component.js +0 -70
  902. package/esm2015/core/shared/components/asset-file-input/asset-file-input.component.js +0 -92
  903. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +0 -102
  904. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +0 -138
  905. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +0 -176
  906. package/esm2015/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.js +0 -35
  907. package/esm2015/core/shared/components/asset-search-input/asset-search-input.component.js +0 -102
  908. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +0 -109
  909. package/esm2015/core/shared/components/channel-badge/channel-badge.component.js +0 -19
  910. package/esm2015/core/shared/components/chip/chip.component.js +0 -42
  911. package/esm2015/core/shared/components/configurable-input/configurable-input.component.js +0 -128
  912. package/esm2015/core/shared/components/currency-input/currency-input.component.js +0 -145
  913. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +0 -44
  914. package/esm2015/core/shared/components/custom-field-control/custom-field-control.component.js +0 -55
  915. package/esm2015/core/shared/components/customer-label/customer-label.component.js +0 -15
  916. package/esm2015/core/shared/components/data-table/data-table-column.component.js +0 -22
  917. package/esm2015/core/shared/components/data-table/data-table.component.js +0 -106
  918. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +0 -205
  919. package/esm2015/core/shared/components/datetime-picker/datetime-picker.service.js +0 -199
  920. package/esm2015/core/shared/components/dropdown/dropdown-item.directive.js +0 -24
  921. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +0 -121
  922. package/esm2015/core/shared/components/dropdown/dropdown-trigger.directive.js +0 -25
  923. package/esm2015/core/shared/components/dropdown/dropdown.component.js +0 -60
  924. package/esm2015/core/shared/components/edit-note-dialog/edit-note-dialog.component.js +0 -26
  925. package/esm2015/core/shared/components/empty-placeholder/empty-placeholder.component.js +0 -15
  926. package/esm2015/core/shared/components/entity-info/entity-info.component.js +0 -19
  927. package/esm2015/core/shared/components/extension-host/extension-host.component.js +0 -83
  928. package/esm2015/core/shared/components/extension-host/extension-host.service.js +0 -100
  929. package/esm2015/core/shared/components/facet-value-chip/facet-value-chip.component.js +0 -23
  930. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +0 -114
  931. package/esm2015/core/shared/components/focal-point-control/focal-point-control.component.js +0 -56
  932. package/esm2015/core/shared/components/form-field/form-field-control.directive.js +0 -35
  933. package/esm2015/core/shared/components/form-field/form-field.component.js +0 -61
  934. package/esm2015/core/shared/components/form-item/form-item.component.js +0 -19
  935. package/esm2015/core/shared/components/formatted-address/formatted-address.component.js +0 -37
  936. package/esm2015/core/shared/components/help-tooltip/help-tooltip.component.js +0 -16
  937. package/esm2015/core/shared/components/history-entry-detail/history-entry-detail.component.js +0 -12
  938. package/esm2015/core/shared/components/items-per-page-controls/items-per-page-controls.component.js +0 -23
  939. package/esm2015/core/shared/components/labeled-data/labeled-data.component.js +0 -15
  940. package/esm2015/core/shared/components/language-selector/language-selector.component.js +0 -21
  941. package/esm2015/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.js +0 -58
  942. package/esm2015/core/shared/components/modal-dialog/dialog-buttons.directive.js +0 -23
  943. package/esm2015/core/shared/components/modal-dialog/dialog-component-outlet.component.js +0 -31
  944. package/esm2015/core/shared/components/modal-dialog/dialog-title.directive.js +0 -23
  945. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +0 -57
  946. package/esm2015/core/shared/components/object-tree/object-tree.component.js +0 -53
  947. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +0 -43
  948. package/esm2015/core/shared/components/pagination-controls/pagination-controls.component.js +0 -22
  949. package/esm2015/core/shared/components/product-selector/product-selector.component.js +0 -61
  950. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +0 -32
  951. package/esm2015/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.js +0 -28
  952. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +0 -112
  953. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +0 -86
  954. package/esm2015/core/shared/components/select-toggle/select-toggle.component.js +0 -28
  955. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +0 -21
  956. package/esm2015/core/shared/components/status-badge/status-badge.component.js +0 -18
  957. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +0 -49
  958. package/esm2015/core/shared/components/table-row-action/table-row-action.component.js +0 -23
  959. package/esm2015/core/shared/components/tag-selector/tag-selector.component.js +0 -55
  960. package/esm2015/core/shared/components/timeline-entry/timeline-entry.component.js +0 -40
  961. package/esm2015/core/shared/components/title-input/title-input.component.js +0 -18
  962. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +0 -31
  963. package/esm2015/core/shared/directives/disabled.directive.js +0 -38
  964. package/esm2015/core/shared/directives/if-default-channel-active.directive.js +0 -42
  965. package/esm2015/core/shared/directives/if-directive-base.js +0 -75
  966. package/esm2015/core/shared/directives/if-multichannel.directive.js +0 -47
  967. package/esm2015/core/shared/directives/if-permissions.directive.js +0 -78
  968. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +0 -20
  969. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +0 -125
  970. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +0 -33
  971. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +0 -43
  972. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +0 -35
  973. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +0 -266
  974. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +0 -36
  975. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +0 -43
  976. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +0 -20
  977. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +0 -60
  978. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.js +0 -69
  979. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.js +0 -66
  980. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.js +0 -81
  981. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.js +0 -81
  982. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.js +0 -43
  983. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +0 -25
  984. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.js +0 -12
  985. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +0 -20
  986. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +0 -28
  987. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +0 -28
  988. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +0 -23
  989. package/esm2015/core/shared/pipes/asset-preview.pipe.js +0 -38
  990. package/esm2015/core/shared/pipes/channel-label.pipe.js +0 -19
  991. package/esm2015/core/shared/pipes/custom-field-label.pipe.js +0 -46
  992. package/esm2015/core/shared/pipes/duration.pipe.js +0 -48
  993. package/esm2015/core/shared/pipes/file-size.pipe.js +0 -43
  994. package/esm2015/core/shared/pipes/has-permission.pipe.js +0 -65
  995. package/esm2015/core/shared/pipes/locale-base.pipe.js +0 -57
  996. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +0 -58
  997. package/esm2015/core/shared/pipes/locale-currency.pipe.js +0 -40
  998. package/esm2015/core/shared/pipes/locale-date.pipe.js +0 -80
  999. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +0 -47
  1000. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +0 -47
  1001. package/esm2015/core/shared/pipes/sentence-case.pipe.js +0 -26
  1002. package/esm2015/core/shared/pipes/sort.pipe.js +0 -30
  1003. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +0 -46
  1004. package/esm2015/core/shared/pipes/string-to-color.pipe.js +0 -14
  1005. package/esm2015/core/shared/pipes/time-ago.pipe.js +0 -51
  1006. package/esm2015/core/shared/providers/routing/can-deactivate-detail-guard.js +0 -36
  1007. package/esm2015/core/shared/shared.module.js +0 -263
  1008. package/esm2015/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.js +0 -42
  1009. package/esm2015/customer/components/address-card/address-card.component.js +0 -86
  1010. package/esm2015/customer/components/address-detail-dialog/address-detail-dialog.component.js +0 -28
  1011. package/esm2015/customer/components/customer-detail/customer-detail.component.js +0 -393
  1012. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +0 -47
  1013. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +0 -184
  1014. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +0 -101
  1015. package/esm2015/customer/components/customer-history/customer-history.component.js +0 -76
  1016. package/esm2015/customer/components/customer-list/customer-list.component.js +0 -78
  1017. package/esm2015/customer/components/customer-status-label/customer-status-label.component.js +0 -15
  1018. package/esm2015/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.js +0 -31
  1019. package/esm2015/customer/customer.module.js +0 -37
  1020. package/esm2015/customer/customer.routes.js +0 -44
  1021. package/esm2015/customer/providers/routing/customer-resolver.js +0 -35
  1022. package/esm2015/dashboard/components/dashboard/dashboard.component.js +0 -124
  1023. package/esm2015/dashboard/components/dashboard-widget/dashboard-widget.component.js +0 -39
  1024. package/esm2015/dashboard/dashboard.module.js +0 -25
  1025. package/esm2015/dashboard/default-widgets.js +0 -34
  1026. package/esm2015/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.js +0 -42
  1027. package/esm2015/dashboard/widgets/order-summary-widget/order-summary-widget.component.js +0 -56
  1028. package/esm2015/dashboard/widgets/test-widget/test-widget.component.js +0 -19
  1029. package/esm2015/dashboard/widgets/welcome-widget/welcome-widget.component.js +0 -36
  1030. package/esm2015/login/components/login/login.component.js +0 -61
  1031. package/esm2015/login/login.module.js +0 -15
  1032. package/esm2015/login/providers/login.guard.js +0 -35
  1033. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +0 -247
  1034. package/esm2015/marketing/components/promotion-list/promotion-list.component.js +0 -87
  1035. package/esm2015/marketing/marketing.module.js +0 -15
  1036. package/esm2015/marketing/marketing.routes.js +0 -35
  1037. package/esm2015/marketing/providers/routing/promotion-resolver.js +0 -34
  1038. package/esm2015/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +0 -39
  1039. package/esm2015/order/components/cancel-order-dialog/cancel-order-dialog.component.js +0 -52
  1040. package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +0 -71
  1041. package/esm2015/order/components/fulfillment-card/fulfillment-card.component.js +0 -43
  1042. package/esm2015/order/components/fulfillment-detail/fulfillment-detail.component.js +0 -64
  1043. package/esm2015/order/components/fulfillment-state-label/fulfillment-state-label.component.js +0 -26
  1044. package/esm2015/order/components/line-fulfillment/line-fulfillment.component.js +0 -65
  1045. package/esm2015/order/components/line-refunds/line-refunds.component.js +0 -35
  1046. package/esm2015/order/components/modification-detail/modification-detail.component.js +0 -66
  1047. package/esm2015/order/components/order-custom-fields-card/order-custom-fields-card.component.js +0 -39
  1048. package/esm2015/order/components/order-detail/order-detail.component.js +0 -509
  1049. package/esm2015/order/components/order-editor/order-editor.component.js +0 -362
  1050. package/esm2015/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +0 -50
  1051. package/esm2015/order/components/order-history/order-history.component.js +0 -154
  1052. package/esm2015/order/components/order-list/order-list.component.js +0 -188
  1053. package/esm2015/order/components/order-payment-card/order-payment-card.component.js +0 -33
  1054. package/esm2015/order/components/order-process-graph/order-process-edge.component.js +0 -37
  1055. package/esm2015/order/components/order-process-graph/order-process-graph.component.js +0 -94
  1056. package/esm2015/order/components/order-process-graph/order-process-node.component.js +0 -53
  1057. package/esm2015/order/components/order-process-graph-dialog/order-process-graph-dialog.component.js +0 -23
  1058. package/esm2015/order/components/order-state-select-dialog/order-state-select-dialog.component.js +0 -25
  1059. package/esm2015/order/components/order-table/order-table.component.js +0 -68
  1060. package/esm2015/order/components/payment-detail/payment-detail.component.js +0 -16
  1061. package/esm2015/order/components/payment-state-label/payment-state-label.component.js +0 -26
  1062. package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +0 -133
  1063. package/esm2015/order/components/refund-state-label/refund-state-label.component.js +0 -25
  1064. package/esm2015/order/components/settle-refund-dialog/settle-refund-dialog.component.js +0 -21
  1065. package/esm2015/order/components/simple-item-list/simple-item-list.component.js +0 -15
  1066. package/esm2015/order/order.module.js +0 -70
  1067. package/esm2015/order/order.routes.js +0 -54
  1068. package/esm2015/order/providers/order-transition.service.js +0 -116
  1069. package/esm2015/order/providers/routing/order-resolver.js +0 -33
  1070. package/esm2015/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.js +0 -35
  1071. package/esm2015/settings/components/admin-detail/admin-detail.component.js +0 -199
  1072. package/esm2015/settings/components/administrator-list/administrator-list.component.js +0 -52
  1073. package/esm2015/settings/components/channel-detail/channel-detail.component.js +0 -163
  1074. package/esm2015/settings/components/channel-list/channel-list.component.js +0 -57
  1075. package/esm2015/settings/components/country-detail/country-detail.component.js +0 -120
  1076. package/esm2015/settings/components/country-list/country-list.component.js +0 -82
  1077. package/esm2015/settings/components/global-settings/global-settings.component.js +0 -89
  1078. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +0 -204
  1079. package/esm2015/settings/components/payment-method-list/payment-method-list.component.js +0 -66
  1080. package/esm2015/settings/components/permission-grid/permission-grid.component.js +0 -80
  1081. package/esm2015/settings/components/profile/profile.component.js +0 -82
  1082. package/esm2015/settings/components/role-detail/role-detail.component.js +0 -109
  1083. package/esm2015/settings/components/role-list/role-list.component.js +0 -73
  1084. package/esm2015/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.js +0 -24
  1085. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +0 -235
  1086. package/esm2015/settings/components/shipping-method-list/shipping-method-list.component.js +0 -94
  1087. package/esm2015/settings/components/shipping-method-test-result/shipping-method-test-result.component.js +0 -24
  1088. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +0 -115
  1089. package/esm2015/settings/components/tax-category-list/tax-category-list.component.js +0 -60
  1090. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +0 -131
  1091. package/esm2015/settings/components/tax-rate-list/tax-rate-list.component.js +0 -64
  1092. package/esm2015/settings/components/test-address-form/test-address-form.component.js +0 -53
  1093. package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +0 -73
  1094. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +0 -47
  1095. package/esm2015/settings/components/zone-list/zone-list.component.js +0 -160
  1096. package/esm2015/settings/components/zone-member-list/zone-member-controls.directive.js +0 -15
  1097. package/esm2015/settings/components/zone-member-list/zone-member-list-header.directive.js +0 -15
  1098. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +0 -63
  1099. package/esm2015/settings/providers/routing/administrator-resolver.js +0 -32
  1100. package/esm2015/settings/providers/routing/channel-resolver.js +0 -40
  1101. package/esm2015/settings/providers/routing/country-resolver.js +0 -35
  1102. package/esm2015/settings/providers/routing/global-settings-resolver.js +0 -28
  1103. package/esm2015/settings/providers/routing/payment-method-resolver.js +0 -37
  1104. package/esm2015/settings/providers/routing/profile-resolver.js +0 -34
  1105. package/esm2015/settings/providers/routing/role-resolver.js +0 -32
  1106. package/esm2015/settings/providers/routing/shipping-method-resolver.js +0 -38
  1107. package/esm2015/settings/providers/routing/tax-category-resolver.js +0 -32
  1108. package/esm2015/settings/providers/routing/tax-rate-resolver.js +0 -36
  1109. package/esm2015/settings/settings.module.js +0 -72
  1110. package/esm2015/settings/settings.routes.js +0 -255
  1111. package/esm2015/system/components/health-check/health-check.component.js +0 -19
  1112. package/esm2015/system/components/job-list/job-list.component.js +0 -74
  1113. package/esm2015/system/components/job-state-label/job-state-label.component.js +0 -45
  1114. package/esm2015/system/system.module.js +0 -16
  1115. package/esm2015/system/system.routes.js +0 -22
  1116. package/fesm2015/vendure-admin-ui-catalog.js +0 -3800
  1117. package/fesm2015/vendure-admin-ui-catalog.js.map +0 -1
  1118. package/fesm2015/vendure-admin-ui-core.js +0 -15757
  1119. package/fesm2015/vendure-admin-ui-core.js.map +0 -1
  1120. package/fesm2015/vendure-admin-ui-customer.js +0 -1140
  1121. package/fesm2015/vendure-admin-ui-customer.js.map +0 -1
  1122. package/fesm2015/vendure-admin-ui-dashboard.js +0 -371
  1123. package/fesm2015/vendure-admin-ui-dashboard.js.map +0 -1
  1124. package/fesm2015/vendure-admin-ui-login.js +0 -121
  1125. package/fesm2015/vendure-admin-ui-login.js.map +0 -1
  1126. package/fesm2015/vendure-admin-ui-marketing.js +0 -403
  1127. package/fesm2015/vendure-admin-ui-marketing.js.map +0 -1
  1128. package/fesm2015/vendure-admin-ui-order.js +0 -2492
  1129. package/fesm2015/vendure-admin-ui-order.js.map +0 -1
  1130. package/fesm2015/vendure-admin-ui-settings.js +0 -2975
  1131. package/fesm2015/vendure-admin-ui-settings.js.map +0 -1
  1132. package/fesm2015/vendure-admin-ui-system.js +0 -171
  1133. package/fesm2015/vendure-admin-ui-system.js.map +0 -1
  1134. package/fesm2015/vendure-admin-ui.js.map +0 -1
  1135. package/login/vendure-admin-ui-login.metadata.json +0 -1
  1136. package/marketing/vendure-admin-ui-marketing.metadata.json +0 -1
  1137. package/order/vendure-admin-ui-order.metadata.json +0 -1
  1138. package/settings/vendure-admin-ui-settings.metadata.json +0 -1
  1139. package/system/vendure-admin-ui-system.metadata.json +0 -1
  1140. package/vendure-admin-ui.metadata.json +0 -1
@@ -0,0 +1,81 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
4
+ import { BaseListComponent, } from '@vendure/admin-ui/core';
5
+ import { EMPTY, merge } from 'rxjs';
6
+ import { debounceTime, switchMap, takeUntil } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@vendure/admin-ui/core";
9
+ import * as i2 from "@angular/router";
10
+ import * as i3 from "@angular/forms";
11
+ import * as i4 from "@clr/angular";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "@ngx-translate/core";
14
+ export class PromotionListComponent extends BaseListComponent {
15
+ constructor(dataService, router, route, notificationService, modalService) {
16
+ super(router, route);
17
+ this.dataService = dataService;
18
+ this.notificationService = notificationService;
19
+ this.modalService = modalService;
20
+ this.searchForm = new FormGroup({
21
+ name: new FormControl(''),
22
+ couponCode: new FormControl(''),
23
+ });
24
+ super.setQueryFn((...args) => this.dataService.promotion.getPromotions(...args).refetchOnChannelChange(), data => data.promotions, (skip, take) => this.createQueryOptions(skip, take, this.searchForm.value));
25
+ }
26
+ ngOnInit() {
27
+ super.ngOnInit();
28
+ merge(this.searchForm.valueChanges.pipe(debounceTime(250)), this.route.queryParamMap)
29
+ .pipe(takeUntil(this.destroy$))
30
+ .subscribe(val => {
31
+ if (!val.params) {
32
+ this.setPageNumber(1);
33
+ }
34
+ this.refresh();
35
+ });
36
+ }
37
+ deletePromotion(promotionId) {
38
+ this.modalService
39
+ .dialog({
40
+ title: _('catalog.confirm-delete-promotion'),
41
+ buttons: [
42
+ { type: 'secondary', label: _('common.cancel') },
43
+ { type: 'danger', label: _('common.delete'), returnValue: true },
44
+ ],
45
+ })
46
+ .pipe(switchMap(response => response ? this.dataService.promotion.deletePromotion(promotionId) : EMPTY))
47
+ .subscribe(() => {
48
+ this.notificationService.success(_('common.notify-delete-success'), {
49
+ entity: 'Promotion',
50
+ });
51
+ this.refresh();
52
+ }, err => {
53
+ this.notificationService.error(_('common.notify-delete-error'), {
54
+ entity: 'Promotion',
55
+ });
56
+ });
57
+ }
58
+ createQueryOptions(skip, take, searchForm) {
59
+ const filter = {};
60
+ if (searchForm.couponCode) {
61
+ filter.couponCode = { contains: searchForm.couponCode };
62
+ }
63
+ if (searchForm.name) {
64
+ filter.name = { contains: searchForm.name };
65
+ }
66
+ return {
67
+ options: {
68
+ skip,
69
+ take,
70
+ filter,
71
+ },
72
+ };
73
+ }
74
+ }
75
+ PromotionListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PromotionListComponent, deps: [{ token: i1.DataService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i1.NotificationService }, { token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
76
+ PromotionListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PromotionListComponent, selector: "vdr-promotion-list", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <form class=\"search-form\" [formGroup]=\"searchForm\">\r\n <input\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [placeholder]=\"'marketing.search-by-name' | translate\"\r\n class=\"search-input\"\r\n />\r\n <input\r\n type=\"text\"\r\n formControlName=\"couponCode\"\r\n [placeholder]=\"'marketing.search-by-coupon-code' | translate\"\r\n class=\"search-input\"\r\n />\r\n </form>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"promotion-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"'CreatePromotion'\"\r\n [routerLink]=\"['./create']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'marketing.create-new-promotion' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'marketing.coupon-code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'marketing.starts-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'marketing.ends-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-promotion=\"item\">\r\n <td class=\"left align-middle\">{{ promotion.name }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-chip *ngIf=\"promotion.couponCode\">\r\n {{ promotion.couponCode }}\r\n </vdr-chip>\r\n </td>\r\n <td class=\"left align-middle\">{{ promotion.startsAt | localeDate: 'longDate' }}</td>\r\n <td class=\"left align-middle\">{{ promotion.endsAt | localeDate: 'longDate' }}</td>\r\n <td class=\"align-middle\">\r\n <vdr-chip *ngIf=\"!promotion.enabled\">{{ 'common.disabled' | translate }}</vdr-chip>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', promotion.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deletePromotion(promotion.id)\"\r\n [disabled]=\"!('DeletePromotion' | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [".search-form{padding:0}.search-input{margin:6px 8px 0 0;min-width:200px}\n"], components: [{ type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i1.DataTableComponent, selector: "vdr-data-table", inputs: ["items", "itemsPerPage", "currentPage", "totalItems", "allSelected", "isRowSelectedFn", "emptyStateLabel"], outputs: ["allSelectChange", "rowSelectChange", "pageChange", "itemsPerPageChange"] }, { type: i1.DataTableColumnComponent, selector: "vdr-dt-column", inputs: ["expand"] }, { type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { type: i1.TableRowActionComponent, selector: "vdr-table-row-action", inputs: ["linkTo", "label", "iconShape", "disabled"] }, { type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }], directives: [{ type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i6.TranslatePipe, "async": i5.AsyncPipe, "localeDate": i1.LocaleDatePipe, "hasPermission": i1.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PromotionListComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'vdr-promotion-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <form class=\"search-form\" [formGroup]=\"searchForm\">\r\n <input\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [placeholder]=\"'marketing.search-by-name' | translate\"\r\n class=\"search-input\"\r\n />\r\n <input\r\n type=\"text\"\r\n formControlName=\"couponCode\"\r\n [placeholder]=\"'marketing.search-by-coupon-code' | translate\"\r\n class=\"search-input\"\r\n />\r\n </form>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"promotion-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"'CreatePromotion'\"\r\n [routerLink]=\"['./create']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'marketing.create-new-promotion' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'marketing.coupon-code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'marketing.starts-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'marketing.ends-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-promotion=\"item\">\r\n <td class=\"left align-middle\">{{ promotion.name }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-chip *ngIf=\"promotion.couponCode\">\r\n {{ promotion.couponCode }}\r\n </vdr-chip>\r\n </td>\r\n <td class=\"left align-middle\">{{ promotion.startsAt | localeDate: 'longDate' }}</td>\r\n <td class=\"left align-middle\">{{ promotion.endsAt | localeDate: 'longDate' }}</td>\r\n <td class=\"align-middle\">\r\n <vdr-chip *ngIf=\"!promotion.enabled\">{{ 'common.disabled' | translate }}</vdr-chip>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', promotion.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deletePromotion(promotion.id)\"\r\n [disabled]=\"!('DeletePromotion' | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [".search-form{padding:0}.search-input{margin:6px 8px 0 0;min-width:200px}\n"] }]
80
+ }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i1.NotificationService }, { type: i1.ModalService }]; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXJrZXRpbmcvc3JjL2NvbXBvbmVudHMvcHJvbW90aW9uLWxpc3QvcHJvbW90aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXJrZXRpbmcvc3JjL2NvbXBvbmVudHMvcHJvbW90aW9uLWxpc3QvcHJvbW90aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUNILGlCQUFpQixHQVFwQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWFwRSxNQUFNLE9BQU8sc0JBQ1QsU0FBUSxpQkFBcUY7SUFRN0YsWUFDWSxXQUF3QixFQUNoQyxNQUFjLEVBQ2QsS0FBcUIsRUFDYixtQkFBd0MsRUFDeEMsWUFBMEI7UUFFbEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQU5iLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBR3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFWdEMsZUFBVSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3ZCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDekIsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztTQUNsQyxDQUFDLENBQUM7UUFVQyxLQUFLLENBQUMsVUFBVSxDQUNaLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLHNCQUFzQixFQUFFLEVBQzlGLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFDdkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUM3RSxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQzthQUNoRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDYixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUFtQjtRQUMvQixJQUFJLENBQUMsWUFBWTthQUNaLE1BQU0sQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsa0NBQWtDLENBQUM7WUFDNUMsT0FBTyxFQUFFO2dCQUNMLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUNoRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2FBQ25FO1NBQ0osQ0FBQzthQUNELElBQUksQ0FDRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakIsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDN0UsQ0FDSjthQUNBLFNBQVMsQ0FDTixHQUFHLEVBQUU7WUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFO2dCQUNoRSxNQUFNLEVBQUUsV0FBVzthQUN0QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO1lBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsRUFBRTtnQkFDNUQsTUFBTSxFQUFFLFdBQVc7YUFDdEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUNKLENBQUM7SUFDVixDQUFDO0lBRU8sa0JBQWtCLENBQ3RCLElBQVksRUFDWixJQUFZLEVBQ1osVUFBK0I7UUFFL0IsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUU1QyxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDM0Q7UUFFRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDakIsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0M7UUFFRCxPQUFPO1lBQ0gsT0FBTyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixNQUFNO2FBQ1Q7U0FDSixDQUFDO0lBQ04sQ0FBQzs7bUhBeEZRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGlGQzVCbkMscXJIQW9GQTsyRkR4RGEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlTGlzdENvbXBvbmVudCxcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0UHJvbW90aW9uTGlzdFF1ZXJ5LFxyXG4gICAgSXRlbU9mLFxyXG4gICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFByb21vdGlvbkZpbHRlclBhcmFtZXRlcixcclxuICAgIFByb21vdGlvbkxpc3RPcHRpb25zLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBFTVBUWSwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCB0eXBlIFByb21vdGlvblNlYXJjaEZvcm0gPSB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjb3Vwb25Db2RlOiBzdHJpbmc7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLXByb21vdGlvbi1saXN0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9tb3Rpb24tbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9tb3Rpb24tbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9tb3Rpb25MaXN0Q29tcG9uZW50XHJcbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PEdldFByb21vdGlvbkxpc3RRdWVyeSwgSXRlbU9mPEdldFByb21vdGlvbkxpc3RRdWVyeSwgJ3Byb21vdGlvbnMnPj5cclxuICAgIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICAgIHNlYXJjaEZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgICAgIGNvdXBvbkNvZGU6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihyb3V0ZXIsIHJvdXRlKTtcclxuICAgICAgICBzdXBlci5zZXRRdWVyeUZuKFxyXG4gICAgICAgICAgICAoLi4uYXJnczogYW55W10pID0+IHRoaXMuZGF0YVNlcnZpY2UucHJvbW90aW9uLmdldFByb21vdGlvbnMoLi4uYXJncykucmVmZXRjaE9uQ2hhbm5lbENoYW5nZSgpLFxyXG4gICAgICAgICAgICBkYXRhID0+IGRhdGEucHJvbW90aW9ucyxcclxuICAgICAgICAgICAgKHNraXAsIHRha2UpID0+IHRoaXMuY3JlYXRlUXVlcnlPcHRpb25zKHNraXAsIHRha2UsIHRoaXMuc2VhcmNoRm9ybS52YWx1ZSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgICAgICBtZXJnZSh0aGlzLnNlYXJjaEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpLCB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXApXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF2YWwucGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQYWdlTnVtYmVyKDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVByb21vdGlvbihwcm9tb3Rpb25JZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgLmRpYWxvZyh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXygnY2F0YWxvZy5jb25maXJtLWRlbGV0ZS1wcm9tb3Rpb24nKSxcclxuICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdzZWNvbmRhcnknLCBsYWJlbDogXygnY29tbW9uLmNhbmNlbCcpIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAnZGFuZ2VyJywgbGFiZWw6IF8oJ2NvbW1vbi5kZWxldGUnKSwgcmV0dXJuVmFsdWU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHJlc3BvbnNlID0+XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPyB0aGlzLmRhdGFTZXJ2aWNlLnByb21vdGlvbi5kZWxldGVQcm9tb3Rpb24ocHJvbW90aW9uSWQpIDogRU1QVFksXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS1kZWxldGUtc3VjY2VzcycpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ1Byb21vdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnY29tbW9uLm5vdGlmeS1kZWxldGUtZXJyb3InKSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk6ICdQcm9tb3Rpb24nLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVF1ZXJ5T3B0aW9ucyhcclxuICAgICAgICBza2lwOiBudW1iZXIsXHJcbiAgICAgICAgdGFrZTogbnVtYmVyLFxyXG4gICAgICAgIHNlYXJjaEZvcm06IFByb21vdGlvblNlYXJjaEZvcm0sXHJcbiAgICApOiB7IG9wdGlvbnM6IFByb21vdGlvbkxpc3RPcHRpb25zIH0ge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcjogUHJvbW90aW9uRmlsdGVyUGFyYW1ldGVyID0ge307XHJcblxyXG4gICAgICAgIGlmIChzZWFyY2hGb3JtLmNvdXBvbkNvZGUpIHtcclxuICAgICAgICAgICAgZmlsdGVyLmNvdXBvbkNvZGUgPSB7IGNvbnRhaW5zOiBzZWFyY2hGb3JtLmNvdXBvbkNvZGUgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzZWFyY2hGb3JtLm5hbWUpIHtcclxuICAgICAgICAgICAgZmlsdGVyLm5hbWUgPSB7IGNvbnRhaW5zOiBzZWFyY2hGb3JtLm5hbWUgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1hY3Rpb24tYmFyPlxyXG4gICAgPHZkci1hYi1sZWZ0PlxyXG4gICAgICAgIDxmb3JtIGNsYXNzPVwic2VhcmNoLWZvcm1cIiBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInbWFya2V0aW5nLnNlYXJjaC1ieS1uYW1lJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY291cG9uQ29kZVwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ21hcmtldGluZy5zZWFyY2gtYnktY291cG9uLWNvZGUnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L3Zkci1hYi1sZWZ0PlxyXG4gICAgPHZkci1hYi1yaWdodD5cclxuICAgICAgICA8dmRyLWFjdGlvbi1iYXItaXRlbXMgbG9jYXRpb25JZD1cInByb21vdGlvbi1saXN0XCI+PC92ZHItYWN0aW9uLWJhci1pdGVtcz5cclxuICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgKnZkcklmUGVybWlzc2lvbnM9XCInQ3JlYXRlUHJvbW90aW9uJ1wiXHJcbiAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycuL2NyZWF0ZSddXCI+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnbWFya2V0aW5nLmNyZWF0ZS1uZXctcHJvbW90aW9uJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYT5cclxuICAgIDwvdmRyLWFiLXJpZ2h0PlxyXG48L3Zkci1hY3Rpb24tYmFyPlxyXG5cclxuPHZkci1kYXRhLXRhYmxlXHJcbiAgICBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2UkIHwgYXN5bmNcIlxyXG4gICAgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtcyQgfCBhc3luY1wiXHJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxyXG4gICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwic2V0SXRlbXNQZXJQYWdlKCRldmVudClcIlxyXG4+XHJcbiAgICA8dmRyLWR0LWNvbHVtbj57eyAnY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlIH19PC92ZHItZHQtY29sdW1uPlxyXG4gICAgPHZkci1kdC1jb2x1bW4+e3sgJ21hcmtldGluZy5jb3Vwb24tY29kZScgfCB0cmFuc2xhdGUgfX08L3Zkci1kdC1jb2x1bW4+XHJcbiAgICA8dmRyLWR0LWNvbHVtbj57eyAnbWFya2V0aW5nLnN0YXJ0cy1hdCcgfCB0cmFuc2xhdGUgfX08L3Zkci1kdC1jb2x1bW4+XHJcbiAgICA8dmRyLWR0LWNvbHVtbj57eyAnbWFya2V0aW5nLmVuZHMtYXQnIHwgdHJhbnNsYXRlIH19PC92ZHItZHQtY29sdW1uPlxyXG4gICAgPHZkci1kdC1jb2x1bW4+PC92ZHItZHQtY29sdW1uPlxyXG4gICAgPHZkci1kdC1jb2x1bW4+PC92ZHItZHQtY29sdW1uPlxyXG4gICAgPHZkci1kdC1jb2x1bW4+PC92ZHItZHQtY29sdW1uPlxyXG4gICAgPG5nLXRlbXBsYXRlIGxldC1wcm9tb3Rpb249XCJpdGVtXCI+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIj57eyBwcm9tb3Rpb24ubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibGVmdCBhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgICAgPHZkci1jaGlwICpuZ0lmPVwicHJvbW90aW9uLmNvdXBvbkNvZGVcIj5cclxuICAgICAgICAgICAgICAgIHt7IHByb21vdGlvbi5jb3Vwb25Db2RlIH19XHJcbiAgICAgICAgICAgIDwvdmRyLWNoaXA+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJsZWZ0IGFsaWduLW1pZGRsZVwiPnt7IHByb21vdGlvbi5zdGFydHNBdCB8IGxvY2FsZURhdGU6ICdsb25nRGF0ZScgfX08L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cImxlZnQgYWxpZ24tbWlkZGxlXCI+e3sgcHJvbW90aW9uLmVuZHNBdCB8IGxvY2FsZURhdGU6ICdsb25nRGF0ZScgfX08L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICA8dmRyLWNoaXAgKm5nSWY9XCIhcHJvbW90aW9uLmVuYWJsZWRcIj57eyAnY29tbW9uLmRpc2FibGVkJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJyaWdodCBhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgICAgPHZkci10YWJsZS1yb3ctYWN0aW9uXHJcbiAgICAgICAgICAgICAgICBpY29uU2hhcGU9XCJlZGl0XCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInY29tbW9uLmVkaXQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtsaW5rVG9dPVwiWycuLycsIHByb21vdGlvbi5pZF1cIlxyXG4gICAgICAgICAgICA+PC92ZHItdGFibGUtcm93LWFjdGlvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cInJpZ2h0IGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICA8dmRyLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24uYWN0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjYXJldCBkb3duXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVByb21vdGlvbihwcm9tb3Rpb24uaWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoJ0RlbGV0ZVByb21vdGlvbicgfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24uZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgPC92ZHItZHJvcGRvd24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvdmRyLWRhdGEtdGFibGU+XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { SharedModule } from '@vendure/admin-ui/core';
4
+ import { PromotionDetailComponent } from './components/promotion-detail/promotion-detail.component';
5
+ import { PromotionListComponent } from './components/promotion-list/promotion-list.component';
6
+ import { marketingRoutes } from './marketing.routes';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ export class MarketingModule {
10
+ }
11
+ MarketingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: MarketingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ MarketingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: MarketingModule, declarations: [PromotionListComponent, PromotionDetailComponent], imports: [SharedModule, i1.RouterModule] });
13
+ MarketingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: MarketingModule, imports: [[SharedModule, RouterModule.forChild(marketingRoutes)]] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: MarketingModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ imports: [SharedModule, RouterModule.forChild(marketingRoutes)],
18
+ declarations: [PromotionListComponent, PromotionDetailComponent],
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWFya2V0aW5nL3NyYy9tYXJrZXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU1yRCxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQUZULHNCQUFzQixFQUFFLHdCQUF3QixhQURyRCxZQUFZOzZHQUdiLGVBQWUsWUFIZixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDOzJGQUd0RCxlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUMvRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSx3QkFBd0IsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbmltcG9ydCB7IFByb21vdGlvbkRldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9tb3Rpb24tZGV0YWlsL3Byb21vdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvbW90aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9tb3Rpb24tbGlzdC9wcm9tb3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBtYXJrZXRpbmdSb3V0ZXMgfSBmcm9tICcuL21hcmtldGluZy5yb3V0ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChtYXJrZXRpbmdSb3V0ZXMpXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1Byb21vdGlvbkxpc3RDb21wb25lbnQsIFByb21vdGlvbkRldGFpbENvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXJrZXRpbmdNb2R1bGUge31cclxuIl19
@@ -0,0 +1,33 @@
1
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
2
+ import { CanDeactivateDetailGuard, createResolveData, detailBreadcrumb, } from '@vendure/admin-ui/core';
3
+ import { PromotionDetailComponent } from './components/promotion-detail/promotion-detail.component';
4
+ import { PromotionListComponent } from './components/promotion-list/promotion-list.component';
5
+ import { PromotionResolver } from './providers/routing/promotion-resolver';
6
+ export const marketingRoutes = [
7
+ {
8
+ path: 'promotions',
9
+ component: PromotionListComponent,
10
+ data: {
11
+ breadcrumb: _('breadcrumb.promotions'),
12
+ },
13
+ },
14
+ {
15
+ path: 'promotions/:id',
16
+ component: PromotionDetailComponent,
17
+ resolve: createResolveData(PromotionResolver),
18
+ canDeactivate: [CanDeactivateDetailGuard],
19
+ data: {
20
+ breadcrumb: promotionBreadcrumb,
21
+ },
22
+ },
23
+ ];
24
+ export function promotionBreadcrumb(data, params) {
25
+ return detailBreadcrumb({
26
+ entity: data.entity,
27
+ id: params.id,
28
+ breadcrumbKey: 'breadcrumb.promotions',
29
+ getName: promotion => promotion.name,
30
+ route: 'promotions',
31
+ });
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2V0aW5nLnJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWFya2V0aW5nL3NyYy9tYXJrZXRpbmcucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBRW5CLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFZO0lBQ3BDO1FBQ0ksSUFBSSxFQUFFLFlBQVk7UUFDbEIsU0FBUyxFQUFFLHNCQUFzQjtRQUNqQyxJQUFJLEVBQUU7WUFDRixVQUFVLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDO1NBQ3pDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsU0FBUyxFQUFFLHdCQUF3QjtRQUNuQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7UUFDN0MsYUFBYSxFQUFFLENBQUMsd0JBQXdCLENBQUM7UUFDekMsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLG1CQUFtQjtTQUNsQztLQUNKO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFTLEVBQUUsTUFBVztJQUN0RCxPQUFPLGdCQUFnQixDQUFvQjtRQUN2QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDbkIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1FBQ2IsYUFBYSxFQUFFLHVCQUF1QjtRQUN0QyxPQUFPLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSTtRQUNwQyxLQUFLLEVBQUUsWUFBWTtLQUN0QixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBDYW5EZWFjdGl2YXRlRGV0YWlsR3VhcmQsXHJcbiAgICBjcmVhdGVSZXNvbHZlRGF0YSxcclxuICAgIGRldGFpbEJyZWFkY3J1bWIsXHJcbiAgICBQcm9tb3Rpb25GcmFnbWVudCxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbmltcG9ydCB7IFByb21vdGlvbkRldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9tb3Rpb24tZGV0YWlsL3Byb21vdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvbW90aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9tb3Rpb24tbGlzdC9wcm9tb3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9tb3Rpb25SZXNvbHZlciB9IGZyb20gJy4vcHJvdmlkZXJzL3JvdXRpbmcvcHJvbW90aW9uLXJlc29sdmVyJztcclxuXHJcbmV4cG9ydCBjb25zdCBtYXJrZXRpbmdSb3V0ZXM6IFJvdXRlW10gPSBbXHJcbiAgICB7XHJcbiAgICAgICAgcGF0aDogJ3Byb21vdGlvbnMnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUHJvbW90aW9uTGlzdENvbXBvbmVudCxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IF8oJ2JyZWFkY3J1bWIucHJvbW90aW9ucycpLFxyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6ICdwcm9tb3Rpb25zLzppZCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBQcm9tb3Rpb25EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgcmVzb2x2ZTogY3JlYXRlUmVzb2x2ZURhdGEoUHJvbW90aW9uUmVzb2x2ZXIpLFxyXG4gICAgICAgIGNhbkRlYWN0aXZhdGU6IFtDYW5EZWFjdGl2YXRlRGV0YWlsR3VhcmRdLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgYnJlYWRjcnVtYjogcHJvbW90aW9uQnJlYWRjcnVtYixcclxuICAgICAgICB9LFxyXG4gICAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm9tb3Rpb25CcmVhZGNydW1iKGRhdGE6IGFueSwgcGFyYW1zOiBhbnkpIHtcclxuICAgIHJldHVybiBkZXRhaWxCcmVhZGNydW1iPFByb21vdGlvbkZyYWdtZW50Pih7XHJcbiAgICAgICAgZW50aXR5OiBkYXRhLmVudGl0eSxcclxuICAgICAgICBpZDogcGFyYW1zLmlkLFxyXG4gICAgICAgIGJyZWFkY3J1bWJLZXk6ICdicmVhZGNydW1iLnByb21vdGlvbnMnLFxyXG4gICAgICAgIGdldE5hbWU6IHByb21vdGlvbiA9PiBwcm9tb3Rpb24ubmFtZSxcclxuICAgICAgICByb3V0ZTogJ3Byb21vdGlvbnMnLFxyXG4gICAgfSk7XHJcbn1cclxuIl19
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BaseEntityResolver } from '@vendure/admin-ui/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ import * as i2 from "@vendure/admin-ui/core";
6
+ /**
7
+ * Resolves the id from the path into a Customer entity.
8
+ */
9
+ export class PromotionResolver extends BaseEntityResolver {
10
+ constructor(router, dataService) {
11
+ super(router, {
12
+ __typename: 'Promotion',
13
+ id: '',
14
+ createdAt: '',
15
+ updatedAt: '',
16
+ name: '',
17
+ enabled: false,
18
+ conditions: [],
19
+ actions: [],
20
+ }, id => dataService.promotion.getPromotion(id).mapStream(data => data.promotion));
21
+ }
22
+ }
23
+ PromotionResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PromotionResolver, deps: [{ token: i1.Router }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ PromotionResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PromotionResolver, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PromotionResolver, decorators: [{
26
+ type: Injectable,
27
+ args: [{
28
+ providedIn: 'root',
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.DataService }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9uLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXJrZXRpbmcvc3JjL3Byb3ZpZGVycy9yb3V0aW5nL3Byb21vdGlvbi1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0MsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUU1Rjs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBcUM7SUFDeEUsWUFBWSxNQUFjLEVBQUUsV0FBd0I7UUFDaEQsS0FBSyxDQUNELE1BQU0sRUFDTjtZQUNJLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLEVBQUUsRUFBRSxFQUFFO1lBQ04sU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsRUFBRTtZQUNiLElBQUksRUFBRSxFQUFFO1lBQ1IsT0FBTyxFQUFFLEtBQUs7WUFDZCxVQUFVLEVBQUUsRUFBRTtZQUNkLE9BQU8sRUFBRSxFQUFFO1NBQ2QsRUFDRCxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDakYsQ0FBQztJQUNOLENBQUM7OzhHQWhCUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmFzZUVudGl0eVJlc29sdmVyLCBEYXRhU2VydmljZSwgUHJvbW90aW9uRnJhZ21lbnQgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyB0aGUgaWQgZnJvbSB0aGUgcGF0aCBpbnRvIGEgQ3VzdG9tZXIgZW50aXR5LlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvbW90aW9uUmVzb2x2ZXIgZXh0ZW5kcyBCYXNlRW50aXR5UmVzb2x2ZXI8UHJvbW90aW9uRnJhZ21lbnQ+IHtcclxuICAgIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyLCBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihcclxuICAgICAgICAgICAgcm91dGVyLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBfX3R5cGVuYW1lOiAnUHJvbW90aW9uJyxcclxuICAgICAgICAgICAgICAgIGlkOiAnJyxcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogJycsXHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxyXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGlkID0+IGRhdGFTZXJ2aWNlLnByb21vdGlvbi5nZXRQcm9tb3Rpb24oaWQpLm1hcFN0cmVhbShkYXRhID0+IGRhdGEucHJvbW90aW9uKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FormControl, FormGroup, Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@vendure/admin-ui/core";
5
+ import * as i2 from "@ng-select/ng-select";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@ngx-translate/core";
8
+ import * as i5 from "@angular/common";
9
+ export class AddManualPaymentDialogComponent {
10
+ constructor(dataService) {
11
+ this.dataService = dataService;
12
+ this.form = new FormGroup({
13
+ method: new FormControl('', Validators.required),
14
+ transactionId: new FormControl('', Validators.required),
15
+ });
16
+ }
17
+ ngOnInit() {
18
+ this.paymentMethods$ = this.dataService.settings
19
+ .getPaymentMethods(999)
20
+ .mapSingle(data => data.paymentMethods.items);
21
+ }
22
+ submit() {
23
+ const formValue = this.form.value;
24
+ this.resolveWith({
25
+ method: formValue.method,
26
+ transactionId: formValue.transactionId,
27
+ });
28
+ }
29
+ cancel() {
30
+ this.resolveWith();
31
+ }
32
+ }
33
+ AddManualPaymentDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AddManualPaymentDialogComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component });
34
+ AddManualPaymentDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AddManualPaymentDialogComponent, selector: "vdr-add-manual-payment-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\r\n <ng-select\r\n [items]=\"paymentMethods$ | async\"\r\n bindLabel=\"code\"\r\n autofocus\r\n bindValue=\"code\"\r\n [addTag]=\"true\"\r\n formControlName=\"method\"\r\n ></ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\r\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\r\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select{min-width:100%}\n"], components: [{ type: i1.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }], pipes: { "translate": i4.TranslatePipe, "async": i5.AsyncPipe, "localeCurrency": i1.LocaleCurrencyPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AddManualPaymentDialogComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'vdr-add-manual-payment-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\r\n <ng-select\r\n [items]=\"paymentMethods$ | async\"\r\n bindLabel=\"code\"\r\n autofocus\r\n bindValue=\"code\"\r\n [addTag]=\"true\"\r\n formControlName=\"method\"\r\n ></ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\r\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\r\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select{min-width:100%}\n"] }]
38
+ }], ctorParameters: function () { return [{ type: i1.DataService }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBaUJwRSxNQUFNLE9BQU8sK0JBQStCO0lBV3hDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTDVDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQixNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDaEQsYUFBYSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzFELENBQUMsQ0FBQztJQUU0QyxDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUMzQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7YUFDdEIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDYixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhO1NBQ3pDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OzRIQTdCUSwrQkFBK0I7Z0hBQS9CLCtCQUErQixxRUNsQjVDLDBtQ0FzQkE7MkZESmEsK0JBQStCO2tCQU4zQyxTQUFTOytCQUNJLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VycmVuY3lDb2RlLFxyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBEaWFsb2csXHJcbiAgICBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5LFxyXG4gICAgSXRlbU9mLFxyXG4gICAgTWFudWFsUGF5bWVudElucHV0LFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNYW51YWxQYXltZW50RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEaWFsb2c8T21pdDxNYW51YWxQYXltZW50SW5wdXQsICdvcmRlcklkJz4+IHtcclxuICAgIC8vIHBvcHVsYXRlZCBieSBNb2RhbFNlcnZpY2UgY2FsbFxyXG4gICAgb3V0c3RhbmRpbmdBbW91bnQ6IG51bWJlcjtcclxuICAgIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG5cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogT21pdDxNYW51YWxQYXltZW50SW5wdXQsICdvcmRlcklkJz4pID0+IHZvaWQ7XHJcbiAgICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgICAgbWV0aG9kOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAgIHRyYW5zYWN0aW9uSWQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICB9KTtcclxuICAgIHBheW1lbnRNZXRob2RzJDogT2JzZXJ2YWJsZTxBcnJheTxJdGVtT2Y8R2V0UGF5bWVudE1ldGhvZExpc3RRdWVyeSwgJ3BheW1lbnRNZXRob2RzJz4+PjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMkID0gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5nc1xyXG4gICAgICAgICAgICAuZ2V0UGF5bWVudE1ldGhvZHMoOTk5KVxyXG4gICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5wYXltZW50TWV0aG9kcy5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3VibWl0KCkge1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZTtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHtcclxuICAgICAgICAgICAgbWV0aG9kOiBmb3JtVmFsdWUubWV0aG9kLFxyXG4gICAgICAgICAgICB0cmFuc2FjdGlvbklkOiBmb3JtVmFsdWUudHJhbnNhY3Rpb25JZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5yZXNvbHZlV2l0aCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dUaXRsZT57eyAnb3JkZXIuYWRkLXBheW1lbnQtdG8tb3JkZXInIHwgdHJhbnNsYXRlIH19PC9uZy10ZW1wbGF0ZT5cclxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidvcmRlci5wYXltZW50LW1ldGhvZCcgfCB0cmFuc2xhdGVcIiBmb3I9XCJtZXRob2RcIj5cclxuICAgICAgICA8bmctc2VsZWN0XHJcbiAgICAgICAgICAgIFtpdGVtc109XCJwYXltZW50TWV0aG9kcyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cImNvZGVcIlxyXG4gICAgICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICAgICAgYmluZFZhbHVlPVwiY29kZVwiXHJcbiAgICAgICAgICAgIFthZGRUYWddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGhvZFwiXHJcbiAgICAgICAgPjwvbmctc2VsZWN0PlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuICAgIDx2ZHItZm9ybS1maWVsZCBbbGFiZWxdPVwiJ29yZGVyLnRyYW5zYWN0aW9uLWlkJyB8IHRyYW5zbGF0ZVwiIGZvcj1cInRyYW5zYWN0aW9uSWRcIj5cclxuICAgICAgICA8aW5wdXQgaWQ9XCJ0cmFuc2FjdGlvbklkXCIgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0cmFuc2FjdGlvbklkXCIgLz5cclxuICAgIDwvdmRyLWZvcm0tZmllbGQ+XHJcbjwvZm9ybT5cclxuPG5nLXRlbXBsYXRlIHZkckRpYWxvZ0J1dHRvbnM+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICdjb21tb24uY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IGZvcm0ucHJpc3RpbmVcIj5cclxuICAgICAgICB7eyAnb3JkZXIuYWRkLXBheW1lbnQnIHwgdHJhbnNsYXRlIH19ICAoe3sgb3V0c3RhbmRpbmdBbW91bnQgfCBsb2NhbGVDdXJyZW5jeTogY3VycmVuY3lDb2RlIH19KVxyXG4gICAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@vendure/admin-ui/core";
5
+ import * as i2 from "@clr/angular";
6
+ import * as i3 from "@ng-select/ng-select";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/forms";
9
+ import * as i6 from "@ngx-translate/core";
10
+ export class CancelOrderDialogComponent {
11
+ constructor(i18nService) {
12
+ this.i18nService = i18nService;
13
+ this.cancelAll = true;
14
+ this.lineQuantities = {};
15
+ this.reasons = [_('order.cancel-reason-customer-request'), _('order.cancel-reason-not-available')];
16
+ this.reasons = this.reasons.map(r => this.i18nService.translate(r));
17
+ }
18
+ get selectionCount() {
19
+ return Object.values(this.lineQuantities).reduce((sum, n) => sum + n, 0);
20
+ }
21
+ ngOnInit() {
22
+ this.lineQuantities = this.order.lines.reduce((result, line) => {
23
+ return { ...result, [line.id]: line.quantity };
24
+ }, {});
25
+ }
26
+ radioChanged() {
27
+ if (this.cancelAll) {
28
+ for (const line of this.order.lines) {
29
+ this.lineQuantities[line.id] = line.quantity;
30
+ }
31
+ }
32
+ else {
33
+ for (const line of this.order.lines) {
34
+ this.lineQuantities[line.id] = 0;
35
+ }
36
+ }
37
+ }
38
+ checkIfAllSelected() {
39
+ for (const [lineId, quantity] of Object.entries(this.lineQuantities)) {
40
+ const quantityInOrder = this.order.lines.find(line => line.id === lineId)?.quantity;
41
+ if (quantityInOrder && quantity < quantityInOrder) {
42
+ return;
43
+ }
44
+ }
45
+ // If we got here, all of the selected quantities are equal to the order
46
+ // line quantities, i.e. everything is selected.
47
+ this.cancelAll = true;
48
+ }
49
+ select() {
50
+ this.resolveWith({
51
+ orderId: this.order.id,
52
+ lines: this.getLineInputs(),
53
+ reason: this.reason,
54
+ cancelShipping: this.cancelAll,
55
+ });
56
+ }
57
+ cancel() {
58
+ this.resolveWith();
59
+ }
60
+ getLineInputs() {
61
+ if (this.order.active) {
62
+ return;
63
+ }
64
+ return Object.entries(this.lineQuantities)
65
+ .map(([orderLineId, quantity]) => ({
66
+ orderLineId,
67
+ quantity,
68
+ }))
69
+ .filter(l => 0 < l.quantity);
70
+ }
71
+ }
72
+ CancelOrderDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CancelOrderDialogComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
73
+ CancelOrderDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CancelOrderDialogComponent, selector: "vdr-cancel-order-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-lines\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.is-disabled]=\"cancelAll\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview:'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\r\n [(ngModel)]=\"lineQuantities[line.id]\"\r\n (input)=\"checkIfAllSelected()\"\r\n [disabled]=\"cancelAll\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n />\r\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"cancellation-details\">\r\n <clr-radio-wrapper>\r\n <input type=\"radio\" clrRadio [value]=\"true\" [(ngModel)]=\"cancelAll\" name=\"options\" (ngModelChange)=\"radioChanged()\" />\r\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <clr-radio-wrapper>\r\n <input type=\"radio\" clrRadio [value]=\"false\" [(ngModel)]=\"cancelAll\" name=\"options\" (ngModelChange)=\"radioChanged()\" />\r\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n</div>\r\n\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)=\"select()\"\r\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\r\n class=\"btn btn-primary\"\r\n >\r\n <ng-container *ngIf=\"!order.active\">\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"order.active\">\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}@media screen and (min-width: 768px){.fulfillment-wrapper .cancellation-details{margin-top:0;margin-left:24px;width:250px}}.fulfillment-wrapper .order-lines{flex:1;overflow-y:auto}.fulfillment-wrapper .order-lines table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}.fulfillment-wrapper .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.fulfillment-wrapper .is-disabled td,.fulfillment-wrapper .is-disabled td input{background-color:var(--color-component-bg-200)}\n"], components: [{ type: i2.ClrRadioWrapper, selector: "clr-radio-wrapper" }, { type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i5.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2.ClrRadio, selector: "[clrRadio]" }, { type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }], pipes: { "translate": i6.TranslatePipe, "assetPreview": i1.AssetPreviewPipe, "localeCurrency": i1.LocaleCurrencyPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CancelOrderDialogComponent, decorators: [{
75
+ type: Component,
76
+ args: [{ selector: 'vdr-cancel-order-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-lines\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.is-disabled]=\"cancelAll\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview:'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\r\n [(ngModel)]=\"lineQuantities[line.id]\"\r\n (input)=\"checkIfAllSelected()\"\r\n [disabled]=\"cancelAll\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n />\r\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"cancellation-details\">\r\n <clr-radio-wrapper>\r\n <input type=\"radio\" clrRadio [value]=\"true\" [(ngModel)]=\"cancelAll\" name=\"options\" (ngModelChange)=\"radioChanged()\" />\r\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <clr-radio-wrapper>\r\n <input type=\"radio\" clrRadio [value]=\"false\" [(ngModel)]=\"cancelAll\" name=\"options\" (ngModelChange)=\"radioChanged()\" />\r\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n</div>\r\n\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)=\"select()\"\r\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\r\n class=\"btn btn-primary\"\r\n >\r\n <ng-container *ngIf=\"!order.active\">\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"order.active\">\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}@media screen and (min-width: 768px){.fulfillment-wrapper .cancellation-details{margin-top:0;margin-left:24px;width:250px}}.fulfillment-wrapper .order-lines{flex:1;overflow-y:auto}.fulfillment-wrapper .order-lines table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}.fulfillment-wrapper .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.fulfillment-wrapper .is-disabled td,.fulfillment-wrapper .is-disabled td input{background-color:var(--color-component-bg-200)}\n"] }]
77
+ }], ctorParameters: function () { return [{ type: i1.I18nService }]; } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NhbmNlbC1vcmRlci1kaWFsb2cvY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NhbmNlbC1vcmRlci1kaWFsb2cvY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7O0FBZXRFLE1BQU0sT0FBTywwQkFBMEI7SUFZbkMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFWNUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixtQkFBYyxHQUFpQyxFQUFFLENBQUM7UUFDbEQsWUFBTyxHQUFhLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQztRQU9wRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBTkQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFNRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0QsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2hEO1NBQ0o7YUFBTTtZQUNILEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQztTQUNKO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNsRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQztZQUNwRixJQUFJLGVBQWUsSUFBSSxRQUFRLEdBQUcsZUFBZSxFQUFFO2dCQUMvQyxPQUFPO2FBQ1Y7U0FDSjtRQUNELHdFQUF3RTtRQUN4RSxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ2pDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDckMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0IsV0FBVztZQUNYLFFBQVE7U0FDWCxDQUFDLENBQUM7YUFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O3VIQXJFUSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwrRENoQnZDLGt0SEFrRkE7MkZEbEVhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQge1xyXG4gICAgQ2FuY2VsT3JkZXJJbnB1dCxcclxuICAgIERpYWxvZyxcclxuICAgIEkxOG5TZXJ2aWNlLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIE9yZGVyTGluZUlucHV0LFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jYW5jZWwtb3JkZXItZGlhbG9nJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYW5jZWwtb3JkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NhbmNlbC1vcmRlci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FuY2VsT3JkZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERpYWxvZzxDYW5jZWxPcmRlcklucHV0PiB7XHJcbiAgICBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcclxuICAgIGNhbmNlbEFsbCA9IHRydWU7XHJcbiAgICByZXNvbHZlV2l0aDogKHJlc3VsdD86IENhbmNlbE9yZGVySW5wdXQpID0+IHZvaWQ7XHJcbiAgICByZWFzb246IHN0cmluZztcclxuICAgIGxpbmVRdWFudGl0aWVzOiB7IFtsaW5lSWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcbiAgICByZWFzb25zOiBzdHJpbmdbXSA9IFtfKCdvcmRlci5jYW5jZWwtcmVhc29uLWN1c3RvbWVyLXJlcXVlc3QnKSwgXygnb3JkZXIuY2FuY2VsLXJlYXNvbi1ub3QtYXZhaWxhYmxlJyldO1xyXG5cclxuICAgIGdldCBzZWxlY3Rpb25Db3VudCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMubGluZVF1YW50aXRpZXMpLnJlZHVjZSgoc3VtLCBuKSA9PiBzdW0gKyBuLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMucmVhc29ucyA9IHRoaXMucmVhc29ucy5tYXAociA9PiB0aGlzLmkxOG5TZXJ2aWNlLnRyYW5zbGF0ZShyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllcyA9IHRoaXMub3JkZXIubGluZXMucmVkdWNlKChyZXN1bHQsIGxpbmUpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbbGluZS5pZF06IGxpbmUucXVhbnRpdHkgfTtcclxuICAgICAgICB9LCB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmFkaW9DaGFuZ2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbmNlbEFsbCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5vcmRlci5saW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllc1tsaW5lLmlkXSA9IGxpbmUucXVhbnRpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5vcmRlci5saW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllc1tsaW5lLmlkXSA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZkFsbFNlbGVjdGVkKCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgW2xpbmVJZCwgcXVhbnRpdHldIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubGluZVF1YW50aXRpZXMpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHF1YW50aXR5SW5PcmRlciA9IHRoaXMub3JkZXIubGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IGxpbmVJZCk/LnF1YW50aXR5O1xyXG4gICAgICAgICAgICBpZiAocXVhbnRpdHlJbk9yZGVyICYmIHF1YW50aXR5IDwgcXVhbnRpdHlJbk9yZGVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUsIGFsbCBvZiB0aGUgc2VsZWN0ZWQgcXVhbnRpdGllcyBhcmUgZXF1YWwgdG8gdGhlIG9yZGVyXHJcbiAgICAgICAgLy8gbGluZSBxdWFudGl0aWVzLCBpLmUuIGV2ZXJ5dGhpbmcgaXMgc2VsZWN0ZWQuXHJcbiAgICAgICAgdGhpcy5jYW5jZWxBbGwgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHtcclxuICAgICAgICAgICAgb3JkZXJJZDogdGhpcy5vcmRlci5pZCxcclxuICAgICAgICAgICAgbGluZXM6IHRoaXMuZ2V0TGluZUlucHV0cygpLFxyXG4gICAgICAgICAgICByZWFzb246IHRoaXMucmVhc29uLFxyXG4gICAgICAgICAgICBjYW5jZWxTaGlwcGluZzogdGhpcy5jYW5jZWxBbGwsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldExpbmVJbnB1dHMoKTogT3JkZXJMaW5lSW5wdXRbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXIuYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMubGluZVF1YW50aXRpZXMpXHJcbiAgICAgICAgICAgIC5tYXAoKFtvcmRlckxpbmVJZCwgcXVhbnRpdHldKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgb3JkZXJMaW5lSWQsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC5maWx0ZXIobCA9PiAwIDwgbC5xdWFudGl0eSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlIHZkckRpYWxvZ1RpdGxlPnt7ICdvcmRlci5jYW5jZWwtb3JkZXInIHwgdHJhbnNsYXRlIH19PC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3JkZXItbGluZXNcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci5wcm9kdWN0LW5hbWUnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLnByb2R1Y3Qtc2t1JyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci5xdWFudGl0eScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudW5pdC1wcmljZScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5lIG9mIG9yZGVyLmxpbmVzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3JkZXItbGluZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtZGlzYWJsZWRdPVwiY2FuY2VsQWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1jYW5jZWxsZWRdPVwibGluZS5xdWFudGl0eSA9PT0gMFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSB0aHVtYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsaW5lLmZlYXR1cmVkQXNzZXQgfCBhc3NldFByZXZpZXc6J3RpbnknXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgbmFtZVwiPnt7IGxpbmUucHJvZHVjdFZhcmlhbnQubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgc2t1XCI+e3sgbGluZS5wcm9kdWN0VmFyaWFudC5za3UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHF1YW50aXR5XCI+e3sgbGluZS5xdWFudGl0eSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgcXVhbnRpdHlcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBsaW5lLnVuaXRQcmljZVdpdGhUYXggfCBsb2NhbGVDdXJyZW5jeTogb3JkZXIuY3VycmVuY3lDb2RlIH19XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIGZ1bGZpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmUucXVhbnRpdHkgPiAwICYmICFvcmRlci5hY3RpdmU7IGVsc2Ugbm9uRWRpdGFibGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpbmVRdWFudGl0aWVzW2xpbmUuaWRdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cImNoZWNrSWZBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNhbmNlbEFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cImxpbmUucXVhbnRpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW49XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9uRWRpdGFibGU+e3sgbGluZS5xdWFudGl0eSB9fTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYW5jZWxsYXRpb24tZGV0YWlsc1wiPlxyXG4gICAgICAgIDxjbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbHJSYWRpbyBbdmFsdWVdPVwidHJ1ZVwiIFsobmdNb2RlbCldPVwiY2FuY2VsQWxsXCIgbmFtZT1cIm9wdGlvbnNcIiAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZWQoKVwiIC8+XHJcbiAgICAgICAgICA8bGFiZWw+e3sgJ29yZGVyLmNhbmNlbC1lbnRpcmUtb3JkZXInIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICA8L2Nsci1yYWRpby13cmFwcGVyPlxyXG4gICAgICAgIDxjbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbHJSYWRpbyBbdmFsdWVdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cImNhbmNlbEFsbFwiIG5hbWU9XCJvcHRpb25zXCIgKG5nTW9kZWxDaGFuZ2UpPVwicmFkaW9DaGFuZ2VkKClcIiAvPlxyXG4gICAgICAgICAgPGxhYmVsPnt7ICdvcmRlci5jYW5jZWwtc3BlY2lmaWVkLWl0ZW1zJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9jbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjbHItY29udHJvbC1sYWJlbFwiPnt7ICdvcmRlci5jYW5jZWxsYXRpb24tcmVhc29uJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPG5nLXNlbGVjdFxyXG4gICAgICAgICAgICBbaXRlbXNdPVwicmVhc29uc1wiXHJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxyXG4gICAgICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICAgICAgYmluZFZhbHVlPVwiaWRcIlxyXG4gICAgICAgICAgICBbYWRkVGFnXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlYXNvblwiXHJcbiAgICAgICAgPjwvbmctc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlIHZkckRpYWxvZ0J1dHRvbnM+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICdjb21tb24uY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3QoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFyZWFzb24gfHwgKCFvcmRlci5hY3RpdmUgJiYgc2VsZWN0aW9uQ291bnQgPT09IDApXCJcclxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcmRlci5hY3RpdmVcIj5cclxuICAgICAgICAgICAge3sgJ29yZGVyLmNhbmNlbC1zZWxlY3RlZC1pdGVtcycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3JkZXIuYWN0aXZlXCI+XHJcbiAgICAgICAgICAgIHt7ICdvcmRlci5jYW5jZWwtb3JkZXInIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -0,0 +1,73 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { configurableDefinitionToInstance, configurableOperationValueIsValid, GlobalFlag, toConfigurableOperationInput, } from '@vendure/admin-ui/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@vendure/admin-ui/core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@ngx-translate/core";
9
+ export class FulfillOrderDialogComponent {
10
+ constructor(dataService, changeDetector) {
11
+ this.dataService = dataService;
12
+ this.changeDetector = changeDetector;
13
+ this.fulfillmentHandlerControl = new FormControl();
14
+ this.fulfillmentQuantities = {};
15
+ }
16
+ ngOnInit() {
17
+ this.dataService.settings.getGlobalSettings().single$.subscribe(({ globalSettings }) => {
18
+ this.fulfillmentQuantities = this.order.lines.reduce((result, line) => {
19
+ const fulfillCount = this.getFulfillableCount(line, globalSettings.trackInventory);
20
+ return {
21
+ ...result,
22
+ [line.id]: { fulfillCount, max: fulfillCount },
23
+ };
24
+ }, {});
25
+ this.changeDetector.markForCheck();
26
+ });
27
+ this.dataService.shippingMethod
28
+ .getShippingMethodOperations()
29
+ .mapSingle(data => data.fulfillmentHandlers)
30
+ .subscribe(handlers => {
31
+ this.fulfillmentHandlerDef =
32
+ handlers.find(h => h.code === this.order.shippingLines[0]?.shippingMethod?.fulfillmentHandlerCode) || handlers[0];
33
+ this.fulfillmentHandler = configurableDefinitionToInstance(this.fulfillmentHandlerDef);
34
+ this.fulfillmentHandlerControl.patchValue(this.fulfillmentHandler);
35
+ this.changeDetector.markForCheck();
36
+ });
37
+ }
38
+ getFulfillableCount(line, globalTrackInventory) {
39
+ const { trackInventory, stockOnHand } = line.productVariant;
40
+ const effectiveTracInventory = trackInventory === GlobalFlag.INHERIT ? globalTrackInventory : trackInventory === GlobalFlag.TRUE;
41
+ const unfulfilledCount = this.getUnfulfilledCount(line);
42
+ return effectiveTracInventory ? Math.min(unfulfilledCount, stockOnHand) : unfulfilledCount;
43
+ }
44
+ getUnfulfilledCount(line) {
45
+ const fulfilled = line.items.reduce((sum, item) => sum + (item.fulfillment ? 1 : 0), 0);
46
+ return line.quantity - fulfilled;
47
+ }
48
+ canSubmit() {
49
+ const totalCount = Object.values(this.fulfillmentQuantities).reduce((total, { fulfillCount }) => total + fulfillCount, 0);
50
+ const formIsValid = configurableOperationValueIsValid(this.fulfillmentHandlerDef, this.fulfillmentHandlerControl.value) && this.fulfillmentHandlerControl.valid;
51
+ return formIsValid && 0 < totalCount;
52
+ }
53
+ select() {
54
+ const lines = Object.entries(this.fulfillmentQuantities).map(([orderLineId, { fulfillCount }]) => ({
55
+ orderLineId,
56
+ quantity: fulfillCount,
57
+ }));
58
+ this.resolveWith({
59
+ lines,
60
+ handler: toConfigurableOperationInput(this.fulfillmentHandler, this.fulfillmentHandlerControl.value),
61
+ });
62
+ }
63
+ cancel() {
64
+ this.resolveWith();
65
+ }
66
+ }
67
+ FulfillOrderDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FulfillOrderDialogComponent, deps: [{ token: i1.DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
68
+ FulfillOrderDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FulfillOrderDialogComponent, selector: "vdr-fulfill-order-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-table\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.unfulfilled' | translate }}</th>\r\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\r\n <th>{{ 'order.fulfill' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\r\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"fulfillmentQuantities[line.id]\"\r\n [disabled]=\"getUnfulfilledCount(line) === 0\"\r\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\r\n type=\"number\"\r\n [max]=\"fulfillmentQuantities[line.id].max\"\r\n min=\"0\"\r\n />\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"shipping-details\">\r\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\r\n <h6>{{ 'order.shipping-method' | translate }}</h6>\r\n {{ order.shippingLines[0]?.shippingMethod?.name }}\r\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\r\n <vdr-configurable-input\r\n [operationDefinition]=\"fulfillmentHandlerDef\"\r\n [operation]=\"fulfillmentHandler\"\r\n [formControl]=\"fulfillmentHandlerControl\"\r\n [removable]=\"false\"\r\n ></vdr-configurable-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\r\n {{ 'order.create-fulfillment' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}.fulfillment-wrapper .shipping-details{margin-top:24px}@media screen and (min-width: 768px){.fulfillment-wrapper .shipping-details{margin-top:0;margin-left:24px;width:250px}}.fulfillment-wrapper .shipping-details clr-input-container{margin-top:24px}.fulfillment-wrapper .order-table{flex:1;overflow-y:auto}.fulfillment-wrapper .order-table table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}\n"], components: [{ type: i1.FormattedAddressComponent, selector: "vdr-formatted-address", inputs: ["address"] }, { type: i1.ConfigurableInputComponent, selector: "vdr-configurable-input", inputs: ["operation", "operationDefinition", "readonly", "removable"], outputs: ["remove"] }], directives: [{ type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }], pipes: { "translate": i4.TranslatePipe, "assetPreview": i1.AssetPreviewPipe, "localeCurrency": i1.LocaleCurrencyPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FulfillOrderDialogComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ selector: 'vdr-fulfill-order-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-table\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.unfulfilled' | translate }}</th>\r\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\r\n <th>{{ 'order.fulfill' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\r\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"fulfillmentQuantities[line.id]\"\r\n [disabled]=\"getUnfulfilledCount(line) === 0\"\r\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\r\n type=\"number\"\r\n [max]=\"fulfillmentQuantities[line.id].max\"\r\n min=\"0\"\r\n />\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"shipping-details\">\r\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\r\n <h6>{{ 'order.shipping-method' | translate }}</h6>\r\n {{ order.shippingLines[0]?.shippingMethod?.name }}\r\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\r\n <vdr-configurable-input\r\n [operationDefinition]=\"fulfillmentHandlerDef\"\r\n [operation]=\"fulfillmentHandler\"\r\n [formControl]=\"fulfillmentHandlerControl\"\r\n [removable]=\"false\"\r\n ></vdr-configurable-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\r\n {{ 'order.create-fulfillment' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}.fulfillment-wrapper .shipping-details{margin-top:24px}@media screen and (min-width: 768px){.fulfillment-wrapper .shipping-details{margin-top:0;margin-left:24px;width:250px}}.fulfillment-wrapper .shipping-details clr-input-container{margin-top:24px}.fulfillment-wrapper .order-table{flex:1;overflow-y:auto}.fulfillment-wrapper .order-table table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}\n"] }]
72
+ }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }]; } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbC1vcmRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9mdWxmaWxsLW9yZGVyLWRpYWxvZy9mdWxmaWxsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGwtb3JkZXItZGlhbG9nL2Z1bGZpbGwtb3JkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsZ0NBQWdDLEVBR2hDLGlDQUFpQyxFQUlqQyxVQUFVLEVBRVYsNEJBQTRCLEdBQy9CLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVFoQyxNQUFNLE9BQU8sMkJBQTJCO0lBVXBDLFlBQW9CLFdBQXdCLEVBQVUsY0FBaUM7UUFBbkUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFOdkYsOEJBQXlCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM5QywwQkFBcUIsR0FBZ0UsRUFBRSxDQUFDO0lBS0UsQ0FBQztJQUUzRixRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNuRixPQUFPO29CQUNILEdBQUcsTUFBTTtvQkFDVCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFO2lCQUNqRCxDQUFDO1lBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYzthQUMxQiwyQkFBMkIsRUFBRTthQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7YUFDM0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxxQkFBcUI7Z0JBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxzQkFBc0IsQ0FDdEYsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUEwQyxFQUFFLG9CQUE2QjtRQUN6RixNQUFNLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDNUQsTUFBTSxzQkFBc0IsR0FDeEIsY0FBYyxLQUFLLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQztRQUV0RyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvRixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBMEM7UUFDMUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLFlBQVksRUFDakQsQ0FBQyxDQUNKLENBQUM7UUFDRixNQUFNLFdBQVcsR0FDYixpQ0FBaUMsQ0FDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUN2QyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7UUFDOUMsT0FBTyxXQUFXLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLFdBQVc7WUFDWCxRQUFRLEVBQUUsWUFBWTtTQUN6QixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDYixLQUFLO1lBQ0wsT0FBTyxFQUFFLDRCQUE0QixDQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQ3ZDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7d0hBakZRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLGdFQ3JCeEMsdTdGQTREQTsyRkR2Q2EsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgICBjb25maWd1cmFibGVEZWZpbml0aW9uVG9JbnN0YW5jZSxcclxuICAgIENvbmZpZ3VyYWJsZU9wZXJhdGlvbixcclxuICAgIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24sXHJcbiAgICBjb25maWd1cmFibGVPcGVyYXRpb25WYWx1ZUlzVmFsaWQsXHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIERpYWxvZyxcclxuICAgIEZ1bGZpbGxPcmRlcklucHV0LFxyXG4gICAgR2xvYmFsRmxhZyxcclxuICAgIE9yZGVyRGV0YWlsRnJhZ21lbnQsXHJcbiAgICB0b0NvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0LFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1mdWxmaWxsLW9yZGVyLWRpYWxvZycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZnVsZmlsbC1vcmRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZnVsZmlsbC1vcmRlci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnVsZmlsbE9yZGVyRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgRGlhbG9nPEZ1bGZpbGxPcmRlcklucHV0PiwgT25Jbml0IHtcclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogRnVsZmlsbE9yZGVySW5wdXQpID0+IHZvaWQ7XHJcbiAgICBmdWxmaWxsbWVudEhhbmRsZXJEZWY6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb247XHJcbiAgICBmdWxmaWxsbWVudEhhbmRsZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbjtcclxuICAgIGZ1bGZpbGxtZW50SGFuZGxlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgIGZ1bGZpbGxtZW50UXVhbnRpdGllczogeyBbbGluZUlkOiBzdHJpbmddOiB7IGZ1bGZpbGxDb3VudDogbnVtYmVyOyBtYXg6IG51bWJlciB9IH0gPSB7fTtcclxuXHJcbiAgICAvLyBQcm92aWRlZCBieSBtb2RhbFNlcnZpY2UuZnJvbUNvbXBvbmVudCgpIGNhbGxcclxuICAgIG9yZGVyOiBPcmRlckRldGFpbEZyYWdtZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzLmdldEdsb2JhbFNldHRpbmdzKCkuc2luZ2xlJC5zdWJzY3JpYmUoKHsgZ2xvYmFsU2V0dGluZ3MgfSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50UXVhbnRpdGllcyA9IHRoaXMub3JkZXIubGluZXMucmVkdWNlKChyZXN1bHQsIGxpbmUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGZpbGxDb3VudCA9IHRoaXMuZ2V0RnVsZmlsbGFibGVDb3VudChsaW5lLCBnbG9iYWxTZXR0aW5ncy50cmFja0ludmVudG9yeSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgICAgICAgICAgICBbbGluZS5pZF06IHsgZnVsZmlsbENvdW50LCBtYXg6IGZ1bGZpbGxDb3VudCB9LFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSwge30pO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnNoaXBwaW5nTWV0aG9kXHJcbiAgICAgICAgICAgIC5nZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnMoKVxyXG4gICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5mdWxmaWxsbWVudEhhbmRsZXJzKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGhhbmRsZXJzID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZnVsZmlsbG1lbnRIYW5kbGVyRGVmID1cclxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVycy5maW5kKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoID0+IGguY29kZSA9PT0gdGhpcy5vcmRlci5zaGlwcGluZ0xpbmVzWzBdPy5zaGlwcGluZ01ldGhvZD8uZnVsZmlsbG1lbnRIYW5kbGVyQ29kZSxcclxuICAgICAgICAgICAgICAgICAgICApIHx8IGhhbmRsZXJzWzBdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudEhhbmRsZXIgPSBjb25maWd1cmFibGVEZWZpbml0aW9uVG9JbnN0YW5jZSh0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckRlZik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLmZ1bGZpbGxtZW50SGFuZGxlcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGdWxmaWxsYWJsZUNvdW50KGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSwgZ2xvYmFsVHJhY2tJbnZlbnRvcnk6IGJvb2xlYW4pOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHsgdHJhY2tJbnZlbnRvcnksIHN0b2NrT25IYW5kIH0gPSBsaW5lLnByb2R1Y3RWYXJpYW50O1xyXG4gICAgICAgIGNvbnN0IGVmZmVjdGl2ZVRyYWNJbnZlbnRvcnkgPVxyXG4gICAgICAgICAgICB0cmFja0ludmVudG9yeSA9PT0gR2xvYmFsRmxhZy5JTkhFUklUID8gZ2xvYmFsVHJhY2tJbnZlbnRvcnkgOiB0cmFja0ludmVudG9yeSA9PT0gR2xvYmFsRmxhZy5UUlVFO1xyXG5cclxuICAgICAgICBjb25zdCB1bmZ1bGZpbGxlZENvdW50ID0gdGhpcy5nZXRVbmZ1bGZpbGxlZENvdW50KGxpbmUpO1xyXG4gICAgICAgIHJldHVybiBlZmZlY3RpdmVUcmFjSW52ZW50b3J5ID8gTWF0aC5taW4odW5mdWxmaWxsZWRDb3VudCwgc3RvY2tPbkhhbmQpIDogdW5mdWxmaWxsZWRDb3VudDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRVbmZ1bGZpbGxlZENvdW50KGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgZnVsZmlsbGVkID0gbGluZS5pdGVtcy5yZWR1Y2UoKHN1bSwgaXRlbSkgPT4gc3VtICsgKGl0ZW0uZnVsZmlsbG1lbnQgPyAxIDogMCksIDApO1xyXG4gICAgICAgIHJldHVybiBsaW5lLnF1YW50aXR5IC0gZnVsZmlsbGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNhblN1Ym1pdCgpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB0b3RhbENvdW50ID0gT2JqZWN0LnZhbHVlcyh0aGlzLmZ1bGZpbGxtZW50UXVhbnRpdGllcykucmVkdWNlKFxyXG4gICAgICAgICAgICAodG90YWwsIHsgZnVsZmlsbENvdW50IH0pID0+IHRvdGFsICsgZnVsZmlsbENvdW50LFxyXG4gICAgICAgICAgICAwLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZm9ybUlzVmFsaWQgPVxyXG4gICAgICAgICAgICBjb25maWd1cmFibGVPcGVyYXRpb25WYWx1ZUlzVmFsaWQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckRlZixcclxuICAgICAgICAgICAgICAgIHRoaXMuZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbC52YWx1ZSxcclxuICAgICAgICAgICAgKSAmJiB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckNvbnRyb2wudmFsaWQ7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1Jc1ZhbGlkICYmIDAgPCB0b3RhbENvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICBjb25zdCBsaW5lcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZnVsZmlsbG1lbnRRdWFudGl0aWVzKS5tYXAoKFtvcmRlckxpbmVJZCwgeyBmdWxmaWxsQ291bnQgfV0pID0+ICh7XHJcbiAgICAgICAgICAgIG9yZGVyTGluZUlkLFxyXG4gICAgICAgICAgICBxdWFudGl0eTogZnVsZmlsbENvdW50LFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHtcclxuICAgICAgICAgICAgbGluZXMsXHJcbiAgICAgICAgICAgIGhhbmRsZXI6IHRvQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlcixcclxuICAgICAgICAgICAgICAgIHRoaXMuZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbC52YWx1ZSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5yZXNvbHZlV2l0aCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dUaXRsZT57eyAnb3JkZXIuZnVsZmlsbC1vcmRlcicgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxyXG5cclxuPGRpdiBjbGFzcz1cImZ1bGZpbGxtZW50LXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJvcmRlci10YWJsZVwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlXCI+XHJcbiAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLnByb2R1Y3QtbmFtZScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIucHJvZHVjdC1za3UnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLnVuZnVsZmlsbGVkJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdjYXRhbG9nLnN0b2NrLW9uLWhhbmQnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLmZ1bGZpbGwnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmUgb2Ygb3JkZXIubGluZXNcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlci1saW5lXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5pZ25vcmVdPVwiZ2V0VW5mdWxmaWxsZWRDb3VudChsaW5lKSA9PT0gMFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSB0aHVtYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJsaW5lLmZlYXR1cmVkQXNzZXRcIiBbc3JjXT1cImxpbmUuZmVhdHVyZWRBc3NldCB8IGFzc2V0UHJldmlldzogJ3RpbnknXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgbmFtZVwiPnt7IGxpbmUucHJvZHVjdFZhcmlhbnQubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgc2t1XCI+e3sgbGluZS5wcm9kdWN0VmFyaWFudC5za3UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHF1YW50aXR5XCI+e3sgZ2V0VW5mdWxmaWxsZWRDb3VudChsaW5lKSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgcXVhbnRpdHlcIj57eyBsaW5lLnByb2R1Y3RWYXJpYW50LnN0b2NrT25IYW5kIH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBmdWxmaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmdWxmaWxsbWVudFF1YW50aXRpZXNbbGluZS5pZF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZ2V0VW5mdWxmaWxsZWRDb3VudChsaW5lKSA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZnVsZmlsbG1lbnRRdWFudGl0aWVzW2xpbmUuaWRdLmZ1bGZpbGxDb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cImZ1bGZpbGxtZW50UXVhbnRpdGllc1tsaW5lLmlkXS5tYXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW49XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2hpcHBpbmctZGV0YWlsc1wiPlxyXG4gICAgICAgIDx2ZHItZm9ybWF0dGVkLWFkZHJlc3MgW2FkZHJlc3NdPVwib3JkZXIuc2hpcHBpbmdBZGRyZXNzXCI+PC92ZHItZm9ybWF0dGVkLWFkZHJlc3M+XHJcbiAgICAgICAgPGg2Pnt7ICdvcmRlci5zaGlwcGluZy1tZXRob2QnIHwgdHJhbnNsYXRlIH19PC9oNj5cclxuICAgICAgICB7eyBvcmRlci5zaGlwcGluZ0xpbmVzWzBdPy5zaGlwcGluZ01ldGhvZD8ubmFtZSB9fVxyXG4gICAgICAgIDxzdHJvbmc+e3sgb3JkZXIuc2hpcHBpbmcgfCBsb2NhbGVDdXJyZW5jeTogb3JkZXIuY3VycmVuY3lDb2RlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgPHZkci1jb25maWd1cmFibGUtaW5wdXRcclxuICAgICAgICAgICAgW29wZXJhdGlvbkRlZmluaXRpb25dPVwiZnVsZmlsbG1lbnRIYW5kbGVyRGVmXCJcclxuICAgICAgICAgICAgW29wZXJhdGlvbl09XCJmdWxmaWxsbWVudEhhbmRsZXJcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbFwiXHJcbiAgICAgICAgICAgIFtyZW1vdmFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgID48L3Zkci1jb25maWd1cmFibGUtaW5wdXQ+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic2VsZWN0KClcIiBbZGlzYWJsZWRdPVwiIWNhblN1Ym1pdCgpXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cclxuICAgICAgICB7eyAnb3JkZXIuY3JlYXRlLWZ1bGZpbGxtZW50JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==