@deenruv/admin-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1175) hide show
  1. package/LICENSE +23 -0
  2. package/catalog/catalog.module.d.ts +43 -0
  3. package/catalog/catalog.routes.d.ts +4 -0
  4. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +16 -0
  5. package/catalog/components/asset-detail/asset-detail.component.d.ts +28 -0
  6. package/catalog/components/asset-list/asset-list.component.d.ts +23 -0
  7. package/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +35 -0
  8. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +40 -0
  9. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  10. package/catalog/components/collection-contents/collection-contents.component.d.ts +39 -0
  11. package/catalog/components/collection-data-table/collection-data-table.component.d.ts +80 -0
  12. package/catalog/components/collection-detail/collection-detail.component.d.ts +71 -0
  13. package/catalog/components/collection-list/collection-breadcrumb.pipe.d.ts +11 -0
  14. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +8 -0
  15. package/catalog/components/collection-list/collection-list.component.d.ts +25 -0
  16. package/catalog/components/collection-tree/array-to-tree.d.ts +19 -0
  17. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +44 -0
  18. package/catalog/components/collection-tree/collection-tree.component.d.ts +22 -0
  19. package/catalog/components/collection-tree/collection-tree.service.d.ts +33 -0
  20. package/catalog/components/collection-tree/collection-tree.types.d.ts +7 -0
  21. package/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +10 -0
  22. package/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.d.ts +19 -0
  23. package/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.d.ts +18 -0
  24. package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +27 -0
  25. package/catalog/components/facet-detail/facet-detail.component.d.ts +76 -0
  26. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +7 -0
  27. package/catalog/components/facet-list/facet-list.component.d.ts +19 -0
  28. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +65 -0
  29. package/catalog/components/move-collections-dialog/move-collections-dialog.component.d.ts +23 -0
  30. package/catalog/components/option-value-input/option-value-input.component.d.ts +48 -0
  31. package/catalog/components/product-detail/product-detail.component.d.ts +75 -0
  32. package/catalog/components/product-list/product-list-bulk-actions.d.ts +7 -0
  33. package/catalog/components/product-list/product-list.component.d.ts +18 -0
  34. package/catalog/components/product-list/product-list.graphql.d.ts +1 -0
  35. package/catalog/components/product-options-editor/product-options-editor.component.d.ts +47 -0
  36. package/catalog/components/product-variant-detail/product-variant-detail.component.d.ts +79 -0
  37. package/catalog/components/product-variant-detail/product-variant-detail.graphql.d.ts +3 -0
  38. package/catalog/components/product-variant-list/product-variant-list-bulk-actions.d.ts +6 -0
  39. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +14 -0
  40. package/catalog/components/product-variant-list/product-variant-list.graphql.d.ts +1 -0
  41. package/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.d.ts +18 -0
  42. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +88 -0
  43. package/catalog/components/product-variants-table/product-variants-table.component.d.ts +55 -0
  44. package/catalog/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +25 -0
  45. package/catalog/components/variant-price-detail/variant-price-detail.component.d.ts +20 -0
  46. package/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.d.ts +10 -0
  47. package/catalog/index.d.ts +5 -0
  48. package/catalog/providers/product-detail/product-detail.service.d.ts +286 -0
  49. package/catalog/providers/product-detail/replace-last.d.ts +6 -0
  50. package/catalog/providers/routing/product-variants-resolver.d.ts +8 -0
  51. package/catalog/public_api.d.ts +48 -0
  52. package/core/app.component.d.ts +19 -0
  53. package/core/app.component.module.d.ts +9 -0
  54. package/core/app.config.d.ts +3 -0
  55. package/core/common/base-detail.component.d.ts +146 -0
  56. package/core/common/base-entity-resolver.d.ts +45 -0
  57. package/core/common/base-list.component.d.ts +138 -0
  58. package/core/common/component-registry-types.d.ts +65 -0
  59. package/core/common/deactivate-aware.d.ts +8 -0
  60. package/core/common/detail-breadcrumb.d.ts +12 -0
  61. package/core/common/generated-types.d.ts +20279 -0
  62. package/core/common/introspection-result-wrapper.d.ts +1 -0
  63. package/core/common/introspection-result.d.ts +7 -0
  64. package/core/common/single-search-selection-model.d.ts +16 -0
  65. package/core/common/title-setter.d.ts +4 -0
  66. package/core/common/utilities/bulk-action-utils.d.ts +49 -0
  67. package/core/common/utilities/configurable-operation-utils.d.ts +48 -0
  68. package/core/common/utilities/create-updated-translatable.d.ts +25 -0
  69. package/core/common/utilities/custom-field-default-value.d.ts +6 -0
  70. package/core/common/utilities/find-translation.d.ts +14 -0
  71. package/core/common/utilities/get-default-ui-language.d.ts +3 -0
  72. package/core/common/utilities/interpolate-description.d.ts +7 -0
  73. package/core/common/utilities/selection-manager.d.ts +30 -0
  74. package/core/common/utilities/string-to-color.d.ts +4 -0
  75. package/core/common/version.d.ts +1 -0
  76. package/core/components/alerts/alerts.component.d.ts +11 -0
  77. package/core/components/app-shell/app-shell.component.d.ts +41 -0
  78. package/core/components/base-nav/base-nav.component.d.ts +30 -0
  79. package/core/components/breadcrumb/breadcrumb.component.d.ts +27 -0
  80. package/core/components/channel-switcher/channel-switcher.component.d.ts +21 -0
  81. package/core/components/main-nav/main-nav.component.d.ts +22 -0
  82. package/core/components/notification/notification.component.d.ts +37 -0
  83. package/core/components/overlay-host/overlay-host.component.d.ts +12 -0
  84. package/core/components/settings-nav/settings-nav.component.d.ts +11 -0
  85. package/core/components/theme-switcher/theme-switcher.component.d.ts +16 -0
  86. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +30 -0
  87. package/core/components/user-menu/user-menu.component.d.ts +12 -0
  88. package/core/core.module.d.ts +39 -0
  89. package/core/data/check-jobs-link.d.ts +19 -0
  90. package/core/data/client-state/client-defaults.d.ts +32 -0
  91. package/core/data/client-state/client-resolvers.d.ts +12 -0
  92. package/core/data/data.module.d.ts +17 -0
  93. package/core/data/definitions/administrator-definitions.d.ts +14 -0
  94. package/core/data/definitions/auth-definitions.d.ts +4 -0
  95. package/core/data/definitions/client-definitions.d.ts +17 -0
  96. package/core/data/definitions/collection-definitions.d.ts +13 -0
  97. package/core/data/definitions/customer-definitions.d.ts +23 -0
  98. package/core/data/definitions/facet-definitions.d.ts +13 -0
  99. package/core/data/definitions/order-definitions.d.ts +39 -0
  100. package/core/data/definitions/product-definitions.d.ts +49 -0
  101. package/core/data/definitions/promotion-definitions.d.ts +6 -0
  102. package/core/data/definitions/settings-definitions.d.ts +69 -0
  103. package/core/data/definitions/shared-definitions.d.ts +3 -0
  104. package/core/data/definitions/shipping-definitions.d.ts +8 -0
  105. package/core/data/omit-typename-link.d.ts +11 -0
  106. package/core/data/providers/administrator-data.service.d.ts +19 -0
  107. package/core/data/providers/auth-data.service.d.ts +9 -0
  108. package/core/data/providers/base-data.service.d.ts +26 -0
  109. package/core/data/providers/client-data.service.d.ts +26 -0
  110. package/core/data/providers/collection-data.service.d.ts +25 -0
  111. package/core/data/providers/customer-data.service.d.ts +36 -0
  112. package/core/data/providers/data.service.d.ts +86 -0
  113. package/core/data/providers/facet-data.service.d.ts +19 -0
  114. package/core/data/providers/fetch-adapter.d.ts +14 -0
  115. package/core/data/providers/interceptor.d.ts +49 -0
  116. package/core/data/providers/order-data.service.d.ts +48 -0
  117. package/core/data/providers/product-data.service.d.ts +86 -0
  118. package/core/data/providers/promotion-data.service.d.ts +11 -0
  119. package/core/data/providers/settings-data.service.d.ts +74 -0
  120. package/core/data/providers/shipping-method-data.service.d.ts +17 -0
  121. package/core/data/query-result.d.ts +43 -0
  122. package/core/data/server-config.d.ts +39 -0
  123. package/core/data/utils/add-custom-fields.d.ts +7 -0
  124. package/core/data/utils/get-server-location.d.ts +4 -0
  125. package/core/data/utils/is-entity-create-or-update-mutation.d.ts +6 -0
  126. package/core/data/utils/remove-readonly-custom-fields.d.ts +17 -0
  127. package/core/data/utils/transform-relation-custom-field-inputs.d.ts +8 -0
  128. package/core/extension/add-action-bar-dropdown-menu-item.d.ts +25 -0
  129. package/core/extension/add-action-bar-item.d.ts +21 -0
  130. package/core/extension/add-nav-menu-item.d.ts +56 -0
  131. package/core/extension/components/angular-route.component.d.ts +26 -0
  132. package/core/extension/components/route.component.d.ts +20 -0
  133. package/core/extension/providers/page-metadata.service.d.ts +9 -0
  134. package/core/extension/register-alert.d.ts +11 -0
  135. package/core/extension/register-bulk-action.d.ts +49 -0
  136. package/core/extension/register-custom-detail-component.d.ts +55 -0
  137. package/core/extension/register-dashboard-widget.d.ts +17 -0
  138. package/core/extension/register-data-table-component.d.ts +45 -0
  139. package/core/extension/register-form-input-component.d.ts +51 -0
  140. package/core/extension/register-history-entry-component.d.ts +66 -0
  141. package/core/extension/register-page-tab.d.ts +23 -0
  142. package/core/extension/register-route-component.d.ts +109 -0
  143. package/core/extension/types.d.ts +11 -0
  144. package/core/index.d.ts +5 -0
  145. package/core/providers/alerts/alerts.service.d.ts +150 -0
  146. package/core/providers/auth/auth.service.d.ts +40 -0
  147. package/core/providers/breadcrumb/breadcrumb.service.d.ts +39 -0
  148. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +9 -0
  149. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  150. package/core/providers/channel/channel.service.d.ts +16 -0
  151. package/core/providers/component-registry/component-registry.service.d.ts +13 -0
  152. package/core/providers/currency/currency.service.d.ts +10 -0
  153. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +26 -0
  154. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +9 -0
  155. package/core/providers/custom-field-component/custom-field-component.service.d.ts +25 -0
  156. package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
  157. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +10 -0
  158. package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +56 -0
  159. package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +24 -0
  160. package/core/providers/data-table/data-table-filter-collection.d.ts +48 -0
  161. package/core/providers/data-table/data-table-filter.d.ts +108 -0
  162. package/core/providers/data-table/data-table-sort-collection.d.ts +24 -0
  163. package/core/providers/data-table/data-table-sort.d.ts +14 -0
  164. package/core/providers/guard/auth.guard.d.ts +17 -0
  165. package/core/providers/health-check/health-check.service.d.ts +40 -0
  166. package/core/providers/i18n/custom-http-loader.d.ts +21 -0
  167. package/core/providers/i18n/custom-message-format-compiler.d.ts +15 -0
  168. package/core/providers/i18n/i18n.service.d.ts +39 -0
  169. package/core/providers/job-queue/job-queue.service.d.ts +22 -0
  170. package/core/providers/local-storage/local-storage.service.d.ts +66 -0
  171. package/core/providers/localization/localization.service.d.ts +21 -0
  172. package/core/providers/modal/modal.service.d.ts +67 -0
  173. package/core/providers/modal/modal.types.d.ts +69 -0
  174. package/core/providers/nav-builder/nav-builder-types.d.ts +279 -0
  175. package/core/providers/nav-builder/nav-builder.service.d.ts +64 -0
  176. package/core/providers/notification/notification.service.d.ts +105 -0
  177. package/core/providers/overlay-host/overlay-host.service.d.ts +25 -0
  178. package/core/providers/page/page.service.d.ts +61 -0
  179. package/core/providers/permissions/permissions.service.d.ts +26 -0
  180. package/core/public_api.d.ts +313 -0
  181. package/core/shared/components/action-bar/action-bar.component.d.ts +17 -0
  182. package/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.d.ts +15 -0
  183. package/core/shared/components/action-bar-items/action-bar-base.component.d.ts +29 -0
  184. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +11 -0
  185. package/core/shared/components/address-form/address-form.component.d.ts +10 -0
  186. package/core/shared/components/affixed-input/affixed-input.component.d.ts +10 -0
  187. package/core/shared/components/affixed-input/percentage-suffix-input.component.d.ts +22 -0
  188. package/core/shared/components/asset-file-input/asset-file-input.component.d.ts +39 -0
  189. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +97 -0
  190. package/core/shared/components/asset-gallery/asset-gallery.types.d.ts +3 -0
  191. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +60 -0
  192. package/core/shared/components/asset-preview/asset-preview.component.d.ts +61 -0
  193. package/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +22 -0
  194. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +8 -0
  195. package/core/shared/components/asset-search-input/asset-search-input.component.d.ts +26 -0
  196. package/core/shared/components/assets/assets.component.d.ts +36 -0
  197. package/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +28 -0
  198. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +34 -0
  199. package/core/shared/components/card/card.component.d.ts +13 -0
  200. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +32 -0
  201. package/core/shared/components/channel-badge/channel-badge.component.d.ts +7 -0
  202. package/core/shared/components/chart/chart.component.d.ts +28 -0
  203. package/core/shared/components/chart/tooltip-plugin.d.ts +21 -0
  204. package/core/shared/components/chip/chip.component.d.ts +38 -0
  205. package/core/shared/components/configurable-input/configurable-input.component.d.ts +43 -0
  206. package/core/shared/components/currency-code-selector/currency-code-selector.component.d.ts +21 -0
  207. package/core/shared/components/currency-input/currency-input.component.d.ts +53 -0
  208. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +20 -0
  209. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +31 -0
  210. package/core/shared/components/customer-label/customer-label.component.d.ts +7 -0
  211. package/core/shared/components/data-table/data-table-column.component.d.ts +11 -0
  212. package/core/shared/components/data-table/data-table.component.d.ts +107 -0
  213. package/core/shared/components/data-table-2/data-table-column.component.d.ts +25 -0
  214. package/core/shared/components/data-table-2/data-table-custom-component.service.d.ts +52 -0
  215. package/core/shared/components/data-table-2/data-table-custom-field-column.component.d.ts +18 -0
  216. package/core/shared/components/data-table-2/data-table-search.component.d.ts +10 -0
  217. package/core/shared/components/data-table-2/data-table2.component.d.ts +134 -0
  218. package/core/shared/components/data-table-column-picker/data-table-column-picker.component.d.ts +19 -0
  219. package/core/shared/components/data-table-filter-label/data-table-filter-label.component.d.ts +11 -0
  220. package/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.d.ts +25 -0
  221. package/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.d.ts +30 -0
  222. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +34 -0
  223. package/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.d.ts +9 -0
  224. package/core/shared/components/data-table-filters/custom-filter-component.directive.d.ts +8 -0
  225. package/core/shared/components/data-table-filters/data-table-filters.component.d.ts +30 -0
  226. package/core/shared/components/datetime-picker/constants.d.ts +5 -0
  227. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +100 -0
  228. package/core/shared/components/datetime-picker/datetime-picker.service.d.ts +37 -0
  229. package/core/shared/components/datetime-picker/types.d.ts +11 -0
  230. package/core/shared/components/dropdown/dropdown-item.directive.d.ts +9 -0
  231. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +42 -0
  232. package/core/shared/components/dropdown/dropdown-trigger.directive.d.ts +11 -0
  233. package/core/shared/components/dropdown/dropdown.component.d.ts +39 -0
  234. package/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.d.ts +33 -0
  235. package/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.graphql.d.ts +2 -0
  236. package/core/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +18 -0
  237. package/core/shared/components/empty-placeholder/empty-placeholder.component.d.ts +6 -0
  238. package/core/shared/components/entity-info/entity-info.component.d.ts +11 -0
  239. package/core/shared/components/extension-host/extension-host-config.d.ts +9 -0
  240. package/core/shared/components/extension-host/extension-host.component.d.ts +28 -0
  241. package/core/shared/components/extension-host/extension-host.service.d.ts +23 -0
  242. package/core/shared/components/extension-host/host-external-frame.d.ts +28 -0
  243. package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +11 -0
  244. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +49 -0
  245. package/core/shared/components/focal-point-control/focal-point-control.component.d.ts +24 -0
  246. package/core/shared/components/form-field/form-field-control.directive.d.ts +15 -0
  247. package/core/shared/components/form-field/form-field.component.d.ts +32 -0
  248. package/core/shared/components/form-item/form-item.component.d.ts +11 -0
  249. package/core/shared/components/formatted-address/formatted-address.component.d.ts +13 -0
  250. package/core/shared/components/help-tooltip/help-tooltip.component.d.ts +7 -0
  251. package/core/shared/components/history-entry-detail/history-entry-detail.component.d.ts +5 -0
  252. package/core/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +11 -0
  253. package/core/shared/components/labeled-data/labeled-data.component.d.ts +6 -0
  254. package/core/shared/components/language-code-selector/language-code-selector.component.d.ts +20 -0
  255. package/core/shared/components/language-selector/language-selector.component.d.ts +11 -0
  256. package/core/shared/components/localized-text/localized-text.component.d.ts +13 -0
  257. package/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +24 -0
  258. package/core/shared/components/modal-dialog/dialog-buttons.directive.d.ts +14 -0
  259. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +14 -0
  260. package/core/shared/components/modal-dialog/dialog-title.directive.d.ts +14 -0
  261. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +44 -0
  262. package/core/shared/components/object-tree/object-tree.component.d.ts +32 -0
  263. package/core/shared/components/order-state-label/order-state-label.component.d.ts +17 -0
  264. package/core/shared/components/page/page.component.d.ts +21 -0
  265. package/core/shared/components/page-block/page-block.component.d.ts +5 -0
  266. package/core/shared/components/page-body/page-body.component.d.ts +5 -0
  267. package/core/shared/components/page-detail-layout/page-detail-layout.component.d.ts +5 -0
  268. package/core/shared/components/page-detail-layout/page-detail-sidebar.component.d.ts +5 -0
  269. package/core/shared/components/page-entity-info/page-entity-info.component.d.ts +10 -0
  270. package/core/shared/components/page-header/page-header.component.d.ts +5 -0
  271. package/core/shared/components/page-header-description/page-header-description.component.d.ts +5 -0
  272. package/core/shared/components/page-header-tabs/page-header-tabs.component.d.ts +14 -0
  273. package/core/shared/components/page-title/page-title.component.d.ts +16 -0
  274. package/core/shared/components/pagination-controls/pagination-controls.component.d.ts +11 -0
  275. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +38 -0
  276. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.graphql.d.ts +1 -0
  277. package/core/shared/components/product-search-input/product-search-input.component.d.ts +28 -0
  278. package/core/shared/components/product-variant-selector/product-variant-selector.component.d.ts +58 -0
  279. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +24 -0
  280. package/core/shared/components/radio-card/radio-card.component.d.ts +22 -0
  281. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +21 -0
  282. package/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +19 -0
  283. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
  284. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
  285. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +5 -0
  286. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +8 -0
  287. package/core/shared/components/rich-text-editor/prosemirror/keymap.d.ts +3 -0
  288. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +4 -0
  289. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +16 -0
  290. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  291. package/core/shared/components/rich-text-editor/prosemirror/menu/menu.d.ts +3 -0
  292. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  293. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  294. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +5 -0
  295. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  296. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  297. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +34 -0
  298. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +9 -0
  299. package/core/shared/components/rich-text-editor/prosemirror/utils.d.ts +9 -0
  300. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
  301. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +42 -0
  302. package/core/shared/components/select-toggle/select-toggle.component.d.ts +15 -0
  303. package/core/shared/components/simple-dialog/simple-dialog.component.d.ts +14 -0
  304. package/core/shared/components/split-view/split-view.component.d.ts +23 -0
  305. package/core/shared/components/split-view/split-view.directive.d.ts +13 -0
  306. package/core/shared/components/status-badge/status-badge.component.d.ts +6 -0
  307. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +25 -0
  308. package/core/shared/components/table-row-action/table-row-action.component.d.ts +12 -0
  309. package/core/shared/components/tag-selector/tag-selector.component.d.ts +24 -0
  310. package/core/shared/components/timeline-entry/timeline-entry.component.d.ts +19 -0
  311. package/core/shared/components/title-input/title-input.component.d.ts +6 -0
  312. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +27 -0
  313. package/core/shared/components/zone-selector/zone-selector.component.d.ts +51 -0
  314. package/core/shared/directives/disabled.directive.d.ts +14 -0
  315. package/core/shared/directives/if-default-channel-active.directive.d.ts +16 -0
  316. package/core/shared/directives/if-directive-base.d.ts +27 -0
  317. package/core/shared/directives/if-multichannel.directive.d.ts +28 -0
  318. package/core/shared/directives/if-permissions.directive.d.ts +37 -0
  319. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +19 -0
  320. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
  321. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
  322. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +23 -0
  323. package/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +28 -0
  324. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +25 -0
  325. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +33 -0
  326. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +22 -0
  327. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +19 -0
  328. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +58 -0
  329. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +23 -0
  330. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +24 -0
  331. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +19 -0
  332. package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +25 -0
  333. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +34 -0
  334. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +23 -0
  335. package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +25 -0
  336. package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +18 -0
  337. package/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +26 -0
  338. package/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +26 -0
  339. package/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +23 -0
  340. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +22 -0
  341. package/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +10 -0
  342. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +19 -0
  343. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +30 -0
  344. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +21 -0
  345. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +20 -0
  346. package/core/shared/pipes/asset-preview.pipe.d.ts +22 -0
  347. package/core/shared/pipes/channel-label.pipe.d.ts +7 -0
  348. package/core/shared/pipes/custom-field-description.pipe.d.ts +11 -0
  349. package/core/shared/pipes/custom-field-label.pipe.d.ts +13 -0
  350. package/core/shared/pipes/duration.pipe.d.ts +22 -0
  351. package/core/shared/pipes/file-size.pipe.d.ts +18 -0
  352. package/core/shared/pipes/has-permission.pipe.d.ts +27 -0
  353. package/core/shared/pipes/locale-base.pipe.d.ts +21 -0
  354. package/core/shared/pipes/locale-currency-name.pipe.d.ts +21 -0
  355. package/core/shared/pipes/locale-currency.pipe.d.ts +25 -0
  356. package/core/shared/pipes/locale-date.pipe.d.ts +23 -0
  357. package/core/shared/pipes/locale-language-name.pipe.d.ts +21 -0
  358. package/core/shared/pipes/locale-region-name.pipe.d.ts +21 -0
  359. package/core/shared/pipes/sentence-case.pipe.d.ts +10 -0
  360. package/core/shared/pipes/sort.pipe.d.ts +12 -0
  361. package/core/shared/pipes/state-i18n-token.pipe.d.ts +9 -0
  362. package/core/shared/pipes/string-to-color.pipe.d.ts +7 -0
  363. package/core/shared/pipes/time-ago.pipe.d.ts +21 -0
  364. package/core/shared/providers/routing/can-deactivate-detail-guard.d.ts +11 -0
  365. package/core/shared/shared.module.d.ts +168 -0
  366. package/core/validators/unicode-pattern.validator.d.ts +2 -0
  367. package/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +22 -0
  368. package/customer/components/address-card/address-card.component.d.ts +28 -0
  369. package/customer/components/address-detail-dialog/address-detail-dialog.component.d.ts +17 -0
  370. package/customer/components/customer-detail/customer-detail.component.d.ts +70 -0
  371. package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +26 -0
  372. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +24 -0
  373. package/customer/components/customer-group-list/customer-group-list-bulk-actions.d.ts +1 -0
  374. package/customer/components/customer-group-list/customer-group-list.component.d.ts +29 -0
  375. package/customer/components/customer-group-member-list/customer-group-member-list-bulk-actions.d.ts +3 -0
  376. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +39 -0
  377. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +18 -0
  378. package/customer/components/customer-history/customer-history.component.d.ts +51 -0
  379. package/customer/components/customer-list/customer-list-bulk-actions.d.ts +1 -0
  380. package/customer/components/customer-list/customer-list.component.d.ts +12 -0
  381. package/customer/components/customer-status-label/customer-status-label.component.d.ts +7 -0
  382. package/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +16 -0
  383. package/customer/customer.module.d.ts +24 -0
  384. package/customer/customer.routes.d.ts +4 -0
  385. package/customer/index.d.ts +5 -0
  386. package/customer/public_api.d.ts +18 -0
  387. package/dashboard/components/dashboard/dashboard.component.d.ts +34 -0
  388. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +13 -0
  389. package/dashboard/dashboard.module.d.ts +13 -0
  390. package/dashboard/dashboard.routes.d.ts +2 -0
  391. package/dashboard/default-widgets.d.ts +5 -0
  392. package/dashboard/index.d.ts +5 -0
  393. package/dashboard/public_api.d.ts +10 -0
  394. package/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +18 -0
  395. package/dashboard/widgets/order-chart-widget/order-chart-widget.component.d.ts +17 -0
  396. package/dashboard/widgets/order-summary-widget/order-summary-widget.component.d.ts +32 -0
  397. package/dashboard/widgets/test-widget/test-widget.component.d.ts +10 -0
  398. package/dashboard/widgets/welcome-widget/welcome-widget.component.d.ts +22 -0
  399. package/esm2022/catalog/catalog.module.mjs +331 -0
  400. package/esm2022/catalog/catalog.routes.mjs +144 -0
  401. package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +30 -0
  402. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +77 -0
  403. package/esm2022/catalog/components/asset-list/asset-list.component.mjs +120 -0
  404. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +102 -0
  405. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +83 -0
  406. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.mjs +69 -0
  407. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +124 -0
  408. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +95 -0
  409. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +263 -0
  410. package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +19 -0
  411. package/esm2022/catalog/components/collection-list/collection-list-bulk-actions.mjs +97 -0
  412. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +157 -0
  413. package/esm2022/catalog/components/collection-tree/array-to-tree.mjs +56 -0
  414. package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +125 -0
  415. package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +49 -0
  416. package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +68 -0
  417. package/esm2022/catalog/components/collection-tree/collection-tree.types.mjs +2 -0
  418. package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +23 -0
  419. package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +44 -0
  420. package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +44 -0
  421. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +80 -0
  422. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +338 -0
  423. package/esm2022/catalog/components/facet-list/facet-list-bulk-actions.mjs +148 -0
  424. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +91 -0
  425. package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +133 -0
  426. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +100 -0
  427. package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +156 -0
  428. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +321 -0
  429. package/esm2022/catalog/components/product-list/product-list-bulk-actions.mjs +144 -0
  430. package/esm2022/catalog/components/product-list/product-list.component.mjs +159 -0
  431. package/esm2022/catalog/components/product-list/product-list.graphql.mjs +37 -0
  432. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +207 -0
  433. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +266 -0
  434. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.graphql.mjs +129 -0
  435. package/esm2022/catalog/components/product-variant-list/product-variant-list-bulk-actions.mjs +123 -0
  436. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +118 -0
  437. package/esm2022/catalog/components/product-variant-list/product-variant-list.graphql.mjs +51 -0
  438. package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +53 -0
  439. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +292 -0
  440. package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +72 -0
  441. package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +64 -0
  442. package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +59 -0
  443. package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +33 -0
  444. package/esm2022/catalog/deenruv-admin-ui-catalog.mjs +5 -0
  445. package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +236 -0
  446. package/esm2022/catalog/providers/product-detail/replace-last.mjs +18 -0
  447. package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +28 -0
  448. package/esm2022/catalog/public_api.mjs +50 -0
  449. package/esm2022/core/app.component.mjs +94 -0
  450. package/esm2022/core/app.component.module.mjs +19 -0
  451. package/esm2022/core/app.config.mjs +11 -0
  452. package/esm2022/core/common/base-detail.component.mjs +208 -0
  453. package/esm2022/core/common/base-entity-resolver.mjs +60 -0
  454. package/esm2022/core/common/base-list.component.mjs +186 -0
  455. package/esm2022/core/common/component-registry-types.mjs +2 -0
  456. package/esm2022/core/common/deactivate-aware.mjs +2 -0
  457. package/esm2022/core/common/detail-breadcrumb.mjs +26 -0
  458. package/esm2022/core/common/generated-types.mjs +1371 -0
  459. package/esm2022/core/common/introspection-result-wrapper.mjs +3 -0
  460. package/esm2022/core/common/introspection-result.mjs +329 -0
  461. package/esm2022/core/common/single-search-selection-model.mjs +51 -0
  462. package/esm2022/core/common/title-setter.mjs +14 -0
  463. package/esm2022/core/common/utilities/bulk-action-utils.mjs +271 -0
  464. package/esm2022/core/common/utilities/configurable-operation-utils.mjs +116 -0
  465. package/esm2022/core/common/utilities/create-updated-translatable.mjs +58 -0
  466. package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
  467. package/esm2022/core/common/utilities/find-translation.mjs +9 -0
  468. package/esm2022/core/common/utilities/get-default-ui-language.mjs +12 -0
  469. package/esm2022/core/common/utilities/interpolate-description.mjs +27 -0
  470. package/esm2022/core/common/utilities/selection-manager.mjs +96 -0
  471. package/esm2022/core/common/utilities/string-to-color.mjs +36 -0
  472. package/esm2022/core/common/version.mjs +3 -0
  473. package/esm2022/core/components/alerts/alerts.component.mjs +26 -0
  474. package/esm2022/core/components/app-shell/app-shell.component.mjs +104 -0
  475. package/esm2022/core/components/base-nav/base-nav.component.mjs +298 -0
  476. package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +33 -0
  477. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +50 -0
  478. package/esm2022/core/components/main-nav/main-nav.component.mjs +62 -0
  479. package/esm2022/core/components/notification/notification.component.mjs +85 -0
  480. package/esm2022/core/components/overlay-host/overlay-host.component.mjs +22 -0
  481. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +27 -0
  482. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +39 -0
  483. package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +75 -0
  484. package/esm2022/core/components/user-menu/user-menu.component.mjs +37 -0
  485. package/esm2022/core/core.module.mjs +165 -0
  486. package/esm2022/core/data/check-jobs-link.mjs +32 -0
  487. package/esm2022/core/data/client-state/client-defaults.mjs +33 -0
  488. package/esm2022/core/data/client-state/client-resolvers.mjs +136 -0
  489. package/esm2022/core/data/data.module.mjs +135 -0
  490. package/esm2022/core/data/definitions/administrator-definitions.mjs +135 -0
  491. package/esm2022/core/data/definitions/auth-definitions.mjs +40 -0
  492. package/esm2022/core/data/definitions/client-definitions.mjs +137 -0
  493. package/esm2022/core/data/definitions/collection-definitions.mjs +184 -0
  494. package/esm2022/core/data/definitions/customer-definitions.mjs +261 -0
  495. package/esm2022/core/data/definitions/facet-definitions.mjs +155 -0
  496. package/esm2022/core/data/definitions/order-definitions.mjs +594 -0
  497. package/esm2022/core/data/definitions/product-definitions.mjs +828 -0
  498. package/esm2022/core/data/definitions/promotion-definitions.mjs +76 -0
  499. package/esm2022/core/data/definitions/settings-definitions.mjs +735 -0
  500. package/esm2022/core/data/definitions/shared-definitions.mjs +33 -0
  501. package/esm2022/core/data/definitions/shipping-definitions.mjs +98 -0
  502. package/esm2022/core/data/omit-typename-link.mjs +20 -0
  503. package/esm2022/core/data/providers/administrator-data.service.mjs +53 -0
  504. package/esm2022/core/data/providers/auth-data.service.mjs +20 -0
  505. package/esm2022/core/data/providers/base-data.service.mjs +66 -0
  506. package/esm2022/core/data/providers/client-data.service.mjs +82 -0
  507. package/esm2022/core/data/providers/collection-data.service.mjs +84 -0
  508. package/esm2022/core/data/providers/customer-data.service.mjs +125 -0
  509. package/esm2022/core/data/providers/data.service.mjs +90 -0
  510. package/esm2022/core/data/providers/facet-data.service.mjs +63 -0
  511. package/esm2022/core/data/providers/fetch-adapter.mjs +34 -0
  512. package/esm2022/core/data/providers/interceptor.mjs +162 -0
  513. package/esm2022/core/data/providers/order-data.service.mjs +135 -0
  514. package/esm2022/core/data/providers/product-data.service.mjs +257 -0
  515. package/esm2022/core/data/providers/promotion-data.service.mjs +50 -0
  516. package/esm2022/core/data/providers/settings-data.service.mjs +246 -0
  517. package/esm2022/core/data/providers/shipping-method-data.service.mjs +58 -0
  518. package/esm2022/core/data/query-result.mjs +77 -0
  519. package/esm2022/core/data/server-config.mjs +78 -0
  520. package/esm2022/core/data/utils/add-custom-fields.mjs +84 -0
  521. package/esm2022/core/data/utils/get-server-location.mjs +17 -0
  522. package/esm2022/core/data/utils/is-entity-create-or-update-mutation.mjs +45 -0
  523. package/esm2022/core/data/utils/remove-readonly-custom-fields.mjs +30 -0
  524. package/esm2022/core/data/utils/transform-relation-custom-field-inputs.mjs +46 -0
  525. package/esm2022/core/deenruv-admin-ui-core.mjs +5 -0
  526. package/esm2022/core/extension/add-action-bar-dropdown-menu-item.mjs +35 -0
  527. package/esm2022/core/extension/add-action-bar-item.mjs +31 -0
  528. package/esm2022/core/extension/add-nav-menu-item.mjs +75 -0
  529. package/esm2022/core/extension/components/angular-route.component.mjs +67 -0
  530. package/esm2022/core/extension/components/route.component.mjs +80 -0
  531. package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
  532. package/esm2022/core/extension/register-alert.mjs +22 -0
  533. package/esm2022/core/extension/register-bulk-action.mjs +59 -0
  534. package/esm2022/core/extension/register-custom-detail-component.mjs +65 -0
  535. package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
  536. package/esm2022/core/extension/register-data-table-component.mjs +51 -0
  537. package/esm2022/core/extension/register-form-input-component.mjs +61 -0
  538. package/esm2022/core/extension/register-history-entry-component.mjs +76 -0
  539. package/esm2022/core/extension/register-page-tab.mjs +36 -0
  540. package/esm2022/core/extension/register-route-component.mjs +95 -0
  541. package/esm2022/core/extension/types.mjs +2 -0
  542. package/esm2022/core/providers/alerts/alerts.service.mjs +114 -0
  543. package/esm2022/core/providers/auth/auth.service.mjs +124 -0
  544. package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +109 -0
  545. package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +28 -0
  546. package/esm2022/core/providers/bulk-action-registry/bulk-action-types.mjs +2 -0
  547. package/esm2022/core/providers/channel/channel.service.mjs +39 -0
  548. package/esm2022/core/providers/component-registry/component-registry.service.mjs +25 -0
  549. package/esm2022/core/providers/currency/currency.service.mjs +21 -0
  550. package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +2 -0
  551. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +27 -0
  552. package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +38 -0
  553. package/esm2022/core/providers/custom-history-entry-component/history-entry-component-types.mjs +2 -0
  554. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +22 -0
  555. package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +2 -0
  556. package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +91 -0
  557. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +295 -0
  558. package/esm2022/core/providers/data-table/data-table-filter.mjs +114 -0
  559. package/esm2022/core/providers/data-table/data-table-sort-collection.mjs +115 -0
  560. package/esm2022/core/providers/data-table/data-table-sort.mjs +34 -0
  561. package/esm2022/core/providers/guard/auth.guard.mjs +38 -0
  562. package/esm2022/core/providers/health-check/health-check.service.mjs +34 -0
  563. package/esm2022/core/providers/i18n/custom-http-loader.mjs +39 -0
  564. package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +31 -0
  565. package/esm2022/core/providers/i18n/i18n.service.mjs +78 -0
  566. package/esm2022/core/providers/job-queue/job-queue.service.mjs +91 -0
  567. package/esm2022/core/providers/local-storage/local-storage.service.mjs +97 -0
  568. package/esm2022/core/providers/localization/localization.service.mjs +31 -0
  569. package/esm2022/core/providers/modal/modal.service.mjs +96 -0
  570. package/esm2022/core/providers/modal/modal.types.mjs +2 -0
  571. package/esm2022/core/providers/nav-builder/nav-builder-types.mjs +2 -0
  572. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +174 -0
  573. package/esm2022/core/providers/notification/notification.service.mjs +157 -0
  574. package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +48 -0
  575. package/esm2022/core/providers/page/page.service.mjs +63 -0
  576. package/esm2022/core/providers/permissions/permissions.service.mjs +46 -0
  577. package/esm2022/core/public_api.mjs +315 -0
  578. package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +54 -0
  579. package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +69 -0
  580. package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +72 -0
  581. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +50 -0
  582. package/esm2022/core/shared/components/address-form/address-form.component.mjs +24 -0
  583. package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +19 -0
  584. package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +86 -0
  585. package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +97 -0
  586. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +96 -0
  587. package/esm2022/core/shared/components/asset-gallery/asset-gallery.types.mjs +2 -0
  588. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +144 -0
  589. package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +229 -0
  590. package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +49 -0
  591. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +25 -0
  592. package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +102 -0
  593. package/esm2022/core/shared/components/assets/assets.component.mjs +109 -0
  594. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +56 -0
  595. package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +100 -0
  596. package/esm2022/core/shared/components/card/card.component.mjs +32 -0
  597. package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +116 -0
  598. package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +19 -0
  599. package/esm2022/core/shared/components/chart/chart.component.mjs +100 -0
  600. package/esm2022/core/shared/components/chart/tooltip-plugin.mjs +143 -0
  601. package/esm2022/core/shared/components/chip/chip.component.mjs +47 -0
  602. package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +161 -0
  603. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +64 -0
  604. package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +155 -0
  605. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +44 -0
  606. package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +88 -0
  607. package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +17 -0
  608. package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +29 -0
  609. package/esm2022/core/shared/components/data-table/data-table.component.mjs +177 -0
  610. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +64 -0
  611. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +26 -0
  612. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +52 -0
  613. package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +21 -0
  614. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +308 -0
  615. package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +44 -0
  616. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +32 -0
  617. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +69 -0
  618. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +80 -0
  619. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +79 -0
  620. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +20 -0
  621. package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +16 -0
  622. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +220 -0
  623. package/esm2022/core/shared/components/datetime-picker/constants.mjs +20 -0
  624. package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +226 -0
  625. package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +201 -0
  626. package/esm2022/core/shared/components/datetime-picker/types.mjs +2 -0
  627. package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +28 -0
  628. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +202 -0
  629. package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +25 -0
  630. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +58 -0
  631. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +111 -0
  632. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.graphql.mjs +38 -0
  633. package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +32 -0
  634. package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +16 -0
  635. package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +26 -0
  636. package/esm2022/core/shared/components/extension-host/extension-host-config.mjs +7 -0
  637. package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +81 -0
  638. package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +99 -0
  639. package/esm2022/core/shared/components/extension-host/host-external-frame.mjs +41 -0
  640. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +26 -0
  641. package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +150 -0
  642. package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +71 -0
  643. package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +37 -0
  644. package/esm2022/core/shared/components/form-field/form-field.component.mjs +73 -0
  645. package/esm2022/core/shared/components/form-item/form-item.component.mjs +21 -0
  646. package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +38 -0
  647. package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +16 -0
  648. package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +16 -0
  649. package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +28 -0
  650. package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +13 -0
  651. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +72 -0
  652. package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +30 -0
  653. package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +24 -0
  654. package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +61 -0
  655. package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +23 -0
  656. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +29 -0
  657. package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +23 -0
  658. package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +69 -0
  659. package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +56 -0
  660. package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +47 -0
  661. package/esm2022/core/shared/components/page/page.component.mjs +38 -0
  662. package/esm2022/core/shared/components/page-block/page-block.component.mjs +11 -0
  663. package/esm2022/core/shared/components/page-body/page-body.component.mjs +11 -0
  664. package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +11 -0
  665. package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +15 -0
  666. package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +16 -0
  667. package/esm2022/core/shared/components/page-header/page-header.component.mjs +11 -0
  668. package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +11 -0
  669. package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +26 -0
  670. package/esm2022/core/shared/components/page-title/page-title.component.mjs +40 -0
  671. package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +26 -0
  672. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +138 -0
  673. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.graphql.mjs +44 -0
  674. package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +104 -0
  675. package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +62 -0
  676. package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +54 -0
  677. package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +53 -0
  678. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +37 -0
  679. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +35 -0
  680. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
  681. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +44 -0
  682. package/esm2022/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +97 -0
  683. package/esm2022/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs +61 -0
  684. package/esm2022/core/shared/components/rich-text-editor/prosemirror/keymap.mjs +118 -0
  685. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +69 -0
  686. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +41 -0
  687. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
  688. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +247 -0
  689. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
  690. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +98 -0
  691. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs +22 -0
  692. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
  693. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +164 -0
  694. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +155 -0
  695. package/esm2022/core/shared/components/rich-text-editor/prosemirror/types.mjs +2 -0
  696. package/esm2022/core/shared/components/rich-text-editor/prosemirror/utils.mjs +26 -0
  697. package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
  698. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +106 -0
  699. package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +35 -0
  700. package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +24 -0
  701. package/esm2022/core/shared/components/split-view/split-view.component.mjs +62 -0
  702. package/esm2022/core/shared/components/split-view/split-view.directive.mjs +28 -0
  703. package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +16 -0
  704. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +70 -0
  705. package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +28 -0
  706. package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +60 -0
  707. package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +54 -0
  708. package/esm2022/core/shared/components/title-input/title-input.component.mjs +21 -0
  709. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +142 -0
  710. package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +99 -0
  711. package/esm2022/core/shared/directives/disabled.directive.mjs +41 -0
  712. package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +37 -0
  713. package/esm2022/core/shared/directives/if-directive-base.mjs +73 -0
  714. package/esm2022/core/shared/directives/if-multichannel.directive.mjs +43 -0
  715. package/esm2022/core/shared/directives/if-permissions.directive.mjs +66 -0
  716. package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +23 -0
  717. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +62 -0
  718. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +59 -0
  719. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +85 -0
  720. package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +45 -0
  721. package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +32 -0
  722. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +47 -0
  723. package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +32 -0
  724. package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +44 -0
  725. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +271 -0
  726. package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +34 -0
  727. package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +39 -0
  728. package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +21 -0
  729. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +49 -0
  730. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +66 -0
  731. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +84 -0
  732. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +66 -0
  733. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +54 -0
  734. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +87 -0
  735. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +87 -0
  736. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +60 -0
  737. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +29 -0
  738. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +14 -0
  739. package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +21 -0
  740. package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +40 -0
  741. package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +28 -0
  742. package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +24 -0
  743. package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +42 -0
  744. package/esm2022/core/shared/pipes/channel-label.pipe.mjs +23 -0
  745. package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +30 -0
  746. package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +39 -0
  747. package/esm2022/core/shared/pipes/duration.pipe.mjs +49 -0
  748. package/esm2022/core/shared/pipes/file-size.pipe.mjs +47 -0
  749. package/esm2022/core/shared/pipes/has-permission.pipe.mjs +54 -0
  750. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +55 -0
  751. package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +60 -0
  752. package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +56 -0
  753. package/esm2022/core/shared/pipes/locale-date.pipe.mjs +90 -0
  754. package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +51 -0
  755. package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +51 -0
  756. package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +30 -0
  757. package/esm2022/core/shared/pipes/sort.pipe.mjs +34 -0
  758. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +54 -0
  759. package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +18 -0
  760. package/esm2022/core/shared/pipes/time-ago.pipe.mjs +52 -0
  761. package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +33 -0
  762. package/esm2022/core/shared/shared.module.mjs +707 -0
  763. package/esm2022/core/validators/unicode-pattern.validator.mjs +8 -0
  764. package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +39 -0
  765. package/esm2022/customer/components/address-card/address-card.component.mjs +97 -0
  766. package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +28 -0
  767. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +441 -0
  768. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +90 -0
  769. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +46 -0
  770. package/esm2022/customer/components/customer-group-list/customer-group-list-bulk-actions.mjs +9 -0
  771. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +148 -0
  772. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list-bulk-actions.mjs +27 -0
  773. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +91 -0
  774. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +62 -0
  775. package/esm2022/customer/components/customer-history/customer-history.component.mjs +89 -0
  776. package/esm2022/customer/components/customer-list/customer-list-bulk-actions.mjs +9 -0
  777. package/esm2022/customer/components/customer-list/customer-list.component.mjs +108 -0
  778. package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +17 -0
  779. package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +31 -0
  780. package/esm2022/customer/customer.module.mjs +146 -0
  781. package/esm2022/customer/customer.routes.mjs +50 -0
  782. package/esm2022/customer/deenruv-admin-ui-customer.mjs +5 -0
  783. package/esm2022/customer/public_api.mjs +20 -0
  784. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +124 -0
  785. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +32 -0
  786. package/esm2022/dashboard/dashboard.module.mjs +34 -0
  787. package/esm2022/dashboard/dashboard.routes.mjs +9 -0
  788. package/esm2022/dashboard/deenruv-admin-ui-dashboard.mjs +5 -0
  789. package/esm2022/dashboard/default-widgets.mjs +31 -0
  790. package/esm2022/dashboard/public_api.mjs +12 -0
  791. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +73 -0
  792. package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +66 -0
  793. package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +68 -0
  794. package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +22 -0
  795. package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +39 -0
  796. package/esm2022/deenruv-admin-ui.mjs +5 -0
  797. package/esm2022/login/components/login/login.component.mjs +97 -0
  798. package/esm2022/login/deenruv-admin-ui-login.mjs +5 -0
  799. package/esm2022/login/login.module.mjs +21 -0
  800. package/esm2022/login/login.routes.mjs +11 -0
  801. package/esm2022/login/providers/login.guard.mjs +31 -0
  802. package/esm2022/login/public_api.mjs +6 -0
  803. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +269 -0
  804. package/esm2022/marketing/components/promotion-list/promotion-list-bulk-actions.mjs +78 -0
  805. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +128 -0
  806. package/esm2022/marketing/deenruv-admin-ui-marketing.mjs +5 -0
  807. package/esm2022/marketing/marketing.module.mjs +75 -0
  808. package/esm2022/marketing/marketing.routes.mjs +32 -0
  809. package/esm2022/marketing/public_api.mjs +7 -0
  810. package/esm2022/order/common/get-refundable-payments.mjs +19 -0
  811. package/esm2022/order/common/modify-order-types.mjs +2 -0
  812. package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +61 -0
  813. package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +80 -0
  814. package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +62 -0
  815. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +183 -0
  816. package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +59 -0
  817. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +79 -0
  818. package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +48 -0
  819. package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +50 -0
  820. package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +28 -0
  821. package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +62 -0
  822. package/esm2022/order/components/line-refunds/line-refunds.component.mjs +28 -0
  823. package/esm2022/order/components/modification-detail/modification-detail.component.mjs +71 -0
  824. package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +64 -0
  825. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +59 -0
  826. package/esm2022/order/components/order-data-table/order-total-column.component.mjs +20 -0
  827. package/esm2022/order/components/order-detail/order-detail.component.mjs +602 -0
  828. package/esm2022/order/components/order-editor/order-editor.component.mjs +485 -0
  829. package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +93 -0
  830. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +62 -0
  831. package/esm2022/order/components/order-history/order-history.component.mjs +184 -0
  832. package/esm2022/order/components/order-list/order-list.component.mjs +154 -0
  833. package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +76 -0
  834. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +43 -0
  835. package/esm2022/order/components/order-process-graph/constants.mjs +2 -0
  836. package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +45 -0
  837. package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +96 -0
  838. package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +53 -0
  839. package/esm2022/order/components/order-process-graph/types.mjs +2 -0
  840. package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +21 -0
  841. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +28 -0
  842. package/esm2022/order/components/order-table/order-table.component.mjs +96 -0
  843. package/esm2022/order/components/payment-detail/payment-detail.component.mjs +18 -0
  844. package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +24 -0
  845. package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +28 -0
  846. package/esm2022/order/components/refund-detail/refund-detail.component.mjs +18 -0
  847. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +173 -0
  848. package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +27 -0
  849. package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +89 -0
  850. package/esm2022/order/components/select-address-dialog/select-address-dialog.graphql.mjs +14 -0
  851. package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +65 -0
  852. package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +30 -0
  853. package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +39 -0
  854. package/esm2022/order/components/seller-orders-card/seller-orders-card.graphql.mjs +25 -0
  855. package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +24 -0
  856. package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +15 -0
  857. package/esm2022/order/deenruv-admin-ui-order.mjs +5 -0
  858. package/esm2022/order/order.module.mjs +244 -0
  859. package/esm2022/order/order.routes.mjs +56 -0
  860. package/esm2022/order/providers/order-transition.service.mjs +112 -0
  861. package/esm2022/order/providers/routing/order.guard.mjs +57 -0
  862. package/esm2022/order/public_api.mjs +53 -0
  863. package/esm2022/public_api.mjs +5 -0
  864. package/esm2022/react/components/react-custom-column.component.mjs +25 -0
  865. package/esm2022/react/components/react-custom-detail.component.mjs +23 -0
  866. package/esm2022/react/components/react-form-input.component.mjs +24 -0
  867. package/esm2022/react/components/react-route.component.mjs +26 -0
  868. package/esm2022/react/deenruv-admin-ui-react.mjs +5 -0
  869. package/esm2022/react/directives/react-component-host.directive.mjs +54 -0
  870. package/esm2022/react/public_api.mjs +27 -0
  871. package/esm2022/react/react-components/ActionBar.mjs +26 -0
  872. package/esm2022/react/react-components/Card.mjs +28 -0
  873. package/esm2022/react/react-components/CdsIcon.mjs +30 -0
  874. package/esm2022/react/react-components/FormField.mjs +28 -0
  875. package/esm2022/react/react-components/Link.mjs +30 -0
  876. package/esm2022/react/react-components/PageBlock.mjs +24 -0
  877. package/esm2022/react/react-components/PageDetailLayout.mjs +26 -0
  878. package/esm2022/react/react-components/RichTextEditor.mjs +73 -0
  879. package/esm2022/react/react-hooks/use-detail-component-data.mjs +48 -0
  880. package/esm2022/react/react-hooks/use-form-control.mjs +66 -0
  881. package/esm2022/react/react-hooks/use-injector.mjs +33 -0
  882. package/esm2022/react/react-hooks/use-page-metadata.mjs +41 -0
  883. package/esm2022/react/react-hooks/use-query.mjs +198 -0
  884. package/esm2022/react/react-hooks/use-rich-text-editor.mjs +50 -0
  885. package/esm2022/react/react-hooks/use-route-params.mjs +39 -0
  886. package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
  887. package/esm2022/react/register-react-data-table-component.mjs +64 -0
  888. package/esm2022/react/register-react-form-input-component.mjs +27 -0
  889. package/esm2022/react/register-react-route-component.mjs +25 -0
  890. package/esm2022/react/types.mjs +2 -0
  891. package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +57 -0
  892. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +205 -0
  893. package/esm2022/settings/components/administrator-list/administrator-list-bulk-actions.mjs +9 -0
  894. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +120 -0
  895. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +202 -0
  896. package/esm2022/settings/components/channel-list/channel-list-bulk-actions.mjs +16 -0
  897. package/esm2022/settings/components/channel-list/channel-list.component.mjs +81 -0
  898. package/esm2022/settings/components/country-detail/country-detail.component.mjs +126 -0
  899. package/esm2022/settings/components/country-list/country-list-bulk-actions.mjs +10 -0
  900. package/esm2022/settings/components/country-list/country-list.component.mjs +91 -0
  901. package/esm2022/settings/components/global-settings/global-settings.component.mjs +102 -0
  902. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +206 -0
  903. package/esm2022/settings/components/payment-method-list/payment-method-list-bulk-actions.mjs +56 -0
  904. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +99 -0
  905. package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +81 -0
  906. package/esm2022/settings/components/profile/profile.component.mjs +96 -0
  907. package/esm2022/settings/components/role-detail/role-detail.component.mjs +119 -0
  908. package/esm2022/settings/components/role-list/role-list-bulk-actions.mjs +9 -0
  909. package/esm2022/settings/components/role-list/role-list.component.mjs +82 -0
  910. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +119 -0
  911. package/esm2022/settings/components/seller-list/seller-list-bulk-actions.mjs +9 -0
  912. package/esm2022/settings/components/seller-list/seller-list.component.mjs +75 -0
  913. package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +30 -0
  914. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +256 -0
  915. package/esm2022/settings/components/shipping-method-list/shipping-method-list-bulk-actions.mjs +54 -0
  916. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +99 -0
  917. package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +30 -0
  918. package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +137 -0
  919. package/esm2022/settings/components/stock-location-list/stock-location-list-bulk-actions.mjs +68 -0
  920. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +87 -0
  921. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +114 -0
  922. package/esm2022/settings/components/tax-category-list/tax-category-list-bulk-actions.mjs +10 -0
  923. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +69 -0
  924. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +137 -0
  925. package/esm2022/settings/components/tax-rate-list/tax-rate-list-bulk-actions.mjs +10 -0
  926. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +83 -0
  927. package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +48 -0
  928. package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +71 -0
  929. package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +52 -0
  930. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +117 -0
  931. package/esm2022/settings/components/zone-list/zone-list-bulk-actions.mjs +10 -0
  932. package/esm2022/settings/components/zone-list/zone-list.component.mjs +143 -0
  933. package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +16 -0
  934. package/esm2022/settings/components/zone-member-list/zone-member-list-bulk-actions.mjs +26 -0
  935. package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +16 -0
  936. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +95 -0
  937. package/esm2022/settings/deenruv-admin-ui-settings.mjs +5 -0
  938. package/esm2022/settings/providers/routing/profile-resolver.mjs +30 -0
  939. package/esm2022/settings/public_api.mjs +51 -0
  940. package/esm2022/settings/settings.module.mjs +467 -0
  941. package/esm2022/settings/settings.routes.mjs +232 -0
  942. package/esm2022/system/components/health-check/health-check.component.mjs +18 -0
  943. package/esm2022/system/components/job-list/job-list.component.mjs +72 -0
  944. package/esm2022/system/components/job-state-label/job-state-label.component.mjs +46 -0
  945. package/esm2022/system/deenruv-admin-ui-system.mjs +5 -0
  946. package/esm2022/system/public_api.mjs +7 -0
  947. package/esm2022/system/system.module.mjs +22 -0
  948. package/esm2022/system/system.routes.mjs +20 -0
  949. package/fesm2022/deenruv-admin-ui-catalog.mjs +5171 -0
  950. package/fesm2022/deenruv-admin-ui-catalog.mjs.map +1 -0
  951. package/fesm2022/deenruv-admin-ui-core.mjs +22758 -0
  952. package/fesm2022/deenruv-admin-ui-core.mjs.map +1 -0
  953. package/fesm2022/deenruv-admin-ui-customer.mjs +1400 -0
  954. package/fesm2022/deenruv-admin-ui-customer.mjs.map +1 -0
  955. package/fesm2022/deenruv-admin-ui-dashboard.mjs +454 -0
  956. package/fesm2022/deenruv-admin-ui-dashboard.mjs.map +1 -0
  957. package/fesm2022/deenruv-admin-ui-login.mjs +157 -0
  958. package/fesm2022/deenruv-admin-ui-login.mjs.map +1 -0
  959. package/fesm2022/deenruv-admin-ui-marketing.mjs +566 -0
  960. package/fesm2022/deenruv-admin-ui-marketing.mjs.map +1 -0
  961. package/fesm2022/deenruv-admin-ui-order.mjs +3664 -0
  962. package/fesm2022/deenruv-admin-ui-order.mjs.map +1 -0
  963. package/fesm2022/deenruv-admin-ui-react.mjs +999 -0
  964. package/fesm2022/deenruv-admin-ui-react.mjs.map +1 -0
  965. package/fesm2022/deenruv-admin-ui-settings.mjs +4067 -0
  966. package/fesm2022/deenruv-admin-ui-settings.mjs.map +1 -0
  967. package/fesm2022/deenruv-admin-ui-system.mjs +164 -0
  968. package/fesm2022/deenruv-admin-ui-system.mjs.map +1 -0
  969. package/fesm2022/deenruv-admin-ui.mjs +11 -0
  970. package/fesm2022/deenruv-admin-ui.mjs.map +1 -0
  971. package/index.d.ts +5 -0
  972. package/login/components/login/login.component.d.ts +37 -0
  973. package/login/index.d.ts +5 -0
  974. package/login/login.module.d.ts +9 -0
  975. package/login/login.routes.d.ts +2 -0
  976. package/login/providers/login.guard.d.ts +15 -0
  977. package/login/public_api.d.ts +4 -0
  978. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +70 -0
  979. package/marketing/components/promotion-list/promotion-list-bulk-actions.d.ts +6 -0
  980. package/marketing/components/promotion-list/promotion-list.component.d.ts +13 -0
  981. package/marketing/index.d.ts +5 -0
  982. package/marketing/marketing.module.d.ts +14 -0
  983. package/marketing/marketing.routes.d.ts +4 -0
  984. package/marketing/public_api.d.ts +5 -0
  985. package/order/common/get-refundable-payments.d.ts +9 -0
  986. package/order/common/modify-order-types.d.ts +29 -0
  987. package/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +19 -0
  988. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +24 -0
  989. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +22 -0
  990. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +51 -0
  991. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +24 -0
  992. package/order/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +28 -0
  993. package/order/components/fulfillment-card/fulfillment-card.component.d.ts +12 -0
  994. package/order/components/fulfillment-detail/fulfillment-detail.component.d.ts +23 -0
  995. package/order/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +7 -0
  996. package/order/components/line-fulfillment/line-fulfillment.component.d.ts +26 -0
  997. package/order/components/line-refunds/line-refunds.component.d.ts +9 -0
  998. package/order/components/modification-detail/modification-detail.component.d.ts +34 -0
  999. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +21 -0
  1000. package/order/components/order-data-table/order-data-table.component.d.ts +15 -0
  1001. package/order/components/order-data-table/order-total-column.component.d.ts +7 -0
  1002. package/order/components/order-detail/order-detail.component.d.ts +68 -0
  1003. package/order/components/order-editor/order-editor.component.d.ts +99 -0
  1004. package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +51 -0
  1005. package/order/components/order-history/order-history-entry-host.component.d.ts +18 -0
  1006. package/order/components/order-history/order-history.component.d.ts +92 -0
  1007. package/order/components/order-list/order-list.component.d.ts +21 -0
  1008. package/order/components/order-modification-summary/order-modification-summary.component.d.ts +19 -0
  1009. package/order/components/order-payment-card/order-payment-card.component.d.ts +67 -0
  1010. package/order/components/order-process-graph/constants.d.ts +1 -0
  1011. package/order/components/order-process-graph/order-process-edge.component.d.ts +21 -0
  1012. package/order/components/order-process-graph/order-process-graph.component.d.ts +32 -0
  1013. package/order/components/order-process-graph/order-process-node.component.d.ts +26 -0
  1014. package/order/components/order-process-graph/types.d.ts +4 -0
  1015. package/order/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +13 -0
  1016. package/order/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +13 -0
  1017. package/order/components/order-table/order-table.component.d.ts +43 -0
  1018. package/order/components/payment-detail/payment-detail.component.d.ts +8 -0
  1019. package/order/components/payment-for-refund-selector/payment-for-refund-selector.component.d.ts +14 -0
  1020. package/order/components/payment-state-label/payment-state-label.component.d.ts +7 -0
  1021. package/order/components/refund-detail/refund-detail.component.d.ts +8 -0
  1022. package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +46 -0
  1023. package/order/components/refund-state-label/refund-state-label.component.d.ts +7 -0
  1024. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +27 -0
  1025. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  1026. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +32 -0
  1027. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +18 -0
  1028. package/order/components/seller-orders-card/seller-orders-card.component.d.ts +24 -0
  1029. package/order/components/seller-orders-card/seller-orders-card.graphql.d.ts +1 -0
  1030. package/order/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +11 -0
  1031. package/order/components/simple-item-list/simple-item-list.component.d.ts +9 -0
  1032. package/order/index.d.ts +5 -0
  1033. package/order/order.module.d.ts +52 -0
  1034. package/order/order.routes.d.ts +3 -0
  1035. package/order/providers/order-transition.service.d.ts +32 -0
  1036. package/order/providers/routing/order.guard.d.ts +13 -0
  1037. package/order/public_api.d.ts +51 -0
  1038. package/package.json +133 -0
  1039. package/public_api.d.ts +4 -0
  1040. package/react/components/react-custom-column.component.d.ts +17 -0
  1041. package/react/components/react-custom-detail.component.d.ts +24 -0
  1042. package/react/components/react-form-input.component.d.ts +20 -0
  1043. package/react/components/react-route.component.d.ts +10 -0
  1044. package/react/directives/react-component-host.directive.d.ts +23 -0
  1045. package/react/index.d.ts +5 -0
  1046. package/react/public_api.d.ts +25 -0
  1047. package/react/react-components/ActionBar.d.ts +23 -0
  1048. package/react/react-components/Card.d.ts +24 -0
  1049. package/react/react-components/CdsIcon.d.ts +45 -0
  1050. package/react/react-components/FormField.d.ts +27 -0
  1051. package/react/react-components/Link.d.ts +22 -0
  1052. package/react/react-components/PageBlock.d.ts +21 -0
  1053. package/react/react-components/PageDetailLayout.d.ts +23 -0
  1054. package/react/react-components/RichTextEditor.d.ts +62 -0
  1055. package/react/react-hooks/use-detail-component-data.d.ts +32 -0
  1056. package/react/react-hooks/use-form-control.d.ts +29 -0
  1057. package/react/react-hooks/use-injector.d.ts +24 -0
  1058. package/react/react-hooks/use-page-metadata.d.ts +30 -0
  1059. package/react/react-hooks/use-query.d.ts +163 -0
  1060. package/react/react-hooks/use-rich-text-editor.d.ts +37 -0
  1061. package/react/react-hooks/use-route-params.d.ts +22 -0
  1062. package/react/register-react-custom-detail-component.d.ts +38 -0
  1063. package/react/register-react-data-table-component.d.ts +83 -0
  1064. package/react/register-react-form-input-component.d.ts +9 -0
  1065. package/react/register-react-route-component.d.ts +32 -0
  1066. package/react/types.d.ts +17 -0
  1067. package/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +20 -0
  1068. package/settings/components/admin-detail/admin-detail.component.d.ts +64 -0
  1069. package/settings/components/administrator-list/administrator-list-bulk-actions.d.ts +1 -0
  1070. package/settings/components/administrator-list/administrator-list.component.d.ts +29 -0
  1071. package/settings/components/channel-detail/channel-detail.component.d.ts +46 -0
  1072. package/settings/components/channel-list/channel-list-bulk-actions.d.ts +1 -0
  1073. package/settings/components/channel-list/channel-list.component.d.ts +13 -0
  1074. package/settings/components/country-detail/country-detail.component.d.ts +29 -0
  1075. package/settings/components/country-list/country-list-bulk-actions.d.ts +1 -0
  1076. package/settings/components/country-list/country-list.component.d.ts +11 -0
  1077. package/settings/components/global-settings/global-settings.component.d.ts +29 -0
  1078. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +64 -0
  1079. package/settings/components/payment-method-list/payment-method-list-bulk-actions.d.ts +3 -0
  1080. package/settings/components/payment-method-list/payment-method-list.component.d.ts +11 -0
  1081. package/settings/components/permission-grid/permission-grid.component.d.ts +28 -0
  1082. package/settings/components/profile/profile.component.d.ts +28 -0
  1083. package/settings/components/role-detail/role-detail.component.d.ts +31 -0
  1084. package/settings/components/role-list/role-list-bulk-actions.d.ts +1 -0
  1085. package/settings/components/role-list/role-list.component.d.ts +17 -0
  1086. package/settings/components/seller-detail/seller-detail.component.d.ts +31 -0
  1087. package/settings/components/seller-list/seller-list-bulk-actions.d.ts +1 -0
  1088. package/settings/components/seller-list/seller-list.component.d.ts +11 -0
  1089. package/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +12 -0
  1090. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +76 -0
  1091. package/settings/components/shipping-method-list/shipping-method-list-bulk-actions.d.ts +3 -0
  1092. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +12 -0
  1093. package/settings/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +12 -0
  1094. package/settings/components/stock-location-detail/stock-location-detail.component.d.ts +32 -0
  1095. package/settings/components/stock-location-list/stock-location-list-bulk-actions.d.ts +3 -0
  1096. package/settings/components/stock-location-list/stock-location-list.component.d.ts +12 -0
  1097. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +32 -0
  1098. package/settings/components/tax-category-list/tax-category-list-bulk-actions.d.ts +1 -0
  1099. package/settings/components/tax-category-list/tax-category-list.component.d.ts +11 -0
  1100. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +39 -0
  1101. package/settings/components/tax-rate-list/tax-rate-list-bulk-actions.d.ts +1 -0
  1102. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +11 -0
  1103. package/settings/components/test-address-form/test-address-form.component.d.ts +25 -0
  1104. package/settings/components/test-order-builder/test-order-builder.component.d.ts +31 -0
  1105. package/settings/components/test-shipping-methods/test-shipping-methods.component.d.ts +23 -0
  1106. package/settings/components/zone-detail/zone-detail.component.d.ts +31 -0
  1107. package/settings/components/zone-list/zone-list-bulk-actions.d.ts +1 -0
  1108. package/settings/components/zone-list/zone-list.component.d.ts +26 -0
  1109. package/settings/components/zone-member-list/zone-member-controls.directive.d.ts +8 -0
  1110. package/settings/components/zone-member-list/zone-member-list-bulk-actions.d.ts +3 -0
  1111. package/settings/components/zone-member-list/zone-member-list-header.directive.d.ts +8 -0
  1112. package/settings/components/zone-member-list/zone-member-list.component.d.ts +40 -0
  1113. package/settings/index.d.ts +5 -0
  1114. package/settings/providers/routing/profile-resolver.d.ts +8 -0
  1115. package/settings/public_api.d.ts +49 -0
  1116. package/settings/settings.module.d.ts +45 -0
  1117. package/settings/settings.routes.d.ts +3 -0
  1118. package/static/assets/.gitkeep +0 -0
  1119. package/static/assets/logo-login.webp +0 -0
  1120. package/static/assets/logo-top.webp +0 -0
  1121. package/static/deenruv-ui-config.json +290 -0
  1122. package/static/favicon.ico +0 -0
  1123. package/static/fonts/fonts.scss +253 -0
  1124. package/static/fonts/inter-cyrillic-ext.woff2 +0 -0
  1125. package/static/fonts/inter-cyrillic.woff2 +0 -0
  1126. package/static/fonts/inter-greek-ext.woff2 +0 -0
  1127. package/static/fonts/inter-greek.woff2 +0 -0
  1128. package/static/fonts/inter-latin-ext.woff2 +0 -0
  1129. package/static/fonts/inter-latin.woff2 +0 -0
  1130. package/static/fonts/inter-vietnamese.woff2 +0 -0
  1131. package/static/i18n-messages/ar.json +814 -0
  1132. package/static/i18n-messages/cs.json +814 -0
  1133. package/static/i18n-messages/de.json +814 -0
  1134. package/static/i18n-messages/en.json +814 -0
  1135. package/static/i18n-messages/es.json +814 -0
  1136. package/static/i18n-messages/fa.json +814 -0
  1137. package/static/i18n-messages/fr.json +814 -0
  1138. package/static/i18n-messages/he.json +814 -0
  1139. package/static/i18n-messages/hr.json +814 -0
  1140. package/static/i18n-messages/it.json +814 -0
  1141. package/static/i18n-messages/nb.json +812 -0
  1142. package/static/i18n-messages/ne.json +814 -0
  1143. package/static/i18n-messages/pl.json +814 -0
  1144. package/static/i18n-messages/pt_BR.json +814 -0
  1145. package/static/i18n-messages/pt_PT.json +814 -0
  1146. package/static/i18n-messages/ru.json +814 -0
  1147. package/static/i18n-messages/sv.json +807 -0
  1148. package/static/i18n-messages/uk.json +814 -0
  1149. package/static/i18n-messages/zh_Hans.json +814 -0
  1150. package/static/i18n-messages/zh_Hant.json +814 -0
  1151. package/static/index.html +14 -0
  1152. package/static/polyfills.ts +66 -0
  1153. package/static/styles/_mixins.scss +60 -0
  1154. package/static/styles/_variables.scss +11 -0
  1155. package/static/styles/component/prosemirror.scss +511 -0
  1156. package/static/styles/global/_buttons.scss +147 -0
  1157. package/static/styles/global/_clarity.scss +140 -0
  1158. package/static/styles/global/_forms.scss +187 -0
  1159. package/static/styles/global/_global.scss +41 -0
  1160. package/static/styles/global/_overrides.scss +165 -0
  1161. package/static/styles/global/_sass-overrides.scss +8 -0
  1162. package/static/styles/global/_utilities.scss +155 -0
  1163. package/static/styles/rtl.scss +143 -0
  1164. package/static/styles/styles.scss +19 -0
  1165. package/static/styles/theme/dark.scss +591 -0
  1166. package/static/styles/theme/default.scss +254 -0
  1167. package/static/styles/ui-extension-theme.scss +13 -0
  1168. package/static/theme.min.css +1 -0
  1169. package/system/components/health-check/health-check.component.d.ts +8 -0
  1170. package/system/components/job-list/job-list.component.d.ts +19 -0
  1171. package/system/components/job-state-label/job-state-label.component.d.ts +9 -0
  1172. package/system/index.d.ts +5 -0
  1173. package/system/public_api.d.ts +5 -0
  1174. package/system/system.module.d.ts +11 -0
  1175. package/system/system.routes.d.ts +2 -0
