@vendure/admin-ui 2.0.0-next.2 → 2.0.0-next.21

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 (341) hide show
  1. package/catalog/catalog.module.d.ts +15 -11
  2. package/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +22 -0
  3. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +41 -0
  4. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  5. package/catalog/components/collection-contents/collection-contents.component.d.ts +10 -2
  6. package/catalog/components/collection-detail/collection-detail.component.d.ts +13 -4
  7. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +6 -0
  8. package/catalog/components/collection-list/collection-list.component.d.ts +9 -5
  9. package/catalog/components/collection-tree/array-to-tree.d.ts +1 -1
  10. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +14 -6
  11. package/catalog/components/collection-tree/collection-tree.component.d.ts +4 -1
  12. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +5 -0
  13. package/catalog/components/facet-list/facet-list.component.d.ts +2 -1
  14. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -3
  15. package/catalog/components/option-value-input/option-value-input.component.d.ts +21 -9
  16. package/catalog/components/product-detail/product-detail.component.d.ts +1 -1
  17. package/catalog/components/product-list/product-list-bulk-actions.d.ts +6 -0
  18. package/catalog/components/product-list/product-list.component.d.ts +4 -2
  19. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +22 -12
  20. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +1 -0
  21. package/catalog/public_api.d.ts +6 -1
  22. package/core/common/component-registry-types.d.ts +1 -1
  23. package/core/common/generated-types.d.ts +3184 -195
  24. package/core/common/utilities/bulk-action-utils.d.ts +19 -0
  25. package/core/common/utilities/configurable-operation-utils.d.ts +7 -2
  26. package/core/common/utilities/selection-manager.d.ts +30 -0
  27. package/core/common/version.d.ts +1 -1
  28. package/core/components/app-shell/app-shell.component.d.ts +1 -0
  29. package/core/data/definitions/collection-definitions.d.ts +4 -0
  30. package/core/data/definitions/facet-definitions.d.ts +3 -0
  31. package/core/data/definitions/order-definitions.d.ts +14 -0
  32. package/core/data/definitions/product-definitions.d.ts +2 -0
  33. package/core/data/providers/collection-data.service.d.ts +7 -0
  34. package/core/data/providers/facet-data.service.d.ts +3 -0
  35. package/core/data/providers/order-data.service.d.ts +18 -0
  36. package/core/data/providers/product-data.service.d.ts +2 -0
  37. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +9 -0
  38. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  39. package/core/providers/bulk-action-registry/register-bulk-action.d.ts +53 -0
  40. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  41. package/core/providers/modal/modal.types.d.ts +2 -0
  42. package/core/providers/nav-builder/nav-builder-types.d.ts +1 -0
  43. package/core/public_api.d.ts +24 -1
  44. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +27 -3
  45. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +32 -0
  46. package/core/shared/components/configurable-input/configurable-input.component.d.ts +8 -3
  47. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +6 -2
  48. package/core/shared/components/data-table/data-table.component.d.ts +29 -7
  49. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +2 -1
  50. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +3 -2
  51. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +38 -0
  52. package/{catalog → core/shared}/components/product-search-input/product-search-input.component.d.ts +1 -1
  53. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +24 -0
  54. package/core/shared/components/radio-card/radio-card.component.d.ts +22 -0
  55. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
  56. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
  57. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
  58. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
  59. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
  60. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
  61. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  62. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  63. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  64. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
  65. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  66. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  67. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
  68. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
  69. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
  70. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
  71. package/core/shared/components/select-toggle/select-toggle.component.d.ts +2 -1
  72. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
  73. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
  74. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
  75. package/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +28 -0
  76. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +2 -0
  77. package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +23 -0
  78. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +5 -1
  79. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +6 -3
  80. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +10 -2
  81. package/core/shared/pipes/custom-field-description.pipe.d.ts +11 -0
  82. package/core/shared/pipes/custom-field-label.pipe.d.ts +4 -10
  83. package/core/shared/shared.module.d.ts +68 -57
  84. package/customer/components/customer-group-list/customer-group-list.component.d.ts +6 -4
  85. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +11 -4
  86. package/esm2020/catalog/catalog.module.mjs +31 -10
  87. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +1 -1
  88. package/esm2020/catalog/components/assets/assets.component.mjs +2 -2
  89. package/esm2020/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +4 -1
  90. package/esm2020/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +50 -0
  91. package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +84 -0
  92. package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.mjs +69 -0
  93. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +61 -13
  94. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +70 -32
  95. package/esm2020/catalog/components/collection-list/collection-list-bulk-actions.mjs +143 -0
  96. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +46 -12
  97. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +3 -3
  98. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +36 -10
  99. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +9 -4
  100. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
  101. package/esm2020/catalog/components/facet-list/facet-list-bulk-actions.mjs +202 -0
  102. package/esm2020/catalog/components/facet-list/facet-list.component.mjs +14 -5
  103. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +12 -4
  104. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +70 -11
  105. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +36 -24
  106. package/esm2020/catalog/components/product-list/product-list-bulk-actions.mjs +168 -0
  107. package/esm2020/catalog/components/product-list/product-list.component.mjs +13 -9
  108. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +130 -19
  109. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +9 -3
  110. package/esm2020/catalog/providers/routing/collection-resolver.mjs +2 -1
  111. package/esm2020/catalog/public_api.mjs +7 -2
  112. package/esm2020/core/app.component.module.mjs +1 -1
  113. package/esm2020/core/common/base-detail.component.mjs +1 -1
  114. package/esm2020/core/common/component-registry-types.mjs +1 -1
  115. package/esm2020/core/common/deactivate-aware.mjs +1 -1
  116. package/esm2020/core/common/generated-types.mjs +31 -1
  117. package/esm2020/core/common/introspection-result.mjs +296 -189
  118. package/esm2020/core/common/utilities/bulk-action-utils.mjs +35 -0
  119. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +37 -10
  120. package/esm2020/core/common/utilities/selection-manager.mjs +96 -0
  121. package/esm2020/core/common/version.mjs +2 -2
  122. package/esm2020/core/components/app-shell/app-shell.component.mjs +6 -5
  123. package/esm2020/core/components/breadcrumb/breadcrumb.component.mjs +2 -2
  124. package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +1 -1
  125. package/esm2020/core/components/main-nav/main-nav.component.mjs +3 -3
  126. package/esm2020/core/components/user-menu/user-menu.component.mjs +1 -1
  127. package/esm2020/core/core.module.mjs +1 -1
  128. package/esm2020/core/data/definitions/collection-definitions.mjs +47 -1
  129. package/esm2020/core/data/definitions/facet-definitions.mjs +31 -1
  130. package/esm2020/core/data/definitions/order-definitions.mjs +583 -455
  131. package/esm2020/core/data/definitions/product-definitions.mjs +23 -1
  132. package/esm2020/core/data/definitions/shared-definitions.mjs +29 -28
  133. package/esm2020/core/data/providers/collection-data.service.mjs +20 -2
  134. package/esm2020/core/data/providers/customer-data.service.mjs +6 -1
  135. package/esm2020/core/data/providers/facet-data.service.mjs +18 -2
  136. package/esm2020/core/data/providers/order-data.service.mjs +43 -2
  137. package/esm2020/core/data/providers/product-data.service.mjs +10 -2
  138. package/esm2020/core/data/providers/promotion-data.service.mjs +1 -1
  139. package/esm2020/core/data/utils/remove-readonly-custom-fields.mjs +8 -1
  140. package/esm2020/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +28 -0
  141. package/esm2020/core/providers/bulk-action-registry/bulk-action-types.mjs +2 -0
  142. package/esm2020/core/providers/bulk-action-registry/register-bulk-action.mjs +63 -0
  143. package/esm2020/core/providers/dashboard-widget/dashboard-widget.service.mjs +1 -4
  144. package/esm2020/core/providers/local-storage/local-storage.service.mjs +1 -1
  145. package/esm2020/core/providers/modal/modal.service.mjs +2 -1
  146. package/esm2020/core/providers/modal/modal.types.mjs +1 -1
  147. package/esm2020/core/providers/nav-builder/nav-builder-types.mjs +1 -1
  148. package/esm2020/core/public_api.mjs +25 -2
  149. package/esm2020/core/shared/components/action-bar/action-bar.component.mjs +7 -15
  150. package/esm2020/core/shared/components/address-form/address-form.component.mjs +3 -3
  151. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +34 -51
  152. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  153. package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +1 -1
  154. package/esm2020/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +97 -0
  155. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +22 -10
  156. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +18 -10
  157. package/esm2020/core/shared/components/data-table/data-table.component.mjs +64 -14
  158. package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +1 -1
  159. package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +26 -23
  160. package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +1 -1
  161. package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +1 -1
  162. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +13 -6
  163. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +3 -3
  164. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +2 -2
  165. package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +1 -1
  166. package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +3 -3
  167. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +1 -1
  168. package/esm2020/core/shared/components/order-state-label/order-state-label.component.mjs +2 -1
  169. package/esm2020/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +135 -0
  170. package/esm2020/core/shared/components/product-search-input/product-search-input.component.mjs +108 -0
  171. package/esm2020/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +2 -2
  172. package/esm2020/core/shared/components/radio-card/radio-card-fieldset.component.mjs +54 -0
  173. package/esm2020/core/shared/components/radio-card/radio-card.component.mjs +53 -0
  174. package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +3 -3
  175. package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
  176. package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +46 -0
  177. package/esm2020/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +57 -0
  178. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +4 -4
  179. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +22 -1
  180. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
  181. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +73 -18
  182. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
  183. package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +100 -0
  184. package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
  185. package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +166 -0
  186. package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +47 -18
  187. package/esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs +1 -1
  188. package/esm2020/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
  189. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +22 -10
  190. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +6 -3
  191. package/esm2020/core/shared/components/simple-dialog/simple-dialog.component.mjs +3 -3
  192. package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +1 -1
  193. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +57 -0
  194. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +63 -0
  195. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +48 -83
  196. package/esm2020/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +45 -0
  197. package/esm2020/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +3 -3
  198. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +12 -3
  199. package/esm2020/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +48 -0
  200. package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +7 -1
  201. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +11 -9
  202. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +1 -1
  203. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +21 -11
  204. package/esm2020/core/shared/pipes/custom-field-description.pipe.mjs +30 -0
  205. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +7 -19
  206. package/esm2020/core/shared/pipes/locale-currency.pipe.mjs +10 -2
  207. package/esm2020/core/shared/pipes/state-i18n-token.pipe.mjs +2 -1
  208. package/esm2020/core/shared/shared.module.mjs +49 -5
  209. package/esm2020/customer/components/address-card/address-card.component.mjs +1 -1
  210. package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +1 -1
  211. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +33 -18
  212. package/esm2020/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
  213. package/esm2020/customer/components/customer-history/customer-history.component.mjs +1 -1
  214. package/esm2020/customer/components/customer-list/customer-list.component.mjs +3 -3
  215. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +2 -2
  216. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +2 -2
  217. package/esm2020/dashboard/dashboard.module.mjs +6 -2
  218. package/esm2020/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +1 -1
  219. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +2 -2
  220. package/esm2020/login/components/login/login.component.mjs +3 -3
  221. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  222. package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +1 -1
  223. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +1 -1
  224. package/esm2020/order/components/coupon-code-selector/coupon-code-selector.component.mjs +42 -0
  225. package/esm2020/order/components/draft-order-detail/draft-order-detail.component.mjs +187 -0
  226. package/esm2020/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +59 -0
  227. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +7 -3
  228. package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +1 -1
  229. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +8 -17
  230. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +8 -22
  231. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +30 -6
  232. package/esm2020/order/components/order-detail/order-detail.component.mjs +80 -40
  233. package/esm2020/order/components/order-editor/order-editor.component.mjs +15 -14
  234. package/esm2020/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +1 -1
  235. package/esm2020/order/components/order-history/order-history.component.mjs +1 -1
  236. package/esm2020/order/components/order-list/order-list.component.mjs +40 -17
  237. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +3 -3
  238. package/esm2020/order/components/order-table/order-table.component.mjs +29 -6
  239. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +2 -2
  240. package/esm2020/order/components/select-address-dialog/select-address-dialog.component.mjs +89 -0
  241. package/esm2020/order/components/select-address-dialog/select-address-dialog.graphql.mjs +14 -0
  242. package/esm2020/order/components/select-customer-dialog/select-customer-dialog.component.mjs +59 -0
  243. package/esm2020/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +31 -0
  244. package/esm2020/order/order.module.mjs +20 -2
  245. package/esm2020/order/order.routes.mjs +23 -4
  246. package/esm2020/order/providers/routing/order-resolver.mjs +29 -11
  247. package/esm2020/order/providers/routing/order.guard.mjs +37 -0
  248. package/esm2020/order/public_api.mjs +9 -1
  249. package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +1 -1
  250. package/esm2020/settings/components/channel-list/channel-list.component.mjs +1 -1
  251. package/esm2020/settings/components/country-list/country-list.component.mjs +3 -3
  252. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
  253. package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +1 -1
  254. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +1 -1
  255. package/esm2020/settings/components/profile/profile.component.mjs +3 -3
  256. package/esm2020/settings/components/role-list/role-list.component.mjs +1 -1
  257. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +4 -2
  258. package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +1 -1
  259. package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +1 -1
  260. package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +1 -1
  261. package/esm2020/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +2 -2
  262. package/esm2020/settings/components/zone-list/zone-list.component.mjs +3 -3
  263. package/esm2020/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
  264. package/esm2020/system/components/health-check/health-check.component.mjs +2 -2
  265. package/esm2020/system/components/job-list/job-list.component.mjs +1 -1
  266. package/fesm2015/vendure-admin-ui-catalog.mjs +1206 -228
  267. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
  268. package/fesm2015/vendure-admin-ui-core.mjs +9451 -7332
  269. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
  270. package/fesm2015/vendure-admin-ui-customer.mjs +36 -23
  271. package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -1
  272. package/fesm2015/vendure-admin-ui-dashboard.mjs +11 -7
  273. package/fesm2015/vendure-admin-ui-dashboard.mjs.map +1 -1
  274. package/fesm2015/vendure-admin-ui-login.mjs +2 -2
  275. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -1
  276. package/fesm2015/vendure-admin-ui-marketing.mjs +3 -3
  277. package/fesm2015/vendure-admin-ui-marketing.mjs.map +1 -1
  278. package/fesm2015/vendure-admin-ui-order.mjs +1184 -599
  279. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
  280. package/fesm2015/vendure-admin-ui-settings.mjs +21 -19
  281. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
  282. package/fesm2015/vendure-admin-ui-system.mjs +3 -3
  283. package/fesm2020/vendure-admin-ui-catalog.mjs +1190 -230
  284. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
  285. package/fesm2020/vendure-admin-ui-core.mjs +9539 -7437
  286. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
  287. package/fesm2020/vendure-admin-ui-customer.mjs +36 -23
  288. package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -1
  289. package/fesm2020/vendure-admin-ui-dashboard.mjs +11 -7
  290. package/fesm2020/vendure-admin-ui-dashboard.mjs.map +1 -1
  291. package/fesm2020/vendure-admin-ui-login.mjs +2 -2
  292. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -1
  293. package/fesm2020/vendure-admin-ui-marketing.mjs +3 -3
  294. package/fesm2020/vendure-admin-ui-marketing.mjs.map +1 -1
  295. package/fesm2020/vendure-admin-ui-order.mjs +1194 -614
  296. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
  297. package/fesm2020/vendure-admin-ui-settings.mjs +21 -19
  298. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
  299. package/fesm2020/vendure-admin-ui-system.mjs +3 -3
  300. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +21 -0
  301. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +52 -0
  302. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +24 -0
  303. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +4 -2
  304. package/order/components/order-editor/order-editor.component.d.ts +1 -6
  305. package/order/components/order-list/order-list.component.d.ts +2 -0
  306. package/order/components/order-table/order-table.component.d.ts +12 -2
  307. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +27 -0
  308. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  309. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +25 -0
  310. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +19 -0
  311. package/order/order.module.d.ts +9 -3
  312. package/order/providers/routing/order-resolver.d.ts +8 -3
  313. package/order/providers/routing/order.guard.d.ts +12 -0
  314. package/order/public_api.d.ts +8 -0
  315. package/package.json +13 -12
  316. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -1
  317. package/static/i18n-messages/cs.json +50 -3
  318. package/static/i18n-messages/de.json +53 -3
  319. package/static/i18n-messages/en.json +55 -8
  320. package/static/i18n-messages/es.json +50 -3
  321. package/static/i18n-messages/fr.json +50 -3
  322. package/static/i18n-messages/it.json +50 -3
  323. package/static/i18n-messages/pl.json +50 -3
  324. package/static/i18n-messages/pt_BR.json +50 -3
  325. package/static/i18n-messages/pt_PT.json +50 -3
  326. package/static/i18n-messages/ru.json +50 -3
  327. package/static/i18n-messages/uk.json +50 -3
  328. package/static/i18n-messages/zh_Hans.json +50 -3
  329. package/static/i18n-messages/zh_Hant.json +50 -3
  330. package/static/styles/_variables.scss +4 -0
  331. package/static/styles/global/_forms.scss +8 -7
  332. package/static/styles/global/_overrides.scss +11 -1
  333. package/static/styles/global/_sass-overrides.scss +3 -0
  334. package/static/styles/global/_utilities.scss +14 -0
  335. package/static/styles/styles.scss +1 -0
  336. package/static/styles/theme/default.scss +13 -1
  337. package/static/styles/ui-extension-theme.scss +1 -0
  338. package/static/theme.min.css +1 -1
  339. package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
  340. package/esm2020/catalog/components/product-search-input/product-search-input.component.mjs +0 -107
  341. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs +0 -36
@@ -22,22 +22,13 @@ export class FulfillmentDetailComponent {
22
22
  return this.order.fulfillments && this.order.fulfillments.find(f => f.id === this.fulfillmentId);
23
23
  }
24
24
  get items() {
25
- const itemMap = new Map();
26
- const fulfillmentItemIds = this.fulfillment?.orderItems.map(i => i.id);
27
- for (const line of this.order.lines) {
28
- for (const item of line.items) {
29
- if (fulfillmentItemIds?.includes(item.id)) {
30
- const count = itemMap.get(line.productVariant.name);
31
- if (count != null) {
32
- itemMap.set(line.productVariant.name, count + 1);
33
- }
34
- else {
35
- itemMap.set(line.productVariant.name, 1);
36
- }
37
- }
38
- }
39
- }
40
- return Array.from(itemMap.entries()).map(([name, quantity]) => ({ name, quantity }));
25
+ return (this.fulfillment?.summary.map(row => {
26
+ return {
27
+ name: this.order.lines.find(line => line.id === row.orderLine.id)?.productVariant.name ??
28
+ '',
29
+ quantity: row.quantity,
30
+ };
31
+ }) ?? []);
41
32
  }
42
33
  buildCustomFieldsFormGroup() {
43
34
  const customFields = this.fulfillment.customFields;
@@ -59,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
59
50
  }], order: [{
60
51
  type: Input
61
52
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvZnVsZmlsbG1lbnQtZGV0YWlsL2Z1bGZpbGxtZW50LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWRldGFpbC9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFRNUQsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCxzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBQzVDLHlCQUFvQixHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXNCLENBQUM7SUFFaEUsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDMUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzNCLElBQUksa0JBQWtCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDdkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7d0JBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ3BEO3lCQUFNO3dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQzVDO2lCQUNKO2FBQ0o7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixNQUFNLFlBQVksR0FBSSxJQUFJLENBQUMsV0FBbUIsQ0FBQyxZQUFZLENBQUM7UUFDNUQsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDL0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JHO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLFdBQW9CO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7dUhBaERRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLCtJQ1h2QyxzOUJBcUJBOzJGRFZhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07MEdBR3RDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnLCBPcmRlckRldGFpbEZyYWdtZW50LCBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1mdWxmaWxsbWVudC1kZXRhaWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Z1bGZpbGxtZW50LWRldGFpbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnVsZmlsbG1lbnREZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBmdWxmaWxsbWVudElkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcclxuXHJcbiAgICBjdXN0b21GaWVsZENvbmZpZzogQ3VzdG9tRmllbGRDb25maWdbXSA9IFtdO1xyXG4gICAgY3VzdG9tRmllbGRGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21GaWVsZENvbmZpZyA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRDdXN0b21GaWVsZHNGb3IoJ0Z1bGZpbGxtZW50Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIHRoaXMuYnVpbGRDdXN0b21GaWVsZHNGb3JtR3JvdXAoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZnVsZmlsbG1lbnQoKTogTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+W251bWJlcl0gfCB1bmRlZmluZWQgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcmRlci5mdWxmaWxsbWVudHMgJiYgdGhpcy5vcmRlci5mdWxmaWxsbWVudHMuZmluZChmID0+IGYuaWQgPT09IHRoaXMuZnVsZmlsbG1lbnRJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGl0ZW1zKCk6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBxdWFudGl0eTogbnVtYmVyIH0+IHtcclxuICAgICAgICBjb25zdCBpdGVtTWFwID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcclxuICAgICAgICBjb25zdCBmdWxmaWxsbWVudEl0ZW1JZHMgPSB0aGlzLmZ1bGZpbGxtZW50Py5vcmRlckl0ZW1zLm1hcChpID0+IGkuaWQpO1xyXG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiB0aGlzLm9yZGVyLmxpbmVzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBsaW5lLml0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZnVsZmlsbG1lbnRJdGVtSWRzPy5pbmNsdWRlcyhpdGVtLmlkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvdW50ID0gaXRlbU1hcC5nZXQobGluZS5wcm9kdWN0VmFyaWFudC5uYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTWFwLnNldChsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUsIGNvdW50ICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbU1hcC5zZXQobGluZS5wcm9kdWN0VmFyaWFudC5uYW1lLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oaXRlbU1hcC5lbnRyaWVzKCkpLm1hcCgoW25hbWUsIHF1YW50aXR5XSkgPT4gKHsgbmFtZSwgcXVhbnRpdHkgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkQ3VzdG9tRmllbGRzRm9ybUdyb3VwKCkge1xyXG4gICAgICAgIGNvbnN0IGN1c3RvbUZpZWxkcyA9ICh0aGlzLmZ1bGZpbGxtZW50IGFzIGFueSkuY3VzdG9tRmllbGRzO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmllbGREZWYgb2YgdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcignRnVsZmlsbG1lbnQnKSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkRm9ybUdyb3VwLmFkZENvbnRyb2woZmllbGREZWYubmFtZSwgbmV3IEZvcm1Db250cm9sKGN1c3RvbUZpZWxkc1tmaWVsZERlZi5uYW1lXSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjdXN0b21GaWVsZElzT2JqZWN0KGN1c3RvbUZpZWxkOiB1bmtub3duKSB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY3VzdG9tRmllbGQpIHx8IGlzT2JqZWN0KGN1c3RvbUZpZWxkKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAge3sgZnVsZmlsbG1lbnQ/LmNyZWF0ZWRBdCB8IGxvY2FsZURhdGU6ICdtZWRpdW0nIH19XHJcbjwvdmRyLWxhYmVsZWQtZGF0YT5cclxuPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidvcmRlci5mdWxmaWxsbWVudC1tZXRob2QnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICB7eyBmdWxmaWxsbWVudD8ubWV0aG9kIH19XHJcbjwvdmRyLWxhYmVsZWQtZGF0YT5cclxuPHZkci1sYWJlbGVkLWRhdGEgKm5nSWY9XCJmdWxmaWxsbWVudD8udHJhY2tpbmdDb2RlXCIgW2xhYmVsXT1cIidvcmRlci50cmFja2luZy1jb2RlJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAge3sgZnVsZmlsbG1lbnQ/LnRyYWNraW5nQ29kZSB9fVxyXG48L3Zkci1sYWJlbGVkLWRhdGE+XHJcbjx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuY29udGVudHMnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8dmRyLXNpbXBsZS1pdGVtLWxpc3QgW2l0ZW1zXT1cIml0ZW1zXCI+PC92ZHItc2ltcGxlLWl0ZW0tbGlzdD5cclxuPC92ZHItbGFiZWxlZC1kYXRhPlxyXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjdXN0b21GaWVsZCBvZiBjdXN0b21GaWVsZENvbmZpZ1wiPlxyXG4gICAgPHZkci1jdXN0b20tZmllbGQtY29udHJvbFxyXG4gICAgICAgICpuZ0lmPVwiY3VzdG9tRmllbGRGb3JtR3JvdXAuZ2V0KGN1c3RvbUZpZWxkLm5hbWUpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbXBhY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2N1c3RvbUZpZWxkXT1cImN1c3RvbUZpZWxkXCJcclxuICAgICAgICBbY3VzdG9tRmllbGRzRm9ybUdyb3VwXT1cImN1c3RvbUZpZWxkRm9ybUdyb3VwXCJcclxuICAgID48L3Zkci1jdXN0b20tZmllbGQtY29udHJvbD5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvZnVsZmlsbG1lbnQtZGV0YWlsL2Z1bGZpbGxtZW50LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWRldGFpbC9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFRNUQsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCxzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBQzVDLHlCQUFvQixHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXNCLENBQUM7SUFFaEUsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxDQUNILElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxPQUFPO2dCQUNILElBQUksRUFDQSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUk7b0JBQ2hGLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO2FBQ3pCLENBQUM7UUFDTixDQUFDLENBQUMsSUFBSSxFQUFFLENBQ1gsQ0FBQztJQUNOLENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsTUFBTSxZQUFZLEdBQUksSUFBSSxDQUFDLFdBQW1CLENBQUMsWUFBWSxDQUFDO1FBQzVELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQy9FLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUFvQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7O3VIQTNDUSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwrSUNYdkMsczlCQXFCQTsyRkRWYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzBHQUd0QyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgT3JkZXJEZXRhaWxGcmFnbWVudCwgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZnVsZmlsbG1lbnQtZGV0YWlsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZnVsZmlsbG1lbnQtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZ1bGZpbGxtZW50RGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgZnVsZmlsbG1lbnRJZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgb3JkZXI6IE9yZGVyRGV0YWlsRnJhZ21lbnQ7XHJcblxyXG4gICAgY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkQ29uZmlnW10gPSBbXTtcclxuICAgIGN1c3RvbUZpZWxkRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2ZXJDb25maWdTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tRmllbGRDb25maWcgPSB0aGlzLnNlcnZlckNvbmZpZ1NlcnZpY2UuZ2V0Q3VzdG9tRmllbGRzRm9yKCdGdWxmaWxsbWVudCcpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICB0aGlzLmJ1aWxkQ3VzdG9tRmllbGRzRm9ybUdyb3VwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGZ1bGZpbGxtZW50KCk6IE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Z1bGZpbGxtZW50cyddPltudW1iZXJdIHwgdW5kZWZpbmVkIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3JkZXIuZnVsZmlsbG1lbnRzICYmIHRoaXMub3JkZXIuZnVsZmlsbG1lbnRzLmZpbmQoZiA9PiBmLmlkID09PSB0aGlzLmZ1bGZpbGxtZW50SWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpdGVtcygpOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgcXVhbnRpdHk6IG51bWJlciB9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudD8uc3VtbWFyeS5tYXAocm93ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcmRlci5saW5lcy5maW5kKGxpbmUgPT4gbGluZS5pZCA9PT0gcm93Lm9yZGVyTGluZS5pZCk/LnByb2R1Y3RWYXJpYW50Lm5hbWUgPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IHJvdy5xdWFudGl0eSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pID8/IFtdXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBidWlsZEN1c3RvbUZpZWxkc0Zvcm1Hcm91cCgpIHtcclxuICAgICAgICBjb25zdCBjdXN0b21GaWVsZHMgPSAodGhpcy5mdWxmaWxsbWVudCBhcyBhbnkpLmN1c3RvbUZpZWxkcztcclxuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkRGVmIG9mIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRDdXN0b21GaWVsZHNGb3IoJ0Z1bGZpbGxtZW50JykpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21GaWVsZEZvcm1Hcm91cC5hZGRDb250cm9sKGZpZWxkRGVmLm5hbWUsIG5ldyBGb3JtQ29udHJvbChjdXN0b21GaWVsZHNbZmllbGREZWYubmFtZV0pKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY3VzdG9tRmllbGRJc09iamVjdChjdXN0b21GaWVsZDogdW5rbm93bikge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGN1c3RvbUZpZWxkKSB8fCBpc09iamVjdChjdXN0b21GaWVsZCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIj5cclxuICAgIHt7IGZ1bGZpbGxtZW50Py5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlOiAnbWVkaXVtJyB9fVxyXG48L3Zkci1sYWJlbGVkLWRhdGE+XHJcbjx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuZnVsZmlsbG1lbnQtbWV0aG9kJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAge3sgZnVsZmlsbG1lbnQ/Lm1ldGhvZCB9fVxyXG48L3Zkci1sYWJlbGVkLWRhdGE+XHJcbjx2ZHItbGFiZWxlZC1kYXRhICpuZ0lmPVwiZnVsZmlsbG1lbnQ/LnRyYWNraW5nQ29kZVwiIFtsYWJlbF09XCInb3JkZXIudHJhY2tpbmctY29kZScgfCB0cmFuc2xhdGVcIj5cclxuICAgIHt7IGZ1bGZpbGxtZW50Py50cmFja2luZ0NvZGUgfX1cclxuPC92ZHItbGFiZWxlZC1kYXRhPlxyXG48dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ29yZGVyLmNvbnRlbnRzJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPHZkci1zaW1wbGUtaXRlbS1saXN0IFtpdGVtc109XCJpdGVtc1wiPjwvdmRyLXNpbXBsZS1pdGVtLWxpc3Q+XHJcbjwvdmRyLWxhYmVsZWQtZGF0YT5cclxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY3VzdG9tRmllbGQgb2YgY3VzdG9tRmllbGRDb25maWdcIj5cclxuICAgIDx2ZHItY3VzdG9tLWZpZWxkLWNvbnRyb2xcclxuICAgICAgICAqbmdJZj1cImN1c3RvbUZpZWxkRm9ybUdyb3VwLmdldChjdXN0b21GaWVsZC5uYW1lKVwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgIFtjb21wYWN0XT1cInRydWVcIlxyXG4gICAgICAgIFtjdXN0b21GaWVsZF09XCJjdXN0b21GaWVsZFwiXHJcbiAgICAgICAgW2N1c3RvbUZpZWxkc0Zvcm1Hcm91cF09XCJjdXN0b21GaWVsZEZvcm1Hcm91cFwiXHJcbiAgICA+PC92ZHItY3VzdG9tLWZpZWxkLWNvbnRyb2w+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -20,7 +20,7 @@ export class LineFulfillmentComponent {
20
20
  * Returns the number of items in an OrderLine which are fulfilled.
21
21
  */
22
22
  getDeliveredCount(line) {
23
- return line.items.reduce((sum, item) => sum + (item.fulfillment ? 1 : 0), 0);
23
+ return (line.fulfillments?.reduce((sum, fulfillment) => sum + (fulfillment.summary.find(s => s.orderLine.id === line.id)?.quantity ?? 0), 0) ?? 0);
24
24
  }
25
25
  getFulfillmentStatus(fulfilledCount, lineQuantity) {
26
26
  if (fulfilledCount === lineQuantity) {
@@ -32,31 +32,17 @@ export class LineFulfillmentComponent {
32
32
  return 'none';
33
33
  }
34
34
  getFulfillments(line) {
35
- const counts = {};
36
- for (const item of line.items) {
37
- if (item.fulfillment) {
38
- if (counts[item.fulfillment.id] === undefined) {
39
- counts[item.fulfillment.id] = 1;
40
- }
41
- else {
42
- counts[item.fulfillment.id]++;
43
- }
44
- }
45
- }
46
- const all = line.items.reduce((fulfillments, item) => {
47
- return item.fulfillment ? [...fulfillments, item.fulfillment] : fulfillments;
48
- }, []);
49
- return Object.entries(counts).map(([id, count]) => {
35
+ return (line.fulfillments?.map(fulfillment => {
36
+ const summaryLine = fulfillment.summary.find(s => s.orderLine.id === line.id);
50
37
  return {
51
- count,
52
- // tslint:disable-next-line:no-non-null-assertion
53
- fulfillment: all.find(f => f.id === id),
38
+ count: summaryLine?.quantity ?? 0,
39
+ fulfillment,
54
40
  };
55
- });
41
+ }) ?? []);
56
42
  }
57
43
  }
58
44
  LineFulfillmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: LineFulfillmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- LineFulfillmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: LineFulfillmentComponent, selector: "vdr-line-fulfillment", inputs: { line: "line", orderState: "orderState" }, usesOnChanges: true, ngImport: i0, template: "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\r\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'partial'\"\r\n class=\"item-partially-fulfilled\"\r\n shape=\"check-circle\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'none'\"\r\n class=\"item-not-fulfilled\"\r\n shape=\"exclamation-circle\"\r\n ></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\r\n {{ 'order.line-fulfillment-all' | translate }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\r\n {{\r\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\r\n }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\r\n {{ 'order.line-fulfillment-none' | translate }}\r\n </label>\r\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\r\n <div class=\"fulfillment-title\">\r\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\r\n 'order.item-count' | translate: { count: item.count }\r\n }})\r\n </div>\r\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\r\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\r\n {{ item.fulfillment.method }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data\r\n *ngIf=\"item.fulfillment.trackingCode\"\r\n [label]=\"'order.tracking-code' | translate\"\r\n >\r\n {{ item.fulfillment.trackingCode }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".item-fulfilled{color:var(--color-success-500)}.item-partially-fulfilled{color:var(--color-warning-500)}.item-not-fulfilled{color:var(--color-error-500)}.fulfillment-detail{margin:6px 12px}.fulfillment-detail:not(:last-of-type){border-bottom:1px dashed var(--color-component-border-200)}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }, { type: i1.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i3.ClrIconCustomTag, selector: "clr-icon" }, { type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe, "localeDate": i1.LocaleDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ LineFulfillmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: LineFulfillmentComponent, selector: "vdr-line-fulfillment", inputs: { line: "line", orderState: "orderState" }, usesOnChanges: true, ngImport: i0, template: "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\r\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'partial'\"\r\n class=\"item-partially-fulfilled\"\r\n shape=\"check-circle\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'none'\"\r\n class=\"item-not-fulfilled\"\r\n shape=\"exclamation-circle\"\r\n ></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\r\n {{ 'order.line-fulfillment-all' | translate }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\r\n {{\r\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\r\n }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\r\n {{ 'order.line-fulfillment-none' | translate }}\r\n </label>\r\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\r\n <div class=\"fulfillment-title\">\r\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\r\n 'order.item-count' | translate: { count: item.count }\r\n }})\r\n </div>\r\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\r\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\r\n {{ item.fulfillment.method }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data\r\n *ngIf=\"item.fulfillment.trackingCode\"\r\n [label]=\"'order.tracking-code' | translate\"\r\n >\r\n {{ item.fulfillment.trackingCode }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".item-fulfilled{color:var(--color-success-500)}.item-partially-fulfilled{color:var(--color-warning-500)}.item-not-fulfilled{color:var(--color-error-500)}.fulfillment-detail{margin:6px 12px}.fulfillment-detail:not(:last-of-type){border-bottom:1px dashed var(--color-component-border-200)}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { type: i1.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i3.ClrIconCustomTag, selector: "clr-icon" }, { type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe, "localeDate": i1.LocaleDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: LineFulfillmentComponent, decorators: [{
61
47
  type: Component,
62
48
  args: [{ selector: 'vdr-line-fulfillment', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\r\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'partial'\"\r\n class=\"item-partially-fulfilled\"\r\n shape=\"check-circle\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'none'\"\r\n class=\"item-not-fulfilled\"\r\n shape=\"exclamation-circle\"\r\n ></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\r\n {{ 'order.line-fulfillment-all' | translate }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\r\n {{\r\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\r\n }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\r\n {{ 'order.line-fulfillment-none' | translate }}\r\n </label>\r\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\r\n <div class=\"fulfillment-title\">\r\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\r\n 'order.item-count' | translate: { count: item.count }\r\n }})\r\n </div>\r\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\r\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\r\n {{ item.fulfillment.method }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data\r\n *ngIf=\"item.fulfillment.trackingCode\"\r\n [label]=\"'order.tracking-code' | translate\"\r\n >\r\n {{ item.fulfillment.trackingCode }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".item-fulfilled{color:var(--color-success-500)}.item-partially-fulfilled{color:var(--color-warning-500)}.item-not-fulfilled{color:var(--color-error-500)}.fulfillment-detail{margin:6px 12px}.fulfillment-detail:not(:last-of-type){border-bottom:1px dashed var(--color-component-border-200)}\n"] }]
@@ -65,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
65
51
  }], orderState: [{
66
52
  type: Input
67
53
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVlwRyxNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBU0ksbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFbkIsaUJBQVksR0FHUCxFQUFFLENBQUM7S0FxRFg7SUFuREcsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUFDLElBQTBDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxjQUFzQixFQUFFLFlBQW9CO1FBQ3JFLElBQUksY0FBYyxLQUFLLFlBQVksRUFBRTtZQUNqQyxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUNELElBQUksQ0FBQyxHQUFHLGNBQWMsSUFBSSxjQUFjLEdBQUcsWUFBWSxFQUFFO1lBQ3JELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVPLGVBQWUsQ0FDbkIsSUFBMEM7UUFFMUMsTUFBTSxNQUFNLEdBQXdDLEVBQUUsQ0FBQztRQUV2RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNuQztxQkFBTTtvQkFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNqQzthQUNKO1NBQ0o7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDakYsQ0FBQyxFQUFFLEVBQW1CLENBQUMsQ0FBQztRQUV4QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM5QyxPQUFPO2dCQUNILEtBQUs7Z0JBQ0wsaURBQWlEO2dCQUNqRCxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFFO2FBQzNDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQTVEUSx3QkFBd0I7eUdBQXhCLHdCQUF3QixxSUNackMsczBFQStDQTsyRkRuQ2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3JkZXJEZXRhaWxGcmFnbWVudCB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRTdGF0dXMgPSAnZnVsbCcgfCAncGFydGlhbCcgfCAnbm9uZSc7XHJcbnR5cGUgRnVsZmlsbG1lbnQgPSBOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydmdWxmaWxsbWVudHMnXT5bbnVtYmVyXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItbGluZS1mdWxmaWxsbWVudCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9saW5lLWZ1bGZpbGxtZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpbmVGdWxmaWxsbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBsaW5lOiBPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl07XHJcbiAgICBASW5wdXQoKSBvcmRlclN0YXRlOiBzdHJpbmc7XHJcbiAgICBmdWxmaWxsZWRDb3VudCA9IDA7XHJcbiAgICBmdWxmaWxsbWVudFN0YXR1czogRnVsZmlsbG1lbnRTdGF0dXM7XHJcbiAgICBmdWxmaWxsbWVudHM6IEFycmF5PHtcclxuICAgICAgICBjb3VudDogbnVtYmVyO1xyXG4gICAgICAgIGZ1bGZpbGxtZW50OiBGdWxmaWxsbWVudDtcclxuICAgIH0+ID0gW107XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5mdWxmaWxsZWRDb3VudCA9IHRoaXMuZ2V0RGVsaXZlcmVkQ291bnQodGhpcy5saW5lKTtcclxuICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudFN0YXR1cyA9IHRoaXMuZ2V0RnVsZmlsbG1lbnRTdGF0dXModGhpcy5mdWxmaWxsZWRDb3VudCwgdGhpcy5saW5lLml0ZW1zLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIHRoaXMuZnVsZmlsbG1lbnRzID0gdGhpcy5nZXRGdWxmaWxsbWVudHModGhpcy5saW5lKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gYW4gT3JkZXJMaW5lIHdoaWNoIGFyZSBmdWxmaWxsZWQuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0RGVsaXZlcmVkQ291bnQobGluZTogT3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gbGluZS5pdGVtcy5yZWR1Y2UoKHN1bSwgaXRlbSkgPT4gc3VtICsgKGl0ZW0uZnVsZmlsbG1lbnQgPyAxIDogMCksIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RnVsZmlsbG1lbnRTdGF0dXMoZnVsZmlsbGVkQ291bnQ6IG51bWJlciwgbGluZVF1YW50aXR5OiBudW1iZXIpOiBGdWxmaWxsbWVudFN0YXR1cyB7XHJcbiAgICAgICAgaWYgKGZ1bGZpbGxlZENvdW50ID09PSBsaW5lUXVhbnRpdHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuICdmdWxsJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKDAgPCBmdWxmaWxsZWRDb3VudCAmJiBmdWxmaWxsZWRDb3VudCA8IGxpbmVRdWFudGl0eSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ3BhcnRpYWwnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJ25vbmUnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RnVsZmlsbG1lbnRzKFxyXG4gICAgICAgIGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSxcclxuICAgICk6IEFycmF5PHsgY291bnQ6IG51bWJlcjsgZnVsZmlsbG1lbnQ6IEZ1bGZpbGxtZW50IH0+IHtcclxuICAgICAgICBjb25zdCBjb3VudHM6IHsgW2Z1bGZpbGxtZW50SWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBsaW5lLml0ZW1zKSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtLmZ1bGZpbGxtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY291bnRzW2l0ZW0uZnVsZmlsbG1lbnQuaWRdID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb3VudHNbaXRlbS5mdWxmaWxsbWVudC5pZF0gPSAxO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb3VudHNbaXRlbS5mdWxmaWxsbWVudC5pZF0rKztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBhbGwgPSBsaW5lLml0ZW1zLnJlZHVjZSgoZnVsZmlsbG1lbnRzLCBpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmZ1bGZpbGxtZW50ID8gWy4uLmZ1bGZpbGxtZW50cywgaXRlbS5mdWxmaWxsbWVudF0gOiBmdWxmaWxsbWVudHM7XHJcbiAgICAgICAgfSwgW10gYXMgRnVsZmlsbG1lbnRbXSk7XHJcblxyXG4gICAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjb3VudHMpLm1hcCgoW2lkLCBjb3VudF0pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGNvdW50LFxyXG4gICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnQ6IGFsbC5maW5kKGYgPT4gZi5pZCA9PT0gaWQpISxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWRyb3Bkb3duIGNsYXNzPVwic2VhcmNoLXNldHRpbmdzLW1lbnVcIiAqbmdJZj1cImZ1bGZpbGxlZENvdW50IHx8IG9yZGVyU3RhdGUgPT09ICdQYXJ0aWFsbHlEZWxpdmVyZWQnXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImljb24tYnV0dG9uXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgIDxjbHItaWNvbiAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAnZnVsbCdcIiBjbGFzcz1cIml0ZW0tZnVsZmlsbGVkXCIgc2hhcGU9XCJjaGVjay1jaXJjbGVcIj48L2Nsci1pY29uPlxyXG4gICAgICAgIDxjbHItaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAncGFydGlhbCdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIml0ZW0tcGFydGlhbGx5LWZ1bGZpbGxlZFwiXHJcbiAgICAgICAgICAgIHNoYXBlPVwiY2hlY2stY2lyY2xlXCJcclxuICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICA8Y2xyLWljb25cclxuICAgICAgICAgICAgKm5nSWY9XCJmdWxmaWxsbWVudFN0YXR1cyA9PT0gJ25vbmUnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpdGVtLW5vdC1mdWxmaWxsZWRcIlxyXG4gICAgICAgICAgICBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcbiAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiICpuZ0lmPVwiZnVsZmlsbG1lbnRTdGF0dXMgPT09ICdmdWxsJ1wiPlxyXG4gICAgICAgICAgICB7eyAnb3JkZXIubGluZS1mdWxmaWxsbWVudC1hbGwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIiAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAncGFydGlhbCdcIj5cclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICdvcmRlci5saW5lLWZ1bGZpbGxtZW50LXBhcnRpYWwnIHwgdHJhbnNsYXRlOiB7IHRvdGFsOiBsaW5lLnF1YW50aXR5LCBjb3VudDogZnVsZmlsbGVkQ291bnQgfVxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCIgKm5nSWY9XCJmdWxmaWxsbWVudFN0YXR1cyA9PT0gJ25vbmUnXCI+XHJcbiAgICAgICAgICAgIHt7ICdvcmRlci5saW5lLWZ1bGZpbGxtZW50LW5vbmUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnVsZmlsbG1lbnQtZGV0YWlsXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZnVsZmlsbG1lbnRzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLmZ1bGZpbGxtZW50JyB8IHRyYW5zbGF0ZSB9fSAje3sgaXRlbS5mdWxmaWxsbWVudC5pZCB9fSAoe3tcclxuICAgICAgICAgICAgICAgICAgICAnb3JkZXIuaXRlbS1jb3VudCcgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGl0ZW0uY291bnQgfVxyXG4gICAgICAgICAgICAgICAgfX0pXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlOiAnbWVkaXVtJyB9fVxyXG4gICAgICAgICAgICA8L3Zkci1sYWJlbGVkLWRhdGE+XHJcbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuZnVsZmlsbG1lbnQtbWV0aG9kJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC5tZXRob2QgfX1cclxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxyXG4gICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YVxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmZ1bGZpbGxtZW50LnRyYWNraW5nQ29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ29yZGVyLnRyYWNraW5nLWNvZGUnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC50cmFja2luZ0NvZGUgfX1cclxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuPC92ZHItZHJvcGRvd24+XHJcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWFwRyxNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBU0ksbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFbkIsaUJBQVksR0FHUCxFQUFFLENBQUM7S0E4Q1g7SUE1Q0csV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUFDLElBQTBDO1FBQ2hFLE9BQU8sQ0FDSCxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FDckIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FDakIsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxJQUFJLENBQUMsQ0FBQyxFQUNwRixDQUFDLENBQ0osSUFBSSxDQUFDLENBQ1QsQ0FBQztJQUNOLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxjQUFzQixFQUFFLFlBQW9CO1FBQ3JFLElBQUksY0FBYyxLQUFLLFlBQVksRUFBRTtZQUNqQyxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUNELElBQUksQ0FBQyxHQUFHLGNBQWMsSUFBSSxjQUFjLEdBQUcsWUFBWSxFQUFFO1lBQ3JELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVPLGVBQWUsQ0FDbkIsSUFBMEM7UUFFMUMsT0FBTyxDQUNILElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLElBQUksQ0FBQztnQkFDakMsV0FBVzthQUNkLENBQUM7UUFDTixDQUFDLENBQUMsSUFBSSxFQUFFLENBQ1gsQ0FBQztJQUNOLENBQUM7O3FIQXJEUSx3QkFBd0I7eUdBQXhCLHdCQUF3QixxSUNickMsczBFQStDQTsyRkRsQ2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3JkZXJEZXRhaWxGcmFnbWVudCB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyB1bmlxdWUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3VuaXF1ZSc7XHJcblxyXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudFN0YXR1cyA9ICdmdWxsJyB8ICdwYXJ0aWFsJyB8ICdub25lJztcclxudHlwZSBGdWxmaWxsbWVudCA9IE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Z1bGZpbGxtZW50cyddPltudW1iZXJdO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1saW5lLWZ1bGZpbGxtZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5lLWZ1bGZpbGxtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtZnVsZmlsbG1lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGluZUZ1bGZpbGxtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXTtcclxuICAgIEBJbnB1dCgpIG9yZGVyU3RhdGU6IHN0cmluZztcclxuICAgIGZ1bGZpbGxlZENvdW50ID0gMDtcclxuICAgIGZ1bGZpbGxtZW50U3RhdHVzOiBGdWxmaWxsbWVudFN0YXR1cztcclxuICAgIGZ1bGZpbGxtZW50czogQXJyYXk8e1xyXG4gICAgICAgIGNvdW50OiBudW1iZXI7XHJcbiAgICAgICAgZnVsZmlsbG1lbnQ6IEZ1bGZpbGxtZW50O1xyXG4gICAgfT4gPSBbXTtcclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubGluZSkge1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxlZENvdW50ID0gdGhpcy5nZXREZWxpdmVyZWRDb3VudCh0aGlzLmxpbmUpO1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50U3RhdHVzID0gdGhpcy5nZXRGdWxmaWxsbWVudFN0YXR1cyh0aGlzLmZ1bGZpbGxlZENvdW50LCB0aGlzLmxpbmUuaXRlbXMubGVuZ3RoKTtcclxuICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudHMgPSB0aGlzLmdldEZ1bGZpbGxtZW50cyh0aGlzLmxpbmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhbiBPcmRlckxpbmUgd2hpY2ggYXJlIGZ1bGZpbGxlZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXREZWxpdmVyZWRDb3VudChsaW5lOiBPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl0pOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGxpbmUuZnVsZmlsbG1lbnRzPy5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgICAoc3VtLCBmdWxmaWxsbWVudCkgPT5cclxuICAgICAgICAgICAgICAgICAgICBzdW0gKyAoZnVsZmlsbG1lbnQuc3VtbWFyeS5maW5kKHMgPT4gcy5vcmRlckxpbmUuaWQgPT09IGxpbmUuaWQpPy5xdWFudGl0eSA/PyAwKSxcclxuICAgICAgICAgICAgICAgIDAsXHJcbiAgICAgICAgICAgICkgPz8gMFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRGdWxmaWxsbWVudFN0YXR1cyhmdWxmaWxsZWRDb3VudDogbnVtYmVyLCBsaW5lUXVhbnRpdHk6IG51bWJlcik6IEZ1bGZpbGxtZW50U3RhdHVzIHtcclxuICAgICAgICBpZiAoZnVsZmlsbGVkQ291bnQgPT09IGxpbmVRdWFudGl0eSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJ2Z1bGwnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoMCA8IGZ1bGZpbGxlZENvdW50ICYmIGZ1bGZpbGxlZENvdW50IDwgbGluZVF1YW50aXR5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiAncGFydGlhbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAnbm9uZSc7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRGdWxmaWxsbWVudHMoXHJcbiAgICAgICAgbGluZTogT3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdLFxyXG4gICAgKTogQXJyYXk8eyBjb3VudDogbnVtYmVyOyBmdWxmaWxsbWVudDogTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+W251bWJlcl0gfT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGxpbmUuZnVsZmlsbG1lbnRzPy5tYXAoZnVsZmlsbG1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3VtbWFyeUxpbmUgPSBmdWxmaWxsbWVudC5zdW1tYXJ5LmZpbmQocyA9PiBzLm9yZGVyTGluZS5pZCA9PT0gbGluZS5pZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvdW50OiBzdW1tYXJ5TGluZT8ucXVhbnRpdHkgPz8gMCxcclxuICAgICAgICAgICAgICAgICAgICBmdWxmaWxsbWVudCxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pID8/IFtdXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWRyb3Bkb3duIGNsYXNzPVwic2VhcmNoLXNldHRpbmdzLW1lbnVcIiAqbmdJZj1cImZ1bGZpbGxlZENvdW50IHx8IG9yZGVyU3RhdGUgPT09ICdQYXJ0aWFsbHlEZWxpdmVyZWQnXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImljb24tYnV0dG9uXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgIDxjbHItaWNvbiAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAnZnVsbCdcIiBjbGFzcz1cIml0ZW0tZnVsZmlsbGVkXCIgc2hhcGU9XCJjaGVjay1jaXJjbGVcIj48L2Nsci1pY29uPlxyXG4gICAgICAgIDxjbHItaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAncGFydGlhbCdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIml0ZW0tcGFydGlhbGx5LWZ1bGZpbGxlZFwiXHJcbiAgICAgICAgICAgIHNoYXBlPVwiY2hlY2stY2lyY2xlXCJcclxuICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICA8Y2xyLWljb25cclxuICAgICAgICAgICAgKm5nSWY9XCJmdWxmaWxsbWVudFN0YXR1cyA9PT0gJ25vbmUnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpdGVtLW5vdC1mdWxmaWxsZWRcIlxyXG4gICAgICAgICAgICBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcbiAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiICpuZ0lmPVwiZnVsZmlsbG1lbnRTdGF0dXMgPT09ICdmdWxsJ1wiPlxyXG4gICAgICAgICAgICB7eyAnb3JkZXIubGluZS1mdWxmaWxsbWVudC1hbGwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIiAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAncGFydGlhbCdcIj5cclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICdvcmRlci5saW5lLWZ1bGZpbGxtZW50LXBhcnRpYWwnIHwgdHJhbnNsYXRlOiB7IHRvdGFsOiBsaW5lLnF1YW50aXR5LCBjb3VudDogZnVsZmlsbGVkQ291bnQgfVxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCIgKm5nSWY9XCJmdWxmaWxsbWVudFN0YXR1cyA9PT0gJ25vbmUnXCI+XHJcbiAgICAgICAgICAgIHt7ICdvcmRlci5saW5lLWZ1bGZpbGxtZW50LW5vbmUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnVsZmlsbG1lbnQtZGV0YWlsXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZnVsZmlsbG1lbnRzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ29yZGVyLmZ1bGZpbGxtZW50JyB8IHRyYW5zbGF0ZSB9fSAje3sgaXRlbS5mdWxmaWxsbWVudC5pZCB9fSAoe3tcclxuICAgICAgICAgICAgICAgICAgICAnb3JkZXIuaXRlbS1jb3VudCcgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGl0ZW0uY291bnQgfVxyXG4gICAgICAgICAgICAgICAgfX0pXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlOiAnbWVkaXVtJyB9fVxyXG4gICAgICAgICAgICA8L3Zkci1sYWJlbGVkLWRhdGE+XHJcbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuZnVsZmlsbG1lbnQtbWV0aG9kJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC5tZXRob2QgfX1cclxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxyXG4gICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YVxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmZ1bGZpbGxtZW50LnRyYWNraW5nQ29kZVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ29yZGVyLnRyYWNraW5nLWNvZGUnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC50cmFja2luZ0NvZGUgfX1cclxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuPC92ZHItZHJvcGRvd24+XHJcbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/forms";
4
5
  import * as i2 from "@vendure/admin-ui/core";
@@ -6,8 +7,9 @@ import * as i3 from "@angular/common";
6
7
  import * as i4 from "@clr/angular";
7
8
  import * as i5 from "@ngx-translate/core";
8
9
  export class OrderCustomFieldsCardComponent {
9
- constructor(formBuilder) {
10
+ constructor(formBuilder, modalService) {
10
11
  this.formBuilder = formBuilder;
12
+ this.modalService = modalService;
11
13
  this.customFieldsConfig = [];
12
14
  this.customFieldValues = {};
13
15
  this.updateClick = new EventEmitter();
@@ -24,17 +26,39 @@ export class OrderCustomFieldsCardComponent {
24
26
  this.customFieldForm.markAsPristine();
25
27
  this.editable = false;
26
28
  }
29
+ onCancelClick() {
30
+ if (this.customFieldForm.dirty) {
31
+ this.modalService
32
+ .dialog({
33
+ title: _('catalog.confirm-cancel'),
34
+ buttons: [
35
+ { type: 'secondary', label: _('common.keep-editing') },
36
+ { type: 'danger', label: _('common.discard-changes'), returnValue: true },
37
+ ],
38
+ })
39
+ .subscribe(result => {
40
+ if (result) {
41
+ this.customFieldForm.reset();
42
+ this.customFieldForm.markAsPristine();
43
+ this.editable = false;
44
+ }
45
+ });
46
+ }
47
+ else {
48
+ this.editable = false;
49
+ }
50
+ }
27
51
  }
28
- OrderCustomFieldsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderCustomFieldsCardComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
29
- OrderCustomFieldsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: OrderCustomFieldsCardComponent, selector: "vdr-order-custom-fields-card", inputs: { customFieldsConfig: "customFieldsConfig", customFieldValues: "customFieldValues" }, outputs: { updateClick: "updateClick" }, ngImport: i0, template: "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\r\n <div class=\"card-header\">\r\n {{ 'common.custom-fields' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\r\n <ng-container *ngFor=\"let customField of customFieldsConfig\">\r\n <vdr-custom-field-control\r\n entityName=\"Order\"\r\n [customFieldsFormGroup]=\"customFieldForm\"\r\n [compact]=\"true\"\r\n [readonly]=\"customField.readonly || !editable\"\r\n [customField]=\"customField\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\r\n <clr-icon shape=\"pencil\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-primary\"\r\n (click)=\"onUpdateClick()\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["vdr-custom-field-control{margin-bottom:6px;display:block}.custom-field-form ::ng-deep .clr-control-label{color:var(--color-grey-400)}.custom-field-form.editable ::ng-deep .clr-control-label{color:inherit}\n"], components: [{ type: i2.CustomFieldControlComponent, selector: "vdr-custom-field-control", inputs: ["entityName", "customFieldsFormGroup", "customField", "compact", "showLabel", "readonly"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ OrderCustomFieldsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderCustomFieldsCardComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ModalService }], target: i0.ɵɵFactoryTarget.Component });
53
+ OrderCustomFieldsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: OrderCustomFieldsCardComponent, selector: "vdr-order-custom-fields-card", inputs: { customFieldsConfig: "customFieldsConfig", customFieldValues: "customFieldValues" }, outputs: { updateClick: "updateClick" }, ngImport: i0, template: "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\r\n <div class=\"card-header\">\r\n {{ 'common.custom-fields' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Order\"\r\n [customFields]=\"customFieldsConfig\"\r\n [customFieldsFormGroup]=\"customFieldForm\"\r\n [readonly]=\"!editable\"\r\n [compact]=\"true\"\r\n ></vdr-tabbed-custom-fields>\r\n </div>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\r\n <clr-icon shape=\"pencil\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-primary\"\r\n (click)=\"onUpdateClick()\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'common.update' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-secondary\"\r\n (click)=\"onCancelClick()\"\r\n *ngIf=\"editable\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["vdr-custom-field-control{margin-bottom:6px;display:block}.custom-field-form ::ng-deep .clr-control-label{color:var(--color-grey-400)}.custom-field-form.editable ::ng-deep .clr-control-label{color:inherit}\n"], components: [{ type: i2.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: OrderCustomFieldsCardComponent, decorators: [{
31
55
  type: Component,
32
- args: [{ selector: 'vdr-order-custom-fields-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\r\n <div class=\"card-header\">\r\n {{ 'common.custom-fields' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\r\n <ng-container *ngFor=\"let customField of customFieldsConfig\">\r\n <vdr-custom-field-control\r\n entityName=\"Order\"\r\n [customFieldsFormGroup]=\"customFieldForm\"\r\n [compact]=\"true\"\r\n [readonly]=\"customField.readonly || !editable\"\r\n [customField]=\"customField\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\r\n <clr-icon shape=\"pencil\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-primary\"\r\n (click)=\"onUpdateClick()\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["vdr-custom-field-control{margin-bottom:6px;display:block}.custom-field-form ::ng-deep .clr-control-label{color:var(--color-grey-400)}.custom-field-form.editable ::ng-deep .clr-control-label{color:inherit}\n"] }]
33
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { customFieldsConfig: [{
56
+ args: [{ selector: 'vdr-order-custom-fields-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\r\n <div class=\"card-header\">\r\n {{ 'common.custom-fields' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Order\"\r\n [customFields]=\"customFieldsConfig\"\r\n [customFieldsFormGroup]=\"customFieldForm\"\r\n [readonly]=\"!editable\"\r\n [compact]=\"true\"\r\n ></vdr-tabbed-custom-fields>\r\n </div>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\r\n <clr-icon shape=\"pencil\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-primary\"\r\n (click)=\"onUpdateClick()\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'common.update' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-secondary\"\r\n (click)=\"onCancelClick()\"\r\n *ngIf=\"editable\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["vdr-custom-field-control{margin-bottom:6px;display:block}.custom-field-form ::ng-deep .clr-control-label{color:var(--color-grey-400)}.custom-field-form.editable ::ng-deep .clr-control-label{color:inherit}\n"] }]
57
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ModalService }]; }, propDecorators: { customFieldsConfig: [{
34
58
  type: Input
35
59
  }], customFieldValues: [{
36
60
  type: Input
37
61
  }], updateClick: [{
38
62
  type: Output
39
63
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvb3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC9vcmRlci1jdXN0b20tZmllbGRzLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVV4RyxNQUFNLE9BQU8sOEJBQThCO0lBTXZDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTG5DLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFDN0Msc0JBQWlCLEdBQTRCLEVBQUUsQ0FBQztRQUMvQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEQsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUM4QixDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUMzQixLQUFLLENBQUMsSUFBSSxFQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7MkhBdEJRLDhCQUE4QjsrR0FBOUIsOEJBQThCLDJNQ1YzQyxpNkNBaUNBOzJGRHZCYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNO2tHQUd0QyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1vcmRlci1jdXN0b20tZmllbGRzLWNhcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9vcmRlci1jdXN0b20tZmllbGRzLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JkZXJDdXN0b21GaWVsZHNDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkc0NvbmZpZzogQ3VzdG9tRmllbGRDb25maWdbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgY3VzdG9tRmllbGRWYWx1ZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICBAT3V0cHV0KCkgdXBkYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIGN1c3RvbUZpZWxkRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgZWRpdGFibGUgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tRmllbGRGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB0aGlzLmN1c3RvbUZpZWxkc0NvbmZpZykge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkRm9ybS5hZGRDb250cm9sKFxyXG4gICAgICAgICAgICAgICAgZmllbGQubmFtZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh0aGlzLmN1c3RvbUZpZWxkVmFsdWVzW2ZpZWxkLm5hbWVdKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25VcGRhdGVDbGljaygpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUNsaWNrLmVtaXQodGhpcy5jdXN0b21GaWVsZEZvcm0udmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tRmllbGRGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJjdXN0b21GaWVsZHNDb25maWcubGVuZ3RoXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICB7eyAnY29tbW9uLmN1c3RvbS1maWVsZHMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGV4dCBjdXN0b20tZmllbGQtZm9ybVwiIFtjbGFzcy5lZGl0YWJsZV09XCJlZGl0YWJsZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjdXN0b21GaWVsZCBvZiBjdXN0b21GaWVsZHNDb25maWdcIj5cclxuICAgICAgICAgICAgICAgIDx2ZHItY3VzdG9tLWZpZWxkLWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBlbnRpdHlOYW1lPVwiT3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21GaWVsZHNGb3JtR3JvdXBdPVwiY3VzdG9tRmllbGRGb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiY3VzdG9tRmllbGQucmVhZG9ubHkgfHwgIWVkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tRmllbGRdPVwiY3VzdG9tRmllbGRcIlxyXG4gICAgICAgICAgICAgICAgPjwvdmRyLWN1c3RvbS1maWVsZC1jb250cm9sPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJlZGl0YWJsZSA9IHRydWVcIiAqbmdJZj1cIiFlZGl0YWJsZVwiPlxyXG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJwZW5jaWxcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnY29tbW9uLmVkaXQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25VcGRhdGVDbGljaygpXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJlZGl0YWJsZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjdXN0b21GaWVsZEZvcm0ucHJpc3RpbmUgfHwgY3VzdG9tRmllbGRGb3JtLmludmFsaWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY2hlY2tcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnY29tbW9uLnVwZGF0ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvb3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC9vcmRlci1jdXN0b20tZmllbGRzLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7O0FBU3RFLE1BQU0sT0FBTyw4QkFBOEI7SUFNdkMsWUFBb0IsV0FBd0IsRUFBVSxZQUEwQjtRQUE1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBTHZFLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFDN0Msc0JBQWlCLEdBQTRCLEVBQUUsQ0FBQztRQUMvQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEQsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUNrRSxDQUFDO0lBRXBGLFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUMzQixLQUFLLENBQUMsSUFBSSxFQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZO2lCQUNaLE1BQU0sQ0FBQztnQkFDSixLQUFLLEVBQUUsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO2dCQUNsQyxPQUFPLEVBQUU7b0JBQ0wsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRTtvQkFDdEQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2lCQUM1RTthQUNKLENBQUM7aUJBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQixJQUFJLE1BQU0sRUFBRTtvQkFDUixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztpQkFDekI7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNMLENBQUM7OzJIQTVDUSw4QkFBOEI7K0dBQTlCLDhCQUE4QiwyTUNYM0MsaWlEQXVDQTsyRkQ1QmEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTTs2SEFHdEMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLW9yZGVyLWN1c3RvbS1maWVsZHMtY2FyZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItY3VzdG9tLWZpZWxkcy1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL29yZGVyLWN1c3RvbS1maWVsZHMtY2FyZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlckN1c3RvbUZpZWxkc0NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY3VzdG9tRmllbGRzQ29uZmlnOiBDdXN0b21GaWVsZENvbmZpZ1tdID0gW107XHJcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZFZhbHVlczogeyBbbmFtZTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgIEBPdXRwdXQoKSB1cGRhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgY3VzdG9tRmllbGRGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBlZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21GaWVsZEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHt9KTtcclxuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuY3VzdG9tRmllbGRzQ29uZmlnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRmllbGRGb3JtLmFkZENvbnRyb2woXHJcbiAgICAgICAgICAgICAgICBmaWVsZC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHRoaXMuY3VzdG9tRmllbGRWYWx1ZXNbZmllbGQubmFtZV0pLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblVwZGF0ZUNsaWNrKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ2xpY2suZW1pdCh0aGlzLmN1c3RvbUZpZWxkRm9ybS52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21GaWVsZEZvcm0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgICAgICB0aGlzLmVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgb25DYW5jZWxDbGljaygpIHtcclxuICAgICAgICBpZiAodGhpcy5jdXN0b21GaWVsZEZvcm0uZGlydHkpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5kaWFsb2coe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBfKCdjYXRhbG9nLmNvbmZpcm0tY2FuY2VsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdzZWNvbmRhcnknLCBsYWJlbDogXygnY29tbW9uLmtlZXAtZWRpdGluZycpIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ2RhbmdlcicsIGxhYmVsOiBfKCdjb21tb24uZGlzY2FyZC1jaGFuZ2VzJyksIHJldHVyblZhbHVlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkRm9ybS5yZXNldCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkRm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiICpuZ0lmPVwiY3VzdG9tRmllbGRzQ29uZmlnLmxlbmd0aFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAge3sgJ2NvbW1vbi5jdXN0b20tZmllbGRzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9ja1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRleHQgY3VzdG9tLWZpZWxkLWZvcm1cIiBbY2xhc3MuZWRpdGFibGVdPVwiZWRpdGFibGVcIj5cclxuICAgICAgICAgICAgPHZkci10YWJiZWQtY3VzdG9tLWZpZWxkc1xyXG4gICAgICAgICAgICAgICAgZW50aXR5TmFtZT1cIk9yZGVyXCJcclxuICAgICAgICAgICAgICAgIFtjdXN0b21GaWVsZHNdPVwiY3VzdG9tRmllbGRzQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgIFtjdXN0b21GaWVsZHNGb3JtR3JvdXBdPVwiY3VzdG9tRmllbGRGb3JtXCJcclxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhZWRpdGFibGVcIlxyXG4gICAgICAgICAgICAgICAgW2NvbXBhY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L3Zkci10YWJiZWQtY3VzdG9tLWZpZWxkcz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJlZGl0YWJsZSA9IHRydWVcIiAqbmdJZj1cIiFlZGl0YWJsZVwiPlxyXG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJwZW5jaWxcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnY29tbW9uLmVkaXQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25VcGRhdGVDbGljaygpXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJlZGl0YWJsZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjdXN0b21GaWVsZEZvcm0ucHJpc3RpbmUgfHwgY3VzdG9tRmllbGRGb3JtLmludmFsaWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY2hlY2tcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnY29tbW9uLnVwZGF0ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZWRpdGFibGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidGltZXNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnY29tbW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19