@@ -0,0 +1,79 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { UntypedFormControl } from '@angular/forms';
3
+ import { configurableDefinitionToInstance, configurableOperationValueIsValid, GlobalFlag, toConfigurableOperationInput, } from '@deenruv/admin-ui/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@deenruv/admin-ui/core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@ngx-translate/core";
9
+ export class FulfillOrderDialogComponent {
10
+ constructor(dataService, changeDetector) {
11
+ this.dataService = dataService;
12
+ this.changeDetector = changeDetector;
13
+ this.fulfillmentHandlerControl = new UntypedFormControl();
14
+ this.fulfillmentQuantities = {};
15
+ }
16
+ ngOnInit() {
17
+ this.dataService.settings.getGlobalSettings().single$.subscribe(({ globalSettings }) => {
18
+ this.fulfillmentQuantities = this.order.lines.reduce((result, line) => {
19
+ const fulfillCount = this.getFulfillableCount(line, globalSettings.trackInventory);
20
+ return {
21
+ ...result,
22
+ [line.id]: { fulfillCount, max: fulfillCount },
23
+ };
24
+ }, {});
25
+ this.changeDetector.markForCheck();
26
+ });
27
+ this.dataService.shippingMethod
28
+ .getShippingMethodOperations()
29
+ .mapSingle(data => data.fulfillmentHandlers)
30
+ .subscribe(handlers => {
31
+ this.fulfillmentHandlerDef =
32
+ handlers.find(h => h.code === this.order.shippingLines[0]?.shippingMethod?.fulfillmentHandlerCode) || handlers[0];
33
+ this.fulfillmentHandler = configurableDefinitionToInstance(this.fulfillmentHandlerDef);
34
+ this.fulfillmentHandlerControl.patchValue(this.fulfillmentHandler);
35
+ this.changeDetector.markForCheck();
36
+ });
37
+ }
38
+ getFulfillableCount(line, globalTrackInventory) {
39
+ const { trackInventory, stockOnHand } = line.productVariant;
40
+ const effectiveTracInventory = trackInventory === GlobalFlag.INHERIT ? globalTrackInventory : trackInventory === GlobalFlag.TRUE;
41
+ const unfulfilledCount = this.getUnfulfilledCount(line);
42
+ return effectiveTracInventory ? Math.min(unfulfilledCount, stockOnHand) : unfulfilledCount;
43
+ }
44
+ getUnfulfilledCount(line) {
45
+ const fulfilled = this.order.fulfillments
46
+ ?.filter(f => f.state !== 'Cancelled')
47
+ .map(f => f.lines)
48
+ .flat()
49
+ .filter(row => row.orderLineId === line.id)
50
+ .reduce((sum, row) => sum + row.quantity, 0) ?? 0;
51
+ return line.quantity - fulfilled;
52
+ }
53
+ canSubmit() {
54
+ const totalCount = Object.values(this.fulfillmentQuantities).reduce((total, { fulfillCount }) => total + fulfillCount, 0);
55
+ const fulfillmentQuantityIsValid = Object.values(this.fulfillmentQuantities).every(({ fulfillCount, max }) => fulfillCount <= max);
56
+ const formIsValid = configurableOperationValueIsValid(this.fulfillmentHandlerDef, this.fulfillmentHandlerControl.value) && this.fulfillmentHandlerControl.valid;
57
+ return formIsValid && 0 < totalCount && fulfillmentQuantityIsValid;
58
+ }
59
+ select() {
60
+ const lines = Object.entries(this.fulfillmentQuantities).map(([orderLineId, { fulfillCount }]) => ({
61
+ orderLineId,
62
+ quantity: fulfillCount,
63
+ }));
64
+ this.resolveWith({
65
+ lines,
66
+ handler: toConfigurableOperationInput(this.fulfillmentHandler, this.fulfillmentHandlerControl.value),
67
+ });
68
+ }
69
+ cancel() {
70
+ this.resolveWith();
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillOrderDialogComponent, deps: [{ token: i1.DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FulfillOrderDialogComponent, selector: "vdr-fulfill-order-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\n\n<div class=\"fulfillment-wrapper\">\n <div class=\"order-table\">\n <table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>{{ 'order.product-name' | translate }}</th>\n <th>{{ 'order.product-sku' | translate }}</th>\n <th>{{ 'order.unfulfilled' | translate }}</th>\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\n <th>{{ 'order.fulfill' | translate }}</th>\n </tr>\n </thead>\n <tr\n *ngFor=\"let line of order.lines\"\n class=\"order-line\"\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\n >\n <td class=\"align-middle thumb\">\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\n </td>\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\n <td class=\"align-middle fulfil\">\n <input\n *ngIf=\"fulfillmentQuantities[line.id]\"\n [disabled]=\"getUnfulfilledCount(line) === 0\"\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\n type=\"number\"\n [max]=\"fulfillmentQuantities[line.id].max\"\n min=\"0\"\n />\n </td>\n </tr>\n </table>\n </div>\n <div class=\"shipping-details\">\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\n <h6>{{ 'order.shipping-method' | translate }}</h6>\n {{ order.shippingLines[0]?.shippingMethod?.name }}\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\n <vdr-configurable-input\n [operationDefinition]=\"fulfillmentHandlerDef\"\n [operation]=\"fulfillmentHandler\"\n [formControl]=\"fulfillmentHandlerControl\"\n [removable]=\"false\"\n ></vdr-configurable-input>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\n {{ 'order.create-fulfillment' | translate }}\n </button>\n</ng-template>\n", styles: [":host{height:100%;display:flex;min-height:64vh}:host .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}:host .sub-total td{border-top:1px dashed var(--color-component-border-200)}:host .total td{font-weight:700;border-top:1px dashed var(--color-component-border-200)}:host td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}:host img{border-radius:var(--border-radius-img)}:host .order-line-custom-fields{display:flex;flex-wrap:wrap}:host .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-inline-end:18px}:host .draft-qty{max-width:48px}:host .order-line-custom-field{background-color:var(--color-component-bg-100)}:host .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}:host .net-price{font-size:11px;color:var(--color-text-300);line-height:14px}:host .promotions-label{text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}:host .thumb img{width:50px;height:50px}:host .shipping-method-name{font-size:var(--font-size-xs);margin-inline-end:2px}:host .order-placed-quantity{text-decoration:line-through;color:var(--color-text-300);margin-inline-end:2px}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}.fulfillment-wrapper .shipping-details{margin-top:24px}@media screen and (min-width: 768px){.fulfillment-wrapper .shipping-details{margin-top:0;margin-inline-start:24px;width:250px}}.fulfillment-wrapper .shipping-details clr-input-container{margin-top:24px}.fulfillment-wrapper .order-table{flex:1;overflow-y:auto}.fulfillment-wrapper .order-table table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i1.ConfigurableInputComponent, selector: "vdr-configurable-input", inputs: ["operation", "operationDefinition", "readonly", "removable", "position", "hideDescription"], outputs: ["remove"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: i1.FormattedAddressComponent, selector: "vdr-formatted-address", inputs: ["address"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.AssetPreviewPipe, name: "assetPreview" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillOrderDialogComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'vdr-fulfill-order-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\n\n<div class=\"fulfillment-wrapper\">\n <div class=\"order-table\">\n <table class=\"table\">\n <thead>\n <tr>\n <th></th>\n <th>{{ 'order.product-name' | translate }}</th>\n <th>{{ 'order.product-sku' | translate }}</th>\n <th>{{ 'order.unfulfilled' | translate }}</th>\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\n <th>{{ 'order.fulfill' | translate }}</th>\n </tr>\n </thead>\n <tr\n *ngFor=\"let line of order.lines\"\n class=\"order-line\"\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\n >\n <td class=\"align-middle thumb\">\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\n </td>\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\n <td class=\"align-middle fulfil\">\n <input\n *ngIf=\"fulfillmentQuantities[line.id]\"\n [disabled]=\"getUnfulfilledCount(line) === 0\"\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\n type=\"number\"\n [max]=\"fulfillmentQuantities[line.id].max\"\n min=\"0\"\n />\n </td>\n </tr>\n </table>\n </div>\n <div class=\"shipping-details\">\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\n <h6>{{ 'order.shipping-method' | translate }}</h6>\n {{ order.shippingLines[0]?.shippingMethod?.name }}\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\n <vdr-configurable-input\n [operationDefinition]=\"fulfillmentHandlerDef\"\n [operation]=\"fulfillmentHandler\"\n [formControl]=\"fulfillmentHandlerControl\"\n [removable]=\"false\"\n ></vdr-configurable-input>\n </div>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\n {{ 'order.create-fulfillment' | translate }}\n </button>\n</ng-template>\n", styles: [":host{height:100%;display:flex;min-height:64vh}:host .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}:host .sub-total td{border-top:1px dashed var(--color-component-border-200)}:host .total td{font-weight:700;border-top:1px dashed var(--color-component-border-200)}:host td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}:host img{border-radius:var(--border-radius-img)}:host .order-line-custom-fields{display:flex;flex-wrap:wrap}:host .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-inline-end:18px}:host .draft-qty{max-width:48px}:host .order-line-custom-field{background-color:var(--color-component-bg-100)}:host .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}:host .net-price{font-size:11px;color:var(--color-text-300);line-height:14px}:host .promotions-label{text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}:host .thumb img{width:50px;height:50px}:host .shipping-method-name{font-size:var(--font-size-xs);margin-inline-end:2px}:host .order-placed-quantity{text-decoration:line-through;color:var(--color-text-300);margin-inline-end:2px}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}.fulfillment-wrapper .shipping-details{margin-top:24px}@media screen and (min-width: 768px){.fulfillment-wrapper .shipping-details{margin-top:0;margin-inline-start:24px;width:250px}}.fulfillment-wrapper .shipping-details clr-input-container{margin-top:24px}.fulfillment-wrapper .order-table{flex:1;overflow-y:auto}.fulfillment-wrapper .order-table table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}\n"] }]
78
+ }], ctorParameters: () => [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }] });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbC1vcmRlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9mdWxmaWxsLW9yZGVyLWRpYWxvZy9mdWxmaWxsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGwtb3JkZXItZGlhbG9nL2Z1bGZpbGwtb3JkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxnQ0FBZ0MsRUFHaEMsaUNBQWlDLEVBSWpDLFVBQVUsRUFFViw0QkFBNEIsR0FDL0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBUWhDLE1BQU0sT0FBTywyQkFBMkI7SUFVcEMsWUFDWSxXQUF3QixFQUN4QixjQUFpQztRQURqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFSN0MsOEJBQXlCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JELDBCQUFxQixHQUFnRSxFQUFFLENBQUM7SUFRckYsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDbEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ25GLE9BQU87b0JBQ0gsR0FBRyxNQUFNO29CQUNULENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUU7aUJBQ2pELENBQUM7WUFDTixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO2FBQzFCLDJCQUEyQixFQUFFO2FBQzdCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQzthQUMzQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLHFCQUFxQjtnQkFDdEIsUUFBUSxDQUFDLElBQUksQ0FDVCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixDQUN0RixJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDdkYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQTBDLEVBQUUsb0JBQTZCO1FBQ3pGLE1BQU0sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1RCxNQUFNLHNCQUFzQixHQUN4QixjQUFjLEtBQUssVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBRXRHLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE9BQU8sc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQy9GLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUEwQztRQUMxRCxNQUFNLFNBQVMsR0FDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFDbkIsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQzthQUNyQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ2pCLElBQUksRUFBRTthQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUMxQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUMvRCxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsWUFBWSxFQUNqRCxDQUFDLENBQ0osQ0FBQztRQUNGLE1BQU0sMEJBQTBCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLENBQzlFLENBQUMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLFlBQVksSUFBSSxHQUFHLENBQ2pELENBQUM7UUFDRixNQUFNLFdBQVcsR0FDYixpQ0FBaUMsQ0FDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUMxQixJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUN2QyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7UUFDOUMsT0FBTyxXQUFXLElBQUksQ0FBQyxHQUFHLFVBQVUsSUFBSSwwQkFBMEIsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9GLFdBQVc7WUFDWCxRQUFRLEVBQUUsWUFBWTtTQUN6QixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDYixLQUFLO1lBQ0wsT0FBTyxFQUFFLDRCQUE0QixDQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQ3ZDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0E3RlEsMkJBQTJCO21HQUEzQiwyQkFBMkIsZ0VDckJ4QywrekZBNERBOzs0RkR2Q2EsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY29uZmlndXJhYmxlRGVmaW5pdGlvblRvSW5zdGFuY2UsXG4gICAgQ29uZmlndXJhYmxlT3BlcmF0aW9uLFxuICAgIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24sXG4gICAgY29uZmlndXJhYmxlT3BlcmF0aW9uVmFsdWVJc1ZhbGlkLFxuICAgIERhdGFTZXJ2aWNlLFxuICAgIERpYWxvZyxcbiAgICBGdWxmaWxsT3JkZXJJbnB1dCxcbiAgICBHbG9iYWxGbGFnLFxuICAgIE9yZGVyRGV0YWlsRnJhZ21lbnQsXG4gICAgdG9Db25maWd1cmFibGVPcGVyYXRpb25JbnB1dCxcbn0gZnJvbSAnQGRlZW5ydXYvYWRtaW4tdWkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWZ1bGZpbGwtb3JkZXItZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZnVsZmlsbC1vcmRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Z1bGZpbGwtb3JkZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZ1bGZpbGxPcmRlckRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIERpYWxvZzxGdWxmaWxsT3JkZXJJbnB1dD4sIE9uSW5pdCB7XG4gICAgcmVzb2x2ZVdpdGg6IChyZXN1bHQ/OiBGdWxmaWxsT3JkZXJJbnB1dCkgPT4gdm9pZDtcbiAgICBmdWxmaWxsbWVudEhhbmRsZXJEZWY6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb247XG4gICAgZnVsZmlsbG1lbnRIYW5kbGVyOiBDb25maWd1cmFibGVPcGVyYXRpb247XG4gICAgZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgICBmdWxmaWxsbWVudFF1YW50aXRpZXM6IHsgW2xpbmVJZDogc3RyaW5nXTogeyBmdWxmaWxsQ291bnQ6IG51bWJlcjsgbWF4OiBudW1iZXIgfSB9ID0ge307XG5cbiAgICAvLyBQcm92aWRlZCBieSBtb2RhbFNlcnZpY2UuZnJvbUNvbXBvbmVudCgpIGNhbGxcbiAgICBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3MuZ2V0R2xvYmFsU2V0dGluZ3MoKS5zaW5nbGUkLnN1YnNjcmliZSgoeyBnbG9iYWxTZXR0aW5ncyB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50UXVhbnRpdGllcyA9IHRoaXMub3JkZXIubGluZXMucmVkdWNlKChyZXN1bHQsIGxpbmUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmdWxmaWxsQ291bnQgPSB0aGlzLmdldEZ1bGZpbGxhYmxlQ291bnQobGluZSwgZ2xvYmFsU2V0dGluZ3MudHJhY2tJbnZlbnRvcnkpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgW2xpbmUuaWRdOiB7IGZ1bGZpbGxDb3VudCwgbWF4OiBmdWxmaWxsQ291bnQgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSwge30pO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5zaGlwcGluZ01ldGhvZFxuICAgICAgICAgICAgLmdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9ucygpXG4gICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5mdWxmaWxsbWVudEhhbmRsZXJzKVxuICAgICAgICAgICAgLnN1YnNjcmliZShoYW5kbGVycyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudEhhbmRsZXJEZWYgPVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVycy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgaCA9PiBoLmNvZGUgPT09IHRoaXMub3JkZXIuc2hpcHBpbmdMaW5lc1swXT8uc2hpcHBpbmdNZXRob2Q/LmZ1bGZpbGxtZW50SGFuZGxlckNvZGUsXG4gICAgICAgICAgICAgICAgICAgICkgfHwgaGFuZGxlcnNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudEhhbmRsZXIgPSBjb25maWd1cmFibGVEZWZpbml0aW9uVG9JbnN0YW5jZSh0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckRlZik7XG4gICAgICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudEhhbmRsZXJDb250cm9sLnBhdGNoVmFsdWUodGhpcy5mdWxmaWxsbWVudEhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRGdWxmaWxsYWJsZUNvdW50KGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSwgZ2xvYmFsVHJhY2tJbnZlbnRvcnk6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7IHRyYWNrSW52ZW50b3J5LCBzdG9ja09uSGFuZCB9ID0gbGluZS5wcm9kdWN0VmFyaWFudDtcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlVHJhY0ludmVudG9yeSA9XG4gICAgICAgICAgICB0cmFja0ludmVudG9yeSA9PT0gR2xvYmFsRmxhZy5JTkhFUklUID8gZ2xvYmFsVHJhY2tJbnZlbnRvcnkgOiB0cmFja0ludmVudG9yeSA9PT0gR2xvYmFsRmxhZy5UUlVFO1xuXG4gICAgICAgIGNvbnN0IHVuZnVsZmlsbGVkQ291bnQgPSB0aGlzLmdldFVuZnVsZmlsbGVkQ291bnQobGluZSk7XG4gICAgICAgIHJldHVybiBlZmZlY3RpdmVUcmFjSW52ZW50b3J5ID8gTWF0aC5taW4odW5mdWxmaWxsZWRDb3VudCwgc3RvY2tPbkhhbmQpIDogdW5mdWxmaWxsZWRDb3VudDtcbiAgICB9XG5cbiAgICBnZXRVbmZ1bGZpbGxlZENvdW50KGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGZ1bGZpbGxlZCA9XG4gICAgICAgICAgICB0aGlzLm9yZGVyLmZ1bGZpbGxtZW50c1xuICAgICAgICAgICAgICAgID8uZmlsdGVyKGYgPT4gZi5zdGF0ZSAhPT0gJ0NhbmNlbGxlZCcpXG4gICAgICAgICAgICAgICAgLm1hcChmID0+IGYubGluZXMpXG4gICAgICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIocm93ID0+IHJvdy5vcmRlckxpbmVJZCA9PT0gbGluZS5pZClcbiAgICAgICAgICAgICAgICAucmVkdWNlKChzdW0sIHJvdykgPT4gc3VtICsgcm93LnF1YW50aXR5LCAwKSA/PyAwO1xuICAgICAgICByZXR1cm4gbGluZS5xdWFudGl0eSAtIGZ1bGZpbGxlZDtcbiAgICB9XG5cbiAgICBjYW5TdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRvdGFsQ291bnQgPSBPYmplY3QudmFsdWVzKHRoaXMuZnVsZmlsbG1lbnRRdWFudGl0aWVzKS5yZWR1Y2UoXG4gICAgICAgICAgICAodG90YWwsIHsgZnVsZmlsbENvdW50IH0pID0+IHRvdGFsICsgZnVsZmlsbENvdW50LFxuICAgICAgICAgICAgMCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZnVsZmlsbG1lbnRRdWFudGl0eUlzVmFsaWQgPSBPYmplY3QudmFsdWVzKHRoaXMuZnVsZmlsbG1lbnRRdWFudGl0aWVzKS5ldmVyeShcbiAgICAgICAgICAgICh7IGZ1bGZpbGxDb3VudCwgbWF4IH0pID0+IGZ1bGZpbGxDb3VudCA8PSBtYXgsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZvcm1Jc1ZhbGlkID1cbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZU9wZXJhdGlvblZhbHVlSXNWYWxpZChcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckRlZixcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlckNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICApICYmIHRoaXMuZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbC52YWxpZDtcbiAgICAgICAgcmV0dXJuIGZvcm1Jc1ZhbGlkICYmIDAgPCB0b3RhbENvdW50ICYmIGZ1bGZpbGxtZW50UXVhbnRpdHlJc1ZhbGlkO1xuICAgIH1cblxuICAgIHNlbGVjdCgpIHtcbiAgICAgICAgY29uc3QgbGluZXMgPSBPYmplY3QuZW50cmllcyh0aGlzLmZ1bGZpbGxtZW50UXVhbnRpdGllcykubWFwKChbb3JkZXJMaW5lSWQsIHsgZnVsZmlsbENvdW50IH1dKSA9PiAoe1xuICAgICAgICAgICAgb3JkZXJMaW5lSWQsXG4gICAgICAgICAgICBxdWFudGl0eTogZnVsZmlsbENvdW50LFxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoe1xuICAgICAgICAgICAgbGluZXMsXG4gICAgICAgICAgICBoYW5kbGVyOiB0b0NvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0KFxuICAgICAgICAgICAgICAgIHRoaXMuZnVsZmlsbG1lbnRIYW5kbGVyLFxuICAgICAgICAgICAgICAgIHRoaXMuZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5yZXNvbHZlV2l0aCgpO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dUaXRsZT57eyAnb3JkZXIuZnVsZmlsbC1vcmRlcicgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwiZnVsZmlsbG1lbnQtd3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJvcmRlci10YWJsZVwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxuICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIucHJvZHVjdC1uYW1lJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIucHJvZHVjdC1za3UnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci51bmZ1bGZpbGxlZCcgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ2NhdGFsb2cuc3RvY2stb24taGFuZCcgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLmZ1bGZpbGwnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5lIG9mIG9yZGVyLmxpbmVzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyLWxpbmVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pZ25vcmVdPVwiZ2V0VW5mdWxmaWxsZWRDb3VudChsaW5lKSA9PT0gMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRodW1iXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJsaW5lLmZlYXR1cmVkQXNzZXRcIiBbc3JjXT1cImxpbmUuZmVhdHVyZWRBc3NldCB8IGFzc2V0UHJldmlldzogJ3RpbnknXCIgLz5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBuYW1lXCI+e3sgbGluZS5wcm9kdWN0VmFyaWFudC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgc2t1XCI+e3sgbGluZS5wcm9kdWN0VmFyaWFudC5za3UgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBxdWFudGl0eVwiPnt7IGdldFVuZnVsZmlsbGVkQ291bnQobGluZSkgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBxdWFudGl0eVwiPnt7IGxpbmUucHJvZHVjdFZhcmlhbnQuc3RvY2tPbkhhbmQgfX08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBmdWxmaWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZ1bGZpbGxtZW50UXVhbnRpdGllc1tsaW5lLmlkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZ2V0VW5mdWxmaWxsZWRDb3VudChsaW5lKSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZ1bGZpbGxtZW50UXVhbnRpdGllc1tsaW5lLmlkXS5mdWxmaWxsQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cImZ1bGZpbGxtZW50UXVhbnRpdGllc1tsaW5lLmlkXS5tYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNoaXBwaW5nLWRldGFpbHNcIj5cbiAgICAgICAgPHZkci1mb3JtYXR0ZWQtYWRkcmVzcyBbYWRkcmVzc109XCJvcmRlci5zaGlwcGluZ0FkZHJlc3NcIj48L3Zkci1mb3JtYXR0ZWQtYWRkcmVzcz5cbiAgICAgICAgPGg2Pnt7ICdvcmRlci5zaGlwcGluZy1tZXRob2QnIHwgdHJhbnNsYXRlIH19PC9oNj5cbiAgICAgICAge3sgb3JkZXIuc2hpcHBpbmdMaW5lc1swXT8uc2hpcHBpbmdNZXRob2Q/Lm5hbWUgfX1cbiAgICAgICAgPHN0cm9uZz57eyBvcmRlci5zaGlwcGluZyB8IGxvY2FsZUN1cnJlbmN5OiBvcmRlci5jdXJyZW5jeUNvZGUgfX08L3N0cm9uZz5cbiAgICAgICAgPHZkci1jb25maWd1cmFibGUtaW5wdXRcbiAgICAgICAgICAgIFtvcGVyYXRpb25EZWZpbml0aW9uXT1cImZ1bGZpbGxtZW50SGFuZGxlckRlZlwiXG4gICAgICAgICAgICBbb3BlcmF0aW9uXT1cImZ1bGZpbGxtZW50SGFuZGxlclwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZnVsZmlsbG1lbnRIYW5kbGVyQ29udHJvbFwiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgPjwvdmRyLWNvbmZpZ3VyYWJsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0blwiIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICdjb21tb24uY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzZWxlY3QoKVwiIFtkaXNhYmxlZF09XCIhY2FuU3VibWl0KClcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxuICAgICAgICB7eyAnb3JkZXIuY3JlYXRlLWZ1bGZpbGxtZW50JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@clr/angular";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@deenruv/admin-ui/core";
6
+ import * as i4 from "../fulfillment-detail/fulfillment-detail.component";
7
+ import * as i5 from "../fulfillment-state-label/fulfillment-state-label.component";
8
+ import * as i6 from "@ngx-translate/core";
9
+ export class FulfillmentCardComponent {
10
+ constructor() {
11
+ this.transitionState = new EventEmitter();
12
+ }
13
+ nextSuggestedState() {
14
+ if (!this.fulfillment) {
15
+ return;
16
+ }
17
+ const { nextStates } = this.fulfillment;
18
+ const namedStateOrDefault = (targetState) => nextStates.includes(targetState) ? targetState : nextStates[0];
19
+ switch (this.fulfillment?.state) {
20
+ case 'Pending':
21
+ return namedStateOrDefault('Shipped');
22
+ case 'Shipped':
23
+ return namedStateOrDefault('Delivered');
24
+ default:
25
+ return nextStates.find(s => s !== 'Cancelled');
26
+ }
27
+ }
28
+ nextOtherStates() {
29
+ if (!this.fulfillment) {
30
+ return [];
31
+ }
32
+ const suggested = this.nextSuggestedState();
33
+ return this.fulfillment.nextStates.filter(s => s !== suggested);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillmentCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FulfillmentCardComponent, selector: "vdr-fulfillment-card", inputs: { fulfillment: "fulfillment", order: "order" }, outputs: { transitionState: "transitionState" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"card-header fulfillment-header\">\n <div>{{ 'order.fulfillment' | translate }}</div>\n <div class=\"fulfillment-state\">\n <vdr-fulfillment-state-label [state]=\"fulfillment?.state\"></vdr-fulfillment-state-label>\n </div>\n </div>\n <div class=\"card-block\">\n <vdr-fulfillment-detail\n *ngIf=\"!!fulfillment\"\n [fulfillmentId]=\"fulfillment?.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </div>\n <div class=\"card-footer\" *ngIf=\"fulfillment?.nextStates.length\">\n <ng-container *ngIf=\"nextSuggestedState() as suggestedState\">\n <button class=\"btn btn-sm btn-primary\" (click)=\"transitionState.emit(suggestedState)\">\n {{ 'order.set-fulfillment-state' | translate: { state: (suggestedState | stateI18nToken | translate) } }}\n </button>\n </ng-container>\n <vdr-dropdown>\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\n <button\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionState.emit(nextState)\"\n >\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{ 'order.transition-to-state' | translate: { state: (nextState | stateI18nToken | translate) } }}\n </ng-container>\n <ng-template #cancel>\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n {{ 'order.cancel-fulfillment' | translate }}\n </ng-template>\n </button>\n </ng-container>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n</div>\n", styles: [".fulfillment-header{display:flex;justify-content:space-between;align-items:center}.card-footer{display:flex;align-items:center;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i3.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i3.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i3.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i4.FulfillmentDetailComponent, selector: "vdr-fulfillment-detail", inputs: ["fulfillmentId", "order"] }, { kind: "component", type: i5.FulfillmentStateLabelComponent, selector: "vdr-fulfillment-state-label", inputs: ["state"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.StateI18nTokenPipe, name: "stateI18nToken" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillmentCardComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'vdr-fulfillment-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card\">\n <div class=\"card-header fulfillment-header\">\n <div>{{ 'order.fulfillment' | translate }}</div>\n <div class=\"fulfillment-state\">\n <vdr-fulfillment-state-label [state]=\"fulfillment?.state\"></vdr-fulfillment-state-label>\n </div>\n </div>\n <div class=\"card-block\">\n <vdr-fulfillment-detail\n *ngIf=\"!!fulfillment\"\n [fulfillmentId]=\"fulfillment?.id\"\n [order]=\"order\"\n ></vdr-fulfillment-detail>\n </div>\n <div class=\"card-footer\" *ngIf=\"fulfillment?.nextStates.length\">\n <ng-container *ngIf=\"nextSuggestedState() as suggestedState\">\n <button class=\"btn btn-sm btn-primary\" (click)=\"transitionState.emit(suggestedState)\">\n {{ 'order.set-fulfillment-state' | translate: { state: (suggestedState | stateI18nToken | translate) } }}\n </button>\n </ng-container>\n <vdr-dropdown>\n <button class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\n <button\n type=\"button\"\n vdrDropdownItem\n (click)=\"transitionState.emit(nextState)\"\n >\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\n <clr-icon shape=\"step-forward-2\"></clr-icon>\n {{ 'order.transition-to-state' | translate: { state: (nextState | stateI18nToken | translate) } }}\n </ng-container>\n <ng-template #cancel>\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\n {{ 'order.cancel-fulfillment' | translate }}\n </ng-template>\n </button>\n </ng-container>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n</div>\n", styles: [".fulfillment-header{display:flex;justify-content:space-between;align-items:center}.card-footer{display:flex;align-items:center;justify-content:flex-end}\n"] }]
41
+ }], propDecorators: { fulfillment: [{
42
+ type: Input
43
+ }], order: [{
44
+ type: Input
45
+ }], transitionState: [{
46
+ type: Output
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWNhcmQvZnVsZmlsbG1lbnQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWNhcmQvZnVsZmlsbG1lbnQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVNoRyxNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBU2Msb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBMEIxRDtJQXhCRyxrQkFBa0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUNoRCxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUMsS0FBSyxTQUFTO2dCQUNWLE9BQU8sbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUM7Z0JBQ0ksT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQzsrR0E1QlEsd0JBQXdCO21HQUF4Qix3QkFBd0IscUtDVHJDLHNxRUE2Q0E7OzRGRHBDYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1bGZpbGxtZW50RnJhZ21lbnQsIE9yZGVyRGV0YWlsRnJhZ21lbnQgfSBmcm9tICdAZGVlbnJ1di9hZG1pbi11aS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItZnVsZmlsbG1lbnQtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Z1bGZpbGxtZW50LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Z1bGZpbGxtZW50LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnVsZmlsbG1lbnRDYXJkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBmdWxmaWxsbWVudDogRnVsZmlsbG1lbnRGcmFnbWVudCB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcbiAgICBAT3V0cHV0KCkgdHJhbnNpdGlvblN0YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBuZXh0U3VnZ2VzdGVkU3RhdGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZ1bGZpbGxtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBuZXh0U3RhdGVzIH0gPSB0aGlzLmZ1bGZpbGxtZW50O1xuICAgICAgICBjb25zdCBuYW1lZFN0YXRlT3JEZWZhdWx0ID0gKHRhcmdldFN0YXRlOiBzdHJpbmcpID0+XG4gICAgICAgICAgICBuZXh0U3RhdGVzLmluY2x1ZGVzKHRhcmdldFN0YXRlKSA/IHRhcmdldFN0YXRlIDogbmV4dFN0YXRlc1swXTtcbiAgICAgICAgc3dpdGNoICh0aGlzLmZ1bGZpbGxtZW50Py5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnUGVuZGluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5hbWVkU3RhdGVPckRlZmF1bHQoJ1NoaXBwZWQnKTtcbiAgICAgICAgICAgIGNhc2UgJ1NoaXBwZWQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuYW1lZFN0YXRlT3JEZWZhdWx0KCdEZWxpdmVyZWQnKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5leHRTdGF0ZXMuZmluZChzID0+IHMgIT09ICdDYW5jZWxsZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5leHRPdGhlclN0YXRlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGlmICghdGhpcy5mdWxmaWxsbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1Z2dlc3RlZCA9IHRoaXMubmV4dFN1Z2dlc3RlZFN0YXRlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZ1bGZpbGxtZW50Lm5leHRTdGF0ZXMuZmlsdGVyKHMgPT4gcyAhPT0gc3VnZ2VzdGVkKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBmdWxmaWxsbWVudC1oZWFkZXJcIj5cbiAgICAgICAgPGRpdj57eyAnb3JkZXIuZnVsZmlsbG1lbnQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC1zdGF0ZVwiPlxuICAgICAgICAgICAgPHZkci1mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbCBbc3RhdGVdPVwiZnVsZmlsbG1lbnQ/LnN0YXRlXCI+PC92ZHItZnVsZmlsbG1lbnQtc3RhdGUtbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrXCI+XG4gICAgICAgIDx2ZHItZnVsZmlsbG1lbnQtZGV0YWlsXG4gICAgICAgICAgICAqbmdJZj1cIiEhZnVsZmlsbG1lbnRcIlxuICAgICAgICAgICAgW2Z1bGZpbGxtZW50SWRdPVwiZnVsZmlsbG1lbnQ/LmlkXCJcbiAgICAgICAgICAgIFtvcmRlcl09XCJvcmRlclwiXG4gICAgICAgID48L3Zkci1mdWxmaWxsbWVudC1kZXRhaWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCIgKm5nSWY9XCJmdWxmaWxsbWVudD8ubmV4dFN0YXRlcy5sZW5ndGhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5leHRTdWdnZXN0ZWRTdGF0ZSgpIGFzIHN1Z2dlc3RlZFN0YXRlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiIChjbGljayk9XCJ0cmFuc2l0aW9uU3RhdGUuZW1pdChzdWdnZXN0ZWRTdGF0ZSlcIj5cbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIuc2V0LWZ1bGZpbGxtZW50LXN0YXRlJyB8IHRyYW5zbGF0ZTogeyBzdGF0ZTogKHN1Z2dlc3RlZFN0YXRlIHwgc3RhdGVJMThuVG9rZW4gfCB0cmFuc2xhdGUpIH0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHZkci1kcm9wZG93bj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpY29uLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlcj5cbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJlbGxpcHNpcy12ZXJ0aWNhbFwiPjwvY2xyLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG5leHRTdGF0ZSBvZiBuZXh0T3RoZXJTdGF0ZXMoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRyYW5zaXRpb25TdGF0ZS5lbWl0KG5leHRTdGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibmV4dFN0YXRlICE9PSAnQ2FuY2VsbGVkJzsgZWxzZSBjYW5jZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJzdGVwLWZvcndhcmQtMlwiPjwvY2xyLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLnRyYW5zaXRpb24tdG8tc3RhdGUnIHwgdHJhbnNsYXRlOiB7IHN0YXRlOiAobmV4dFN0YXRlIHwgc3RhdGVJMThuVG9rZW4gfCB0cmFuc2xhdGUpIH0gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYW5jZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZXJyb3Itc3RhbmRhcmRcIiBjbGFzcz1cImlzLWVycm9yXCI+PC9jbHItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnb3JkZXIuY2FuY2VsLWZ1bGZpbGxtZW50JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxuICAgICAgICA8L3Zkci1kcm9wZG93bj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,50 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
3
+ import { isObject } from '@deenruv/common/lib/shared-utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@deenruv/admin-ui/core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../simple-item-list/simple-item-list.component";
8
+ import * as i4 from "@ngx-translate/core";
9
+ export class FulfillmentDetailComponent {
10
+ constructor(serverConfigService) {
11
+ this.serverConfigService = serverConfigService;
12
+ this.customFieldConfig = [];
13
+ this.customFieldFormGroup = new UntypedFormGroup({});
14
+ }
15
+ ngOnInit() {
16
+ this.customFieldConfig = this.serverConfigService.getCustomFieldsFor('Fulfillment');
17
+ }
18
+ ngOnChanges(changes) {
19
+ this.buildCustomFieldsFormGroup();
20
+ }
21
+ get fulfillment() {
22
+ return this.order.fulfillments && this.order.fulfillments.find(f => f.id === this.fulfillmentId);
23
+ }
24
+ get items() {
25
+ return (this.fulfillment?.lines.map(row => ({
26
+ name: this.order.lines.find(line => line.id === row.orderLineId)?.productVariant.name ?? '',
27
+ quantity: row.quantity,
28
+ })) ?? []);
29
+ }
30
+ buildCustomFieldsFormGroup() {
31
+ const customFields = this.fulfillment.customFields;
32
+ for (const fieldDef of this.serverConfigService.getCustomFieldsFor('Fulfillment')) {
33
+ this.customFieldFormGroup.addControl(fieldDef.name, new UntypedFormControl(customFields[fieldDef.name]));
34
+ }
35
+ }
36
+ customFieldIsObject(customField) {
37
+ return Array.isArray(customField) || isObject(customField);
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillmentDetailComponent, deps: [{ token: i1.ServerConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FulfillmentDetailComponent, selector: "vdr-fulfillment-detail", inputs: { fulfillmentId: "fulfillmentId", order: "order" }, usesOnChanges: true, ngImport: i0, template: "<vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ fulfillment?.createdAt | localeDate: 'medium' }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ fulfillment?.method }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"fulfillment?.trackingCode\" [label]=\"'order.tracking-code' | translate\">\n {{ fulfillment?.trackingCode }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<ng-container *ngFor=\"let customField of customFieldConfig\">\n <vdr-custom-field-control\n *ngIf=\"customFieldFormGroup.get(customField.name)\"\n [readonly]=\"true\"\n [compact]=\"true\"\n [customField]=\"customField\"\n [customFieldsFormGroup]=\"customFieldFormGroup\"\n ></vdr-custom-field-control>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.CustomFieldControlComponent, selector: "vdr-custom-field-control", inputs: ["entityName", "customFieldsFormGroup", "customField", "compact", "showLabel", "readonly"] }, { kind: "component", type: i1.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "component", type: i3.SimpleItemListComponent, selector: "vdr-simple-item-list", inputs: ["items"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillmentDetailComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'vdr-fulfillment-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ fulfillment?.createdAt | localeDate: 'medium' }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ fulfillment?.method }}\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"fulfillment?.trackingCode\" [label]=\"'order.tracking-code' | translate\">\n {{ fulfillment?.trackingCode }}\n</vdr-labeled-data>\n<vdr-labeled-data [label]=\"'order.contents' | translate\">\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<ng-container *ngFor=\"let customField of customFieldConfig\">\n <vdr-custom-field-control\n *ngIf=\"customFieldFormGroup.get(customField.name)\"\n [readonly]=\"true\"\n [compact]=\"true\"\n [customField]=\"customField\"\n [customFieldsFormGroup]=\"customFieldFormGroup\"\n ></vdr-custom-field-control>\n</ng-container>\n" }]
45
+ }], ctorParameters: () => [{ type: i1.ServerConfigService }], propDecorators: { fulfillmentId: [{
46
+ type: Input
47
+ }], order: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvZnVsZmlsbG1lbnQtZGV0YWlsL2Z1bGZpbGxtZW50LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGxtZW50LWRldGFpbC9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0FBUTVELE1BQU0sT0FBTywwQkFBMEI7SUFPbkMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFINUQsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUM1Qyx5QkFBb0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWUsQ0FBQztJQUVoRSxRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLENBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzNGLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtTQUN6QixDQUFDLENBQUMsSUFBSSxFQUFFLENBQ1osQ0FBQztJQUNOLENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsTUFBTSxZQUFZLEdBQUksSUFBSSxDQUFDLFdBQW1CLENBQUMsWUFBWSxDQUFDO1FBQzVELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDaEYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FDaEMsUUFBUSxDQUFDLElBQUksRUFDYixJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEQsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBb0I7UUFDcEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQTFDUSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwrSUNYdkMsNDZCQXFCQTs7NEZEVmEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTt3RkFHdEMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnLCBPcmRlckRldGFpbEZyYWdtZW50LCBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGRlZW5ydXYvYWRtaW4tdWkvY29yZSc7XG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ0BkZWVucnV2L2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItZnVsZmlsbG1lbnQtZGV0YWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZnVsZmlsbG1lbnQtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mdWxmaWxsbWVudC1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnVsZmlsbG1lbnREZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgZnVsZmlsbG1lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG9yZGVyOiBPcmRlckRldGFpbEZyYWdtZW50O1xuXG4gICAgY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkQ29uZmlnW10gPSBbXTtcbiAgICBjdXN0b21GaWVsZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmVyQ29uZmlnU2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmN1c3RvbUZpZWxkQ29uZmlnID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcignRnVsZmlsbG1lbnQnKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuYnVpbGRDdXN0b21GaWVsZHNGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBnZXQgZnVsZmlsbG1lbnQoKTogTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+W251bWJlcl0gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JkZXIuZnVsZmlsbG1lbnRzICYmIHRoaXMub3JkZXIuZnVsZmlsbG1lbnRzLmZpbmQoZiA9PiBmLmlkID09PSB0aGlzLmZ1bGZpbGxtZW50SWQpO1xuICAgIH1cblxuICAgIGdldCBpdGVtcygpOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgcXVhbnRpdHk6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50Py5saW5lcy5tYXAocm93ID0+ICh7XG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5vcmRlci5saW5lcy5maW5kKGxpbmUgPT4gbGluZS5pZCA9PT0gcm93Lm9yZGVyTGluZUlkKT8ucHJvZHVjdFZhcmlhbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBxdWFudGl0eTogcm93LnF1YW50aXR5LFxuICAgICAgICAgICAgfSkpID8/IFtdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYnVpbGRDdXN0b21GaWVsZHNGb3JtR3JvdXAoKSB7XG4gICAgICAgIGNvbnN0IGN1c3RvbUZpZWxkcyA9ICh0aGlzLmZ1bGZpbGxtZW50IGFzIGFueSkuY3VzdG9tRmllbGRzO1xuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkRGVmIG9mIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRDdXN0b21GaWVsZHNGb3IoJ0Z1bGZpbGxtZW50JykpIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRmllbGRGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICBmaWVsZERlZi5uYW1lLFxuICAgICAgICAgICAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY3VzdG9tRmllbGRzW2ZpZWxkRGVmLm5hbWVdKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjdXN0b21GaWVsZElzT2JqZWN0KGN1c3RvbUZpZWxkOiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGN1c3RvbUZpZWxkKSB8fCBpc09iamVjdChjdXN0b21GaWVsZCk7XG4gICAgfVxufVxuIiwiPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIj5cbiAgICB7eyBmdWxmaWxsbWVudD8uY3JlYXRlZEF0IHwgbG9jYWxlRGF0ZTogJ21lZGl1bScgfX1cbjwvdmRyLWxhYmVsZWQtZGF0YT5cbjx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInb3JkZXIuZnVsZmlsbG1lbnQtbWV0aG9kJyB8IHRyYW5zbGF0ZVwiPlxuICAgIHt7IGZ1bGZpbGxtZW50Py5tZXRob2QgfX1cbjwvdmRyLWxhYmVsZWQtZGF0YT5cbjx2ZHItbGFiZWxlZC1kYXRhICpuZ0lmPVwiZnVsZmlsbG1lbnQ/LnRyYWNraW5nQ29kZVwiIFtsYWJlbF09XCInb3JkZXIudHJhY2tpbmctY29kZScgfCB0cmFuc2xhdGVcIj5cbiAgICB7eyBmdWxmaWxsbWVudD8udHJhY2tpbmdDb2RlIH19XG48L3Zkci1sYWJlbGVkLWRhdGE+XG48dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ29yZGVyLmNvbnRlbnRzJyB8IHRyYW5zbGF0ZVwiPlxuICAgIDx2ZHItc2ltcGxlLWl0ZW0tbGlzdCBbaXRlbXNdPVwiaXRlbXNcIj48L3Zkci1zaW1wbGUtaXRlbS1saXN0PlxuPC92ZHItbGFiZWxlZC1kYXRhPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY3VzdG9tRmllbGQgb2YgY3VzdG9tRmllbGRDb25maWdcIj5cbiAgICA8dmRyLWN1c3RvbS1maWVsZC1jb250cm9sXG4gICAgICAgICpuZ0lmPVwiY3VzdG9tRmllbGRGb3JtR3JvdXAuZ2V0KGN1c3RvbUZpZWxkLm5hbWUpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxuICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcbiAgICAgICAgW2N1c3RvbUZpZWxkXT1cImN1c3RvbUZpZWxkXCJcbiAgICAgICAgW2N1c3RvbUZpZWxkc0Zvcm1Hcm91cF09XCJjdXN0b21GaWVsZEZvcm1Hcm91cFwiXG4gICAgPjwvdmRyLWN1c3RvbS1maWVsZC1jb250cm9sPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@clr/angular";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@deenruv/admin-ui/core";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class FulfillmentStateLabelComponent {
8
+ get chipColorType() {
9
+ switch (this.state) {
10
+ case 'Pending':
11
+ case 'Shipped':
12
+ return 'warning';
13
+ case 'Delivered':
14
+ return 'success';
15
+ case 'Cancelled':
16
+ return 'error';
17
+ }
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillmentStateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FulfillmentStateLabelComponent, selector: "vdr-fulfillment-state-label", inputs: { state: "state" }, ngImport: i0, template: "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Delivered'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", styles: [":host{font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.StateI18nTokenPipe, name: "stateI18nToken" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FulfillmentStateLabelComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'vdr-fulfillment-state-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Delivered'\"></clr-icon>\n {{ state | stateI18nToken | translate }}\n</vdr-chip>\n", styles: [":host{font-size:14px}\n"] }]
25
+ }], propDecorators: { state: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsZmlsbG1lbnQtc3RhdGUtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2Z1bGZpbGxtZW50LXN0YXRlLWxhYmVsL2Z1bGZpbGxtZW50LXN0YXRlLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRMUUsTUFBTSxPQUFPLDhCQUE4QjtJQUd2QyxJQUFJLGFBQWE7UUFDYixRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssU0FBUztnQkFDVixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLFdBQVc7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxXQUFXO2dCQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDOytHQWJRLDhCQUE4QjttR0FBOUIsOEJBQThCLCtGQ1IzQyx1T0FJQTs7NEZESWEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDZCQUE2QixtQkFHdEIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItZnVsZmlsbG1lbnQtc3RhdGUtbGFiZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdWxmaWxsbWVudC1zdGF0ZS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZnVsZmlsbG1lbnQtc3RhdGUtbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnVsZmlsbG1lbnRTdGF0ZUxhYmVsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzdGF0ZTogc3RyaW5nO1xuXG4gICAgZ2V0IGNoaXBDb2xvclR5cGUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnUGVuZGluZyc6XG4gICAgICAgICAgICBjYXNlICdTaGlwcGVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgICAgICAgY2FzZSAnRGVsaXZlcmVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgY2FzZSAnQ2FuY2VsbGVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx2ZHItY2hpcCBbdGl0bGVdPVwiJ29yZGVyLnBheW1lbnQtc3RhdGUnIHwgdHJhbnNsYXRlXCIgW2NvbG9yVHlwZV09XCJjaGlwQ29sb3JUeXBlXCI+XG4gICAgPGNsci1pY29uIHNoYXBlPVwiY2hlY2stY2lyY2xlXCIgKm5nSWY9XCJzdGF0ZSA9PT0gJ0RlbGl2ZXJlZCdcIj48L2Nsci1pY29uPlxuICAgIHt7IHN0YXRlIHwgc3RhdGVJMThuVG9rZW4gfCB0cmFuc2xhdGUgfX1cbjwvdmRyLWNoaXA+XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { notNullOrUndefined } from '@deenruv/common/lib/shared-utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@clr/angular";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@deenruv/admin-ui/core";
7
+ import * as i4 from "@ngx-translate/core";
8
+ export class LineFulfillmentComponent {
9
+ constructor() {
10
+ this.fulfilledCount = 0;
11
+ this.fulfillments = [];
12
+ }
13
+ ngOnChanges(changes) {
14
+ if (this.line) {
15
+ this.fulfilledCount = this.getDeliveredCount(this.line);
16
+ this.fulfillmentStatus = this.getFulfillmentStatus(this.fulfilledCount, this.line.quantity);
17
+ this.fulfillments = this.getFulfillments(this.line);
18
+ }
19
+ }
20
+ /**
21
+ * Returns the number of items in an OrderLine which are fulfilled.
22
+ */
23
+ getDeliveredCount(line) {
24
+ return (line.fulfillmentLines?.reduce((sum, fulfillmentLine) => sum + fulfillmentLine.quantity, 0) ?? 0);
25
+ }
26
+ getFulfillmentStatus(fulfilledCount, lineQuantity) {
27
+ if (fulfilledCount === lineQuantity) {
28
+ return 'full';
29
+ }
30
+ if (0 < fulfilledCount && fulfilledCount < lineQuantity) {
31
+ return 'partial';
32
+ }
33
+ return 'none';
34
+ }
35
+ getFulfillments(line) {
36
+ return (line.fulfillmentLines
37
+ ?.map(fulfillmentLine => {
38
+ const fulfillment = this.allOrderFulfillments?.find(f => f.id === fulfillmentLine.fulfillmentId);
39
+ if (!fulfillment) {
40
+ return;
41
+ }
42
+ return {
43
+ count: fulfillmentLine.quantity,
44
+ fulfillment,
45
+ };
46
+ })
47
+ .filter(notNullOrUndefined) ?? []);
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LineFulfillmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LineFulfillmentComponent, selector: "vdr-line-fulfillment", inputs: { line: "line", allOrderFulfillments: "allOrderFulfillments", orderState: "orderState" }, usesOnChanges: true, ngImport: i0, template: "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'partial'\"\n class=\"item-partially-fulfilled\"\n shape=\"check-circle\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'none'\"\n class=\"item-not-fulfilled\"\n shape=\"exclamation-circle\"\n ></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\n {{ 'order.line-fulfillment-all' | translate }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\n {{\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\n }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\n {{ 'order.line-fulfillment-none' | translate }}\n </label>\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\n <div class=\"fulfillment-title\">\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\n 'order.item-count' | translate: { count: item.count }\n }})\n </div>\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ item.fulfillment.method }}\n </vdr-labeled-data>\n <vdr-labeled-data\n *ngIf=\"item.fulfillment.trackingCode\"\n [label]=\"'order.tracking-code' | translate\"\n >\n {{ item.fulfillment.trackingCode }}\n </vdr-labeled-data>\n </div>\n </vdr-dropdown-menu>\n</vdr-dropdown>\n", styles: [".item-fulfilled{color:var(--color-success-700)}.item-partially-fulfilled{color:var(--color-warning-700)}.item-not-fulfilled{color:var(--color-error-700)}.fulfillment-detail{margin:6px 12px}.fulfillment-detail:not(:last-of-type){border-bottom:1px dashed var(--color-component-border-200)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i3.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i3.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "component", type: i3.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LineFulfillmentComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'vdr-line-fulfillment', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'partial'\"\n class=\"item-partially-fulfilled\"\n shape=\"check-circle\"\n ></clr-icon>\n <clr-icon\n *ngIf=\"fulfillmentStatus === 'none'\"\n class=\"item-not-fulfilled\"\n shape=\"exclamation-circle\"\n ></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\n {{ 'order.line-fulfillment-all' | translate }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\n {{\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\n }}\n </label>\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\n {{ 'order.line-fulfillment-none' | translate }}\n </label>\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\n <div class=\"fulfillment-title\">\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\n 'order.item-count' | translate: { count: item.count }\n }})\n </div>\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\n {{ item.fulfillment.method }}\n </vdr-labeled-data>\n <vdr-labeled-data\n *ngIf=\"item.fulfillment.trackingCode\"\n [label]=\"'order.tracking-code' | translate\"\n >\n {{ item.fulfillment.trackingCode }}\n </vdr-labeled-data>\n </div>\n </vdr-dropdown-menu>\n</vdr-dropdown>\n", styles: [".item-fulfilled{color:var(--color-success-700)}.item-partially-fulfilled{color:var(--color-warning-700)}.item-not-fulfilled{color:var(--color-error-700)}.fulfillment-detail{margin:6px 12px}.fulfillment-detail:not(:last-of-type){border-bottom:1px dashed var(--color-component-border-200)}\n"] }]
55
+ }], propDecorators: { line: [{
56
+ type: Input
57
+ }], allOrderFulfillments: [{
58
+ type: Input
59
+ }], orderState: [{
60
+ type: Input
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtZnVsZmlsbG1lbnQvbGluZS1mdWxmaWxsbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQVl0RSxNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBVUksbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFbkIsaUJBQVksR0FHUCxFQUFFLENBQUM7S0FpRFg7SUEvQ0csV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUFDLElBQTBDO1FBQ2hFLE9BQU8sQ0FDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNsRyxDQUFDO0lBQ04sQ0FBQztJQUVPLG9CQUFvQixDQUFDLGNBQXNCLEVBQUUsWUFBb0I7UUFDckUsSUFBSSxjQUFjLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDbEMsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLGNBQWMsSUFBSSxjQUFjLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDdEQsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxlQUFlLENBQ25CLElBQTBDO1FBRTFDLE9BQU8sQ0FDSCxJQUFJLENBQUMsZ0JBQWdCO1lBQ2pCLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQy9DLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUMsYUFBYSxDQUM5QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNmLE9BQU87WUFDWCxDQUFDO1lBQ0QsT0FBTztnQkFDSCxLQUFLLEVBQUUsZUFBZSxDQUFDLFFBQVE7Z0JBQy9CLFdBQVc7YUFDZCxDQUFDO1FBQ04sQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUN4QyxDQUFDO0lBQ04sQ0FBQzsrR0F6RFEsd0JBQXdCO21HQUF4Qix3QkFBd0IsbUxDZHJDLHd1RUErQ0E7OzRGRGpDYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9yZGVyRGV0YWlsRnJhZ21lbnQgfSBmcm9tICdAZGVlbnJ1di9hZG1pbi11aS9jb3JlJztcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BkZWVucnV2L2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcbmltcG9ydCB7IHVuaXF1ZSB9IGZyb20gJ0BkZWVucnV2L2NvbW1vbi9saWIvdW5pcXVlJztcblxuZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRTdGF0dXMgPSAnZnVsbCcgfCAncGFydGlhbCcgfCAnbm9uZSc7XG50eXBlIEZ1bGZpbGxtZW50ID0gTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+W251bWJlcl07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWxpbmUtZnVsZmlsbG1lbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5lLWZ1bGZpbGxtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saW5lLWZ1bGZpbGxtZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpbmVGdWxmaWxsbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgbGluZTogT3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdO1xuICAgIEBJbnB1dCgpIGFsbE9yZGVyRnVsZmlsbG1lbnRzOiBPcmRlckRldGFpbEZyYWdtZW50WydmdWxmaWxsbWVudHMnXTtcbiAgICBASW5wdXQoKSBvcmRlclN0YXRlOiBzdHJpbmc7XG4gICAgZnVsZmlsbGVkQ291bnQgPSAwO1xuICAgIGZ1bGZpbGxtZW50U3RhdHVzOiBGdWxmaWxsbWVudFN0YXR1cztcbiAgICBmdWxmaWxsbWVudHM6IEFycmF5PHtcbiAgICAgICAgY291bnQ6IG51bWJlcjtcbiAgICAgICAgZnVsZmlsbG1lbnQ6IEZ1bGZpbGxtZW50O1xuICAgIH0+ID0gW107XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxpbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZnVsZmlsbGVkQ291bnQgPSB0aGlzLmdldERlbGl2ZXJlZENvdW50KHRoaXMubGluZSk7XG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50U3RhdHVzID0gdGhpcy5nZXRGdWxmaWxsbWVudFN0YXR1cyh0aGlzLmZ1bGZpbGxlZENvdW50LCB0aGlzLmxpbmUucXVhbnRpdHkpO1xuICAgICAgICAgICAgdGhpcy5mdWxmaWxsbWVudHMgPSB0aGlzLmdldEZ1bGZpbGxtZW50cyh0aGlzLmxpbmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIGFuIE9yZGVyTGluZSB3aGljaCBhcmUgZnVsZmlsbGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0RGVsaXZlcmVkQ291bnQobGluZTogT3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGxpbmUuZnVsZmlsbG1lbnRMaW5lcz8ucmVkdWNlKChzdW0sIGZ1bGZpbGxtZW50TGluZSkgPT4gc3VtICsgZnVsZmlsbG1lbnRMaW5lLnF1YW50aXR5LCAwKSA/PyAwXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGdWxmaWxsbWVudFN0YXR1cyhmdWxmaWxsZWRDb3VudDogbnVtYmVyLCBsaW5lUXVhbnRpdHk6IG51bWJlcik6IEZ1bGZpbGxtZW50U3RhdHVzIHtcbiAgICAgICAgaWYgKGZ1bGZpbGxlZENvdW50ID09PSBsaW5lUXVhbnRpdHkpIHtcbiAgICAgICAgICAgIHJldHVybiAnZnVsbCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKDAgPCBmdWxmaWxsZWRDb3VudCAmJiBmdWxmaWxsZWRDb3VudCA8IGxpbmVRdWFudGl0eSkge1xuICAgICAgICAgICAgcmV0dXJuICdwYXJ0aWFsJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RnVsZmlsbG1lbnRzKFxuICAgICAgICBsaW5lOiBPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl0sXG4gICAgKTogQXJyYXk8eyBjb3VudDogbnVtYmVyOyBmdWxmaWxsbWVudDogTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZnVsZmlsbG1lbnRzJ10+W251bWJlcl0gfT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbGluZS5mdWxmaWxsbWVudExpbmVzXG4gICAgICAgICAgICAgICAgPy5tYXAoZnVsZmlsbG1lbnRMaW5lID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZnVsZmlsbG1lbnQgPSB0aGlzLmFsbE9yZGVyRnVsZmlsbG1lbnRzPy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgZiA9PiBmLmlkID09PSBmdWxmaWxsbWVudExpbmUuZnVsZmlsbG1lbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFmdWxmaWxsbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogZnVsZmlsbG1lbnRMaW5lLnF1YW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZnVsZmlsbG1lbnQsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkgPz8gW11cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8dmRyLWRyb3Bkb3duIGNsYXNzPVwic2VhcmNoLXNldHRpbmdzLW1lbnVcIiAqbmdJZj1cImZ1bGZpbGxlZENvdW50IHx8IG9yZGVyU3RhdGUgPT09ICdQYXJ0aWFsbHlEZWxpdmVyZWQnXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpY29uLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlcj5cbiAgICAgICAgPGNsci1pY29uICpuZ0lmPVwiZnVsZmlsbG1lbnRTdGF0dXMgPT09ICdmdWxsJ1wiIGNsYXNzPVwiaXRlbS1mdWxmaWxsZWRcIiBzaGFwZT1cImNoZWNrLWNpcmNsZVwiPjwvY2xyLWljb24+XG4gICAgICAgIDxjbHItaWNvblxuICAgICAgICAgICAgKm5nSWY9XCJmdWxmaWxsbWVudFN0YXR1cyA9PT0gJ3BhcnRpYWwnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1wYXJ0aWFsbHktZnVsZmlsbGVkXCJcbiAgICAgICAgICAgIHNoYXBlPVwiY2hlY2stY2lyY2xlXCJcbiAgICAgICAgPjwvY2xyLWljb24+XG4gICAgICAgIDxjbHItaWNvblxuICAgICAgICAgICAgKm5nSWY9XCJmdWxmaWxsbWVudFN0YXR1cyA9PT0gJ25vbmUnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaXRlbS1ub3QtZnVsZmlsbGVkXCJcbiAgICAgICAgICAgIHNoYXBlPVwiZXhjbGFtYXRpb24tY2lyY2xlXCJcbiAgICAgICAgPjwvY2xyLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiICpuZ0lmPVwiZnVsZmlsbG1lbnRTdGF0dXMgPT09ICdmdWxsJ1wiPlxuICAgICAgICAgICAge3sgJ29yZGVyLmxpbmUtZnVsZmlsbG1lbnQtYWxsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIiAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAncGFydGlhbCdcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ29yZGVyLmxpbmUtZnVsZmlsbG1lbnQtcGFydGlhbCcgfCB0cmFuc2xhdGU6IHsgdG90YWw6IGxpbmUucXVhbnRpdHksIGNvdW50OiBmdWxmaWxsZWRDb3VudCB9XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIiAqbmdJZj1cImZ1bGZpbGxtZW50U3RhdHVzID09PSAnbm9uZSdcIj5cbiAgICAgICAgICAgIHt7ICdvcmRlci5saW5lLWZ1bGZpbGxtZW50LW5vbmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC1kZXRhaWxcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmdWxmaWxsbWVudHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5mdWxmaWxsbWVudCcgfCB0cmFuc2xhdGUgfX0gI3t7IGl0ZW0uZnVsZmlsbG1lbnQuaWQgfX0gKHt7XG4gICAgICAgICAgICAgICAgICAgICdvcmRlci5pdGVtLWNvdW50JyB8IHRyYW5zbGF0ZTogeyBjb3VudDogaXRlbS5jb3VudCB9XG4gICAgICAgICAgICAgICAgfX0pXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInY29tbW9uLmNyZWF0ZWQtYXQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlOiAnbWVkaXVtJyB9fVxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxuICAgICAgICAgICAgPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidvcmRlci5mdWxmaWxsbWVudC1tZXRob2QnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC5tZXRob2QgfX1cbiAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmZ1bGZpbGxtZW50LnRyYWNraW5nQ29kZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidvcmRlci50cmFja2luZy1jb2RlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5mdWxmaWxsbWVudC50cmFja2luZ0NvZGUgfX1cbiAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC92ZHItZHJvcGRvd24tbWVudT5cbjwvdmRyLWRyb3Bkb3duPlxuIl19
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@clr/angular";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/cdk/bidi";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class LineRefundsComponent {
8
+ getRefundedCount() {
9
+ const refundLines = this.payments
10
+ ?.reduce((all, payment) => [...all, ...payment.refunds], [])
11
+ .filter(refund => refund.state !== 'Failed')
12
+ .reduce((all, refund) => [...all, ...refund.lines], []) ?? [];
13
+ return refundLines
14
+ .filter(i => i.orderLineId === this.line.id)
15
+ .reduce((sum, i) => sum + i.quantity, 0);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LineRefundsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LineRefundsComponent, selector: "vdr-line-refunds", inputs: { line: "line", payments: "payments" }, ngImport: i0, template: "<span *ngIf=\"getRefundedCount()\" [title]=\"'order.refunded-count' | translate: { count: getRefundedCount() }\">\n <clr-icon shape=\"redo\" class=\"is-solid\" dir=\"down\"></clr-icon>\n</span>\n", styles: [":host{color:var(--color-error-500)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LineRefundsComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'vdr-line-refunds', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span *ngIf=\"getRefundedCount()\" [title]=\"'order.refunded-count' | translate: { count: getRefundedCount() }\">\n <clr-icon shape=\"redo\" class=\"is-solid\" dir=\"down\"></clr-icon>\n</span>\n", styles: [":host{color:var(--color-error-500)}\n"] }]
23
+ }], propDecorators: { line: [{
24
+ type: Input
25
+ }], payments: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1yZWZ1bmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvbGluZS1yZWZ1bmRzL2xpbmUtcmVmdW5kcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2xpbmUtcmVmdW5kcy9saW5lLXJlZnVuZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVMxRSxNQUFNLE9BQU8sb0JBQW9CO0lBSTdCLGdCQUFnQjtRQUNaLE1BQU0sV0FBVyxHQUNiLElBQUksQ0FBQyxRQUFRO1lBQ1QsRUFBRSxNQUFNLENBQ0osQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUM5QyxFQUEyQyxDQUM5QzthQUNBLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO2FBQzNDLE1BQU0sQ0FDSCxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQzFDLEVBQXNELENBQ3pELElBQUksRUFBRSxDQUFDO1FBRWhCLE9BQU8sV0FBVzthQUNiLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDM0MsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FwQlEsb0JBQW9CO21HQUFwQixvQkFBb0Isd0dDVGpDLHdNQUdBOzs0RkRNYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9yZGVyRGV0YWlsRnJhZ21lbnQsIFBheW1lbnRXaXRoUmVmdW5kc0ZyYWdtZW50IH0gZnJvbSAnQGRlZW5ydXYvYWRtaW4tdWkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWxpbmUtcmVmdW5kcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpbmUtcmVmdW5kcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGluZS1yZWZ1bmRzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpbmVSZWZ1bmRzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBsaW5lOiBPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl07XG4gICAgQElucHV0KCkgcGF5bWVudHM6IFBheW1lbnRXaXRoUmVmdW5kc0ZyYWdtZW50W107XG5cbiAgICBnZXRSZWZ1bmRlZENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJlZnVuZExpbmVzID1cbiAgICAgICAgICAgIHRoaXMucGF5bWVudHNcbiAgICAgICAgICAgICAgICA/LnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgKGFsbCwgcGF5bWVudCkgPT4gWy4uLmFsbCwgLi4ucGF5bWVudC5yZWZ1bmRzXSxcbiAgICAgICAgICAgICAgICAgICAgW10gYXMgUGF5bWVudFdpdGhSZWZ1bmRzRnJhZ21lbnRbJ3JlZnVuZHMnXSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmZpbHRlcihyZWZ1bmQgPT4gcmVmdW5kLnN0YXRlICE9PSAnRmFpbGVkJylcbiAgICAgICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAoYWxsLCByZWZ1bmQpID0+IFsuLi5hbGwsIC4uLnJlZnVuZC5saW5lc10sXG4gICAgICAgICAgICAgICAgICAgIFtdIGFzIEFycmF5PHsgb3JkZXJMaW5lSWQ6IHN0cmluZzsgcXVhbnRpdHk6IG51bWJlciB9PixcbiAgICAgICAgICAgICAgICApID8/IFtdO1xuXG4gICAgICAgIHJldHVybiByZWZ1bmRMaW5lc1xuICAgICAgICAgICAgLmZpbHRlcihpID0+IGkub3JkZXJMaW5lSWQgPT09IHRoaXMubGluZS5pZClcbiAgICAgICAgICAgIC5yZWR1Y2UoKHN1bSwgaSkgPT4gc3VtICsgaS5xdWFudGl0eSwgMCk7XG4gICAgfVxufVxuIiwiPHNwYW4gKm5nSWY9XCJnZXRSZWZ1bmRlZENvdW50KClcIiBbdGl0bGVdPVwiJ29yZGVyLnJlZnVuZGVkLWNvdW50JyB8IHRyYW5zbGF0ZTogeyBjb3VudDogZ2V0UmVmdW5kZWRDb3VudCgpIH1cIj5cbiAgICA8Y2xyLWljb24gc2hhcGU9XCJyZWRvXCIgY2xhc3M9XCJpcy1zb2xpZFwiIGRpcj1cImRvd25cIj48L2Nsci1pY29uPlxuPC9zcGFuPlxuIl19
@@ -0,0 +1,71 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@deenruv/admin-ui/core";
5
+ import * as i3 from "../simple-item-list/simple-item-list.component";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class ModificationDetailComponent {
8
+ constructor() {
9
+ this.addedItems = new Map();
10
+ this.removedItems = new Map();
11
+ this.modifiedItems = new Set();
12
+ }
13
+ ngOnChanges() {
14
+ const { added, removed, modified } = this.getModifiedLines();
15
+ this.addedItems = added;
16
+ this.removedItems = removed;
17
+ this.modifiedItems = modified;
18
+ }
19
+ getSurcharge(id) {
20
+ return this.order.surcharges.find(m => m.id === id);
21
+ }
22
+ getAddedItems() {
23
+ return [...this.addedItems.entries()].map(([line, count]) => ({
24
+ name: line.productVariant.name,
25
+ quantity: count,
26
+ }));
27
+ }
28
+ getRemovedItems() {
29
+ return [...this.removedItems.entries()].map(([line, count]) => ({
30
+ name: line.productVariant.name,
31
+ quantity: count,
32
+ }));
33
+ }
34
+ getModifiedItems() {
35
+ return [...this.modifiedItems].map(line => ({
36
+ name: line.productVariant.name,
37
+ }));
38
+ }
39
+ getModifiedLines() {
40
+ const added = new Map();
41
+ const removed = new Map();
42
+ const modified = new Set();
43
+ for (const modificationLine of this.modification.lines || []) {
44
+ const line = this.order.lines.find(l => l.id === modificationLine.orderLineId);
45
+ if (!line) {
46
+ continue;
47
+ }
48
+ if (modificationLine.quantity === 0) {
49
+ modified.add(line);
50
+ }
51
+ else if (modificationLine.quantity < 0) {
52
+ removed.set(line, -modificationLine.quantity);
53
+ }
54
+ else {
55
+ added.set(line, modificationLine.quantity);
56
+ }
57
+ }
58
+ return { added, removed, modified };
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModificationDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ModificationDetailComponent, selector: "vdr-modification-detail", inputs: { order: "order", modification: "modification" }, usesOnChanges: true, ngImport: i0, template: "<vdr-labeled-data [label]=\"'common.ID' | translate\">{{ modification.id }}</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"modification.note\" [label]=\"'order.note' | translate\">{{\n modification.note\n}}</vdr-labeled-data>\n<vdr-labeled-data *ngFor=\"let surcharge of modification.surcharges\" [label]=\"'order.surcharges' | translate\">\n {{ getSurcharge(surcharge.id)?.description }}\n {{ getSurcharge(surcharge.id)?.priceWithTax | localeCurrency: order.currencyCode }}</vdr-labeled-data\n>\n<vdr-labeled-data *ngIf=\"getAddedItems().length\" [label]=\"'order.added-items' | translate\">\n <vdr-simple-item-list [items]=\"getAddedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getRemovedItems().length\" [label]=\"'order.removed-items' | translate\">\n <vdr-simple-item-list [items]=\"getRemovedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getModifiedItems().length\" [label]=\"'order.modified-items' | translate\">\n <vdr-simple-item-list [items]=\"getModifiedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "component", type: i3.SimpleItemListComponent, selector: "vdr-simple-item-list", inputs: ["items"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ModificationDetailComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'vdr-modification-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-labeled-data [label]=\"'common.ID' | translate\">{{ modification.id }}</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"modification.note\" [label]=\"'order.note' | translate\">{{\n modification.note\n}}</vdr-labeled-data>\n<vdr-labeled-data *ngFor=\"let surcharge of modification.surcharges\" [label]=\"'order.surcharges' | translate\">\n {{ getSurcharge(surcharge.id)?.description }}\n {{ getSurcharge(surcharge.id)?.priceWithTax | localeCurrency: order.currencyCode }}</vdr-labeled-data\n>\n<vdr-labeled-data *ngIf=\"getAddedItems().length\" [label]=\"'order.added-items' | translate\">\n <vdr-simple-item-list [items]=\"getAddedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getRemovedItems().length\" [label]=\"'order.removed-items' | translate\">\n <vdr-simple-item-list [items]=\"getRemovedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n<vdr-labeled-data *ngIf=\"getModifiedItems().length\" [label]=\"'order.modified-items' | translate\">\n <vdr-simple-item-list [items]=\"getModifiedItems()\"></vdr-simple-item-list>\n</vdr-labeled-data>\n" }]
66
+ }], propDecorators: { order: [{
67
+ type: Input
68
+ }], modification: [{
69
+ type: Input
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZpY2F0aW9uLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL21vZGlmaWNhdGlvbi1kZXRhaWwvbW9kaWZpY2F0aW9uLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL21vZGlmaWNhdGlvbi1kZXRhaWwvbW9kaWZpY2F0aW9uLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVM3RixNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBU1ksZUFBVSxHQUFHLElBQUksR0FBRyxFQUFnRCxDQUFDO1FBQ3JFLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQWdELENBQUM7UUFDdkUsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBd0MsQ0FBQztLQW9EM0U7SUFsREcsV0FBVztRQUNQLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUQsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSTtZQUM5QixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUk7WUFDOUIsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSTtTQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWdELENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWdELENBQUM7UUFDeEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7UUFDakUsS0FBSyxNQUFNLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNSLFNBQVM7WUFDYixDQUFDO1lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsQ0FBQztpQkFBTSxJQUFJLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDOytHQXhEUSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw4SUNUeEMseWxDQWlCQTs7NEZEUmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9yZGVyRGV0YWlsRnJhZ21lbnQgfSBmcm9tICdAZGVlbnJ1di9hZG1pbi11aS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItbW9kaWZpY2F0aW9uLWRldGFpbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGlmaWNhdGlvbi1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vZGlmaWNhdGlvbi1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTW9kaWZpY2F0aW9uRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcbiAgICBASW5wdXQoKSBtb2RpZmljYXRpb246IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXVtudW1iZXJdO1xuICAgIHByaXZhdGUgYWRkZWRJdGVtcyA9IG5ldyBNYXA8T3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdLCBudW1iZXI+KCk7XG4gICAgcHJpdmF0ZSByZW1vdmVkSXRlbXMgPSBuZXcgTWFwPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSwgbnVtYmVyPigpO1xuICAgIHByaXZhdGUgbW9kaWZpZWRJdGVtcyA9IG5ldyBTZXQ8T3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdPigpO1xuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgYWRkZWQsIHJlbW92ZWQsIG1vZGlmaWVkIH0gPSB0aGlzLmdldE1vZGlmaWVkTGluZXMoKTtcbiAgICAgICAgdGhpcy5hZGRlZEl0ZW1zID0gYWRkZWQ7XG4gICAgICAgIHRoaXMucmVtb3ZlZEl0ZW1zID0gcmVtb3ZlZDtcbiAgICAgICAgdGhpcy5tb2RpZmllZEl0ZW1zID0gbW9kaWZpZWQ7XG4gICAgfVxuXG4gICAgZ2V0U3VyY2hhcmdlKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JkZXIuc3VyY2hhcmdlcy5maW5kKG0gPT4gbS5pZCA9PT0gaWQpO1xuICAgIH1cblxuICAgIGdldEFkZGVkSXRlbXMoKSB7XG4gICAgICAgIHJldHVybiBbLi4udGhpcy5hZGRlZEl0ZW1zLmVudHJpZXMoKV0ubWFwKChbbGluZSwgY291bnRdKSA9PiAoe1xuICAgICAgICAgICAgbmFtZTogbGluZS5wcm9kdWN0VmFyaWFudC5uYW1lLFxuICAgICAgICAgICAgcXVhbnRpdHk6IGNvdW50LFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgZ2V0UmVtb3ZlZEl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXMucmVtb3ZlZEl0ZW1zLmVudHJpZXMoKV0ubWFwKChbbGluZSwgY291bnRdKSA9PiAoe1xuICAgICAgICAgICAgbmFtZTogbGluZS5wcm9kdWN0VmFyaWFudC5uYW1lLFxuICAgICAgICAgICAgcXVhbnRpdHk6IGNvdW50LFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgZ2V0TW9kaWZpZWRJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzLm1vZGlmaWVkSXRlbXNdLm1hcChsaW5lID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUsXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vZGlmaWVkTGluZXMoKSB7XG4gICAgICAgIGNvbnN0IGFkZGVkID0gbmV3IE1hcDxPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl0sIG51bWJlcj4oKTtcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IG5ldyBNYXA8T3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdLCBudW1iZXI+KCk7XG4gICAgICAgIGNvbnN0IG1vZGlmaWVkID0gbmV3IFNldDxPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl0+KCk7XG4gICAgICAgIGZvciAoY29uc3QgbW9kaWZpY2F0aW9uTGluZSBvZiB0aGlzLm1vZGlmaWNhdGlvbi5saW5lcyB8fCBbXSkge1xuICAgICAgICAgICAgY29uc3QgbGluZSA9IHRoaXMub3JkZXIubGluZXMuZmluZChsID0+IGwuaWQgPT09IG1vZGlmaWNhdGlvbkxpbmUub3JkZXJMaW5lSWQpO1xuICAgICAgICAgICAgaWYgKCFsaW5lKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobW9kaWZpY2F0aW9uTGluZS5xdWFudGl0eSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG1vZGlmaWVkLmFkZChsaW5lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobW9kaWZpY2F0aW9uTGluZS5xdWFudGl0eSA8IDApIHtcbiAgICAgICAgICAgICAgICByZW1vdmVkLnNldChsaW5lLCAtbW9kaWZpY2F0aW9uTGluZS5xdWFudGl0eSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFkZGVkLnNldChsaW5lLCBtb2RpZmljYXRpb25MaW5lLnF1YW50aXR5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBhZGRlZCwgcmVtb3ZlZCwgbW9kaWZpZWQgfTtcbiAgICB9XG59XG4iLCI8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ2NvbW1vbi5JRCcgfCB0cmFuc2xhdGVcIj57eyBtb2RpZmljYXRpb24uaWQgfX08L3Zkci1sYWJlbGVkLWRhdGE+XG48dmRyLWxhYmVsZWQtZGF0YSAqbmdJZj1cIm1vZGlmaWNhdGlvbi5ub3RlXCIgW2xhYmVsXT1cIidvcmRlci5ub3RlJyB8IHRyYW5zbGF0ZVwiPnt7XG4gICAgbW9kaWZpY2F0aW9uLm5vdGVcbn19PC92ZHItbGFiZWxlZC1kYXRhPlxuPHZkci1sYWJlbGVkLWRhdGEgKm5nRm9yPVwibGV0IHN1cmNoYXJnZSBvZiBtb2RpZmljYXRpb24uc3VyY2hhcmdlc1wiIFtsYWJlbF09XCInb3JkZXIuc3VyY2hhcmdlcycgfCB0cmFuc2xhdGVcIj5cbiAgICB7eyBnZXRTdXJjaGFyZ2Uoc3VyY2hhcmdlLmlkKT8uZGVzY3JpcHRpb24gfX1cbiAgICB7eyBnZXRTdXJjaGFyZ2Uoc3VyY2hhcmdlLmlkKT8ucHJpY2VXaXRoVGF4IHwgbG9jYWxlQ3VycmVuY3k6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fTwvdmRyLWxhYmVsZWQtZGF0YVxuPlxuPHZkci1sYWJlbGVkLWRhdGEgKm5nSWY9XCJnZXRBZGRlZEl0ZW1zKCkubGVuZ3RoXCIgW2xhYmVsXT1cIidvcmRlci5hZGRlZC1pdGVtcycgfCB0cmFuc2xhdGVcIj5cbiAgICA8dmRyLXNpbXBsZS1pdGVtLWxpc3QgW2l0ZW1zXT1cImdldEFkZGVkSXRlbXMoKVwiPjwvdmRyLXNpbXBsZS1pdGVtLWxpc3Q+XG48L3Zkci1sYWJlbGVkLWRhdGE+XG48dmRyLWxhYmVsZWQtZGF0YSAqbmdJZj1cImdldFJlbW92ZWRJdGVtcygpLmxlbmd0aFwiIFtsYWJlbF09XCInb3JkZXIucmVtb3ZlZC1pdGVtcycgfCB0cmFuc2xhdGVcIj5cbiAgICA8dmRyLXNpbXBsZS1pdGVtLWxpc3QgW2l0ZW1zXT1cImdldFJlbW92ZWRJdGVtcygpXCI+PC92ZHItc2ltcGxlLWl0ZW0tbGlzdD5cbjwvdmRyLWxhYmVsZWQtZGF0YT5cbjx2ZHItbGFiZWxlZC1kYXRhICpuZ0lmPVwiZ2V0TW9kaWZpZWRJdGVtcygpLmxlbmd0aFwiIFtsYWJlbF09XCInb3JkZXIubW9kaWZpZWQtaXRlbXMnIHwgdHJhbnNsYXRlXCI+XG4gICAgPHZkci1zaW1wbGUtaXRlbS1saXN0IFtpdGVtc109XCJnZXRNb2RpZmllZEl0ZW1zKClcIj48L3Zkci1zaW1wbGUtaXRlbS1saXN0PlxuPC92ZHItbGFiZWxlZC1kYXRhPlxuIl19