@vendure/admin-ui 1.4.7 → 2.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1140) hide show
  1. package/catalog/catalog.module.d.ts +30 -0
  2. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +5 -2
  3. package/catalog/components/asset-detail/asset-detail.component.d.ts +6 -4
  4. package/catalog/components/asset-list/asset-list.component.d.ts +5 -2
  5. package/catalog/components/{product-assets/product-assets.component.d.ts → assets/assets.component.d.ts} +7 -10
  6. package/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +9 -7
  7. package/catalog/components/collection-contents/collection-contents.component.d.ts +5 -3
  8. package/catalog/components/collection-detail/collection-detail.component.d.ts +6 -3
  9. package/catalog/components/collection-list/collection-list.component.d.ts +6 -3
  10. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +7 -3
  11. package/catalog/components/collection-tree/collection-tree.component.d.ts +10 -25
  12. package/catalog/components/collection-tree/collection-tree.service.d.ts +33 -0
  13. package/catalog/components/collection-tree/collection-tree.types.d.ts +7 -0
  14. package/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +5 -2
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +7 -4
  16. package/catalog/components/facet-list/facet-list.component.d.ts +6 -3
  17. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -0
  18. package/catalog/components/option-value-input/option-value-input.component.d.ts +3 -0
  19. package/catalog/components/product-detail/product-detail.component.d.ts +17 -37
  20. package/catalog/components/product-detail/product-detail.types.d.ts +26 -0
  21. package/catalog/components/product-list/product-list.component.d.ts +6 -3
  22. package/catalog/components/product-options-editor/product-options-editor.component.d.ts +9 -4
  23. package/catalog/components/product-search-input/product-search-input.component.d.ts +9 -4
  24. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +5 -2
  25. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +24 -17
  26. package/catalog/components/product-variants-table/product-variants-table.component.d.ts +24 -11
  27. package/catalog/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +5 -2
  28. package/catalog/components/variant-price-detail/variant-price-detail.component.d.ts +3 -0
  29. package/catalog/package.json +5 -6
  30. package/catalog/providers/product-detail/product-detail.service.d.ts +214 -93
  31. package/catalog/providers/routing/asset-resolver.d.ts +5 -3
  32. package/catalog/providers/routing/collection-resolver.d.ts +5 -2
  33. package/catalog/providers/routing/facet-resolver.d.ts +5 -4
  34. package/catalog/providers/routing/product-resolver.d.ts +5 -2
  35. package/catalog/providers/routing/product-variants-resolver.d.ts +5 -2
  36. package/catalog/public_api.d.ts +4 -1
  37. package/catalog/vendure-admin-ui-catalog.d.ts +1 -0
  38. package/core/app.component.d.ts +3 -0
  39. package/core/app.component.module.d.ts +7 -0
  40. package/core/common/base-detail.component.d.ts +2 -2
  41. package/core/common/base-entity-resolver.d.ts +1 -1
  42. package/core/common/base-list.component.d.ts +10 -0
  43. package/core/common/generated-types.d.ts +12045 -4197
  44. package/core/common/utilities/flatten-facet-values.d.ts +2 -2
  45. package/core/common/version.d.ts +1 -1
  46. package/core/components/app-shell/app-shell.component.d.ts +3 -0
  47. package/core/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  48. package/core/components/channel-switcher/channel-switcher.component.d.ts +3 -0
  49. package/core/components/main-nav/main-nav.component.d.ts +3 -0
  50. package/core/components/notification/notification.component.d.ts +3 -0
  51. package/core/components/overlay-host/overlay-host.component.d.ts +3 -0
  52. package/core/components/theme-switcher/theme-switcher.component.d.ts +3 -0
  53. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +4 -1
  54. package/core/components/user-menu/user-menu.component.d.ts +3 -0
  55. package/core/core.module.d.ts +18 -0
  56. package/core/data/client-state/client-defaults.d.ts +19 -7
  57. package/core/data/data.module.d.ts +6 -0
  58. package/core/data/definitions/administrator-definitions.d.ts +15 -15
  59. package/core/data/definitions/auth-definitions.d.ts +4 -4
  60. package/core/data/definitions/client-definitions.d.ts +16 -16
  61. package/core/data/definitions/collection-definitions.d.ts +9 -9
  62. package/core/data/definitions/customer-definitions.d.ts +22 -21
  63. package/core/data/definitions/facet-definitions.d.ts +10 -10
  64. package/core/data/definitions/order-definitions.d.ts +25 -25
  65. package/core/data/definitions/product-definitions.d.ts +44 -44
  66. package/core/data/definitions/promotion-definitions.d.ts +7 -7
  67. package/core/data/definitions/settings-definitions.d.ts +65 -65
  68. package/core/data/definitions/shared-definitions.d.ts +3 -3
  69. package/core/data/definitions/shipping-definitions.d.ts +9 -9
  70. package/core/data/providers/administrator-data.service.d.ts +15 -15
  71. package/core/data/providers/auth-data.service.d.ts +4 -3
  72. package/core/data/providers/base-data.service.d.ts +3 -0
  73. package/core/data/providers/client-data.service.d.ts +15 -14
  74. package/core/data/providers/collection-data.service.d.ts +11 -11
  75. package/core/data/providers/customer-data.service.d.ts +25 -24
  76. package/core/data/providers/data.service.d.ts +5 -2
  77. package/core/data/providers/facet-data.service.d.ts +12 -12
  78. package/core/data/providers/fetch-adapter.d.ts +3 -0
  79. package/core/data/providers/interceptor.d.ts +3 -0
  80. package/core/data/providers/order-data.service.d.ts +21 -21
  81. package/core/data/providers/product-data.service.d.ts +51 -51
  82. package/core/data/providers/promotion-data.service.d.ts +8 -8
  83. package/core/data/providers/settings-data.service.d.ts +52 -51
  84. package/core/data/providers/shipping-method-data.service.d.ts +12 -12
  85. package/core/data/query-result.d.ts +1 -1
  86. package/core/data/server-config.d.ts +5 -2
  87. package/core/package.json +5 -6
  88. package/core/providers/auth/auth.service.d.ts +5 -2
  89. package/core/providers/component-registry/component-registry.service.d.ts +3 -0
  90. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +3 -0
  91. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -0
  92. package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +3 -0
  93. package/core/providers/guard/auth.guard.d.ts +3 -0
  94. package/core/providers/health-check/health-check.service.d.ts +3 -0
  95. package/core/providers/i18n/custom-message-format-compiler.d.ts +3 -0
  96. package/core/providers/i18n/i18n.service.d.ts +3 -0
  97. package/core/providers/job-queue/job-queue.service.d.ts +3 -0
  98. package/core/providers/local-storage/local-storage.service.d.ts +3 -0
  99. package/core/providers/modal/modal.service.d.ts +4 -67
  100. package/core/providers/modal/modal.types.d.ts +67 -0
  101. package/core/providers/nav-builder/nav-builder.service.d.ts +3 -0
  102. package/core/providers/notification/notification.service.d.ts +3 -0
  103. package/core/providers/overlay-host/overlay-host.service.d.ts +3 -0
  104. package/core/public_api.d.ts +3 -0
  105. package/core/shared/components/action-bar/action-bar.component.d.ts +7 -0
  106. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +3 -0
  107. package/core/shared/components/address-form/address-form.component.d.ts +5 -2
  108. package/core/shared/components/affixed-input/affixed-input.component.d.ts +3 -0
  109. package/core/shared/components/affixed-input/percentage-suffix-input.component.d.ts +3 -0
  110. package/core/shared/components/asset-file-input/asset-file-input.component.d.ts +3 -0
  111. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +46 -26
  112. package/core/shared/components/asset-gallery/asset-gallery.types.d.ts +3 -0
  113. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +7 -3
  114. package/core/shared/components/asset-preview/asset-preview.component.d.ts +5 -3
  115. package/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +7 -5
  116. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +8 -0
  117. package/core/shared/components/asset-search-input/asset-search-input.component.d.ts +5 -2
  118. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +3 -0
  119. package/core/shared/components/channel-badge/channel-badge.component.d.ts +3 -0
  120. package/core/shared/components/chip/chip.component.d.ts +3 -0
  121. package/core/shared/components/configurable-input/configurable-input.component.d.ts +3 -0
  122. package/core/shared/components/currency-input/currency-input.component.d.ts +3 -0
  123. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -0
  124. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +3 -0
  125. package/core/shared/components/customer-label/customer-label.component.d.ts +5 -2
  126. package/core/shared/components/data-table/data-table-column.component.d.ts +3 -0
  127. package/core/shared/components/data-table/data-table.component.d.ts +3 -0
  128. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +3 -0
  129. package/core/shared/components/datetime-picker/datetime-picker.service.d.ts +3 -0
  130. package/core/shared/components/dropdown/dropdown-item.directive.d.ts +3 -0
  131. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +3 -0
  132. package/core/shared/components/dropdown/dropdown-trigger.directive.d.ts +3 -0
  133. package/core/shared/components/dropdown/dropdown.component.d.ts +3 -0
  134. package/core/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +4 -1
  135. package/core/shared/components/empty-placeholder/empty-placeholder.component.d.ts +3 -0
  136. package/core/shared/components/entity-info/entity-info.component.d.ts +3 -0
  137. package/core/shared/components/extension-host/extension-host.component.d.ts +3 -0
  138. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -0
  139. package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +5 -2
  140. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +8 -5
  141. package/core/shared/components/focal-point-control/focal-point-control.component.d.ts +3 -0
  142. package/core/shared/components/form-field/form-field-control.directive.d.ts +3 -0
  143. package/core/shared/components/form-field/form-field.component.d.ts +3 -0
  144. package/core/shared/components/form-item/form-item.component.d.ts +3 -0
  145. package/core/shared/components/formatted-address/formatted-address.component.d.ts +3 -0
  146. package/core/shared/components/help-tooltip/help-tooltip.component.d.ts +3 -0
  147. package/core/shared/components/history-entry-detail/history-entry-detail.component.d.ts +3 -0
  148. package/core/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +3 -0
  149. package/core/shared/components/labeled-data/labeled-data.component.d.ts +3 -0
  150. package/core/shared/components/language-selector/language-selector.component.d.ts +3 -0
  151. package/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +6 -3
  152. package/core/shared/components/modal-dialog/dialog-buttons.directive.d.ts +3 -0
  153. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +3 -0
  154. package/core/shared/components/modal-dialog/dialog-title.directive.d.ts +3 -0
  155. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +4 -1
  156. package/core/shared/components/object-tree/object-tree.component.d.ts +3 -0
  157. package/core/shared/components/order-state-label/order-state-label.component.d.ts +4 -1
  158. package/core/shared/components/pagination-controls/pagination-controls.component.d.ts +3 -0
  159. package/core/shared/components/product-selector/product-selector.component.d.ts +23 -13
  160. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +4 -1
  161. package/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +4 -1
  162. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +3 -0
  163. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +3 -0
  164. package/core/shared/components/select-toggle/select-toggle.component.d.ts +3 -0
  165. package/core/shared/components/simple-dialog/simple-dialog.component.d.ts +4 -1
  166. package/core/shared/components/status-badge/status-badge.component.d.ts +3 -0
  167. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +3 -0
  168. package/core/shared/components/table-row-action/table-row-action.component.d.ts +3 -0
  169. package/core/shared/components/tag-selector/tag-selector.component.d.ts +3 -0
  170. package/core/shared/components/timeline-entry/timeline-entry.component.d.ts +3 -0
  171. package/core/shared/components/title-input/title-input.component.d.ts +3 -0
  172. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +3 -0
  173. package/core/shared/directives/disabled.directive.d.ts +3 -0
  174. package/core/shared/directives/if-default-channel-active.directive.d.ts +3 -0
  175. package/core/shared/directives/if-directive-base.d.ts +3 -0
  176. package/core/shared/directives/if-multichannel.directive.d.ts +3 -0
  177. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  178. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +3 -0
  179. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +3 -0
  180. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +3 -0
  181. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +7 -3
  182. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +3 -0
  183. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -0
  184. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +5 -2
  185. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +3 -0
  186. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +3 -0
  187. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +6 -3
  188. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -1
  189. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +6 -3
  190. package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +6 -2
  191. package/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +7 -3
  192. package/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +7 -3
  193. package/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +7 -0
  194. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +3 -0
  195. package/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +4 -1
  196. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +3 -0
  197. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +3 -0
  198. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +3 -0
  199. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +3 -0
  200. package/core/shared/pipes/asset-preview.pipe.d.ts +3 -0
  201. package/core/shared/pipes/channel-label.pipe.d.ts +3 -0
  202. package/core/shared/pipes/custom-field-label.pipe.d.ts +3 -0
  203. package/core/shared/pipes/duration.pipe.d.ts +3 -0
  204. package/core/shared/pipes/file-size.pipe.d.ts +3 -0
  205. package/core/shared/pipes/has-permission.pipe.d.ts +3 -0
  206. package/core/shared/pipes/locale-base.pipe.d.ts +3 -0
  207. package/core/shared/pipes/locale-currency-name.pipe.d.ts +3 -0
  208. package/core/shared/pipes/locale-currency.pipe.d.ts +3 -0
  209. package/core/shared/pipes/locale-date.pipe.d.ts +3 -0
  210. package/core/shared/pipes/locale-language-name.pipe.d.ts +3 -0
  211. package/core/shared/pipes/locale-region-name.pipe.d.ts +3 -0
  212. package/core/shared/pipes/sentence-case.pipe.d.ts +3 -0
  213. package/core/shared/pipes/sort.pipe.d.ts +3 -0
  214. package/core/shared/pipes/state-i18n-token.pipe.d.ts +3 -0
  215. package/core/shared/pipes/string-to-color.pipe.d.ts +3 -0
  216. package/core/shared/pipes/time-ago.pipe.d.ts +3 -0
  217. package/core/shared/providers/routing/can-deactivate-detail-guard.d.ts +3 -0
  218. package/core/shared/shared.module.d.ts +118 -0
  219. package/core/vendure-admin-ui-core.d.ts +1 -0
  220. package/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +6 -3
  221. package/customer/components/address-card/address-card.component.d.ts +7 -2
  222. package/customer/components/address-detail-dialog/address-detail-dialog.component.d.ts +5 -2
  223. package/customer/components/customer-detail/customer-detail.component.d.ts +10 -5
  224. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +3 -0
  225. package/customer/components/customer-group-list/customer-group-list.component.d.ts +10 -7
  226. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +3 -0
  227. package/customer/components/customer-history/customer-history.component.d.ts +12 -7
  228. package/customer/components/customer-list/customer-list.component.d.ts +7 -5
  229. package/customer/components/customer-status-label/customer-status-label.component.d.ts +5 -2
  230. package/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +5 -2
  231. package/customer/customer.module.d.ts +17 -0
  232. package/customer/package.json +5 -6
  233. package/customer/providers/routing/customer-resolver.d.ts +5 -4
  234. package/customer/vendure-admin-ui-customer.d.ts +1 -0
  235. package/dashboard/components/dashboard/dashboard.component.d.ts +3 -0
  236. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +3 -0
  237. package/dashboard/dashboard.module.d.ts +8 -0
  238. package/dashboard/package.json +5 -6
  239. package/dashboard/vendure-admin-ui-dashboard.d.ts +1 -0
  240. package/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +9 -2
  241. package/dashboard/widgets/order-summary-widget/order-summary-widget.component.d.ts +7 -0
  242. package/dashboard/widgets/test-widget/test-widget.component.d.ts +6 -0
  243. package/dashboard/widgets/welcome-widget/welcome-widget.component.d.ts +9 -2
  244. package/esm2020/catalog/catalog.module.mjs +116 -0
  245. package/esm2020/catalog/catalog.routes.mjs +174 -0
  246. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +30 -0
  247. package/esm2020/catalog/components/asset-detail/asset-detail.component.mjs +66 -0
  248. package/esm2020/catalog/components/asset-list/asset-list.component.mjs +120 -0
  249. package/esm2020/catalog/components/assets/assets.component.mjs +100 -0
  250. package/esm2020/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +104 -0
  251. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +76 -0
  252. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +210 -0
  253. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +120 -0
  254. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +56 -0
  255. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +99 -0
  256. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +44 -0
  257. package/esm2020/catalog/components/collection-tree/collection-tree.service.mjs +68 -0
  258. package/esm2020/catalog/components/collection-tree/collection-tree.types.mjs +2 -0
  259. package/esm2020/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +23 -0
  260. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +321 -0
  261. package/esm2020/catalog/components/facet-list/facet-list.component.mjs +104 -0
  262. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +79 -0
  263. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +97 -0
  264. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +520 -0
  265. package/esm2020/catalog/components/product-detail/product-detail.types.mjs +2 -0
  266. package/esm2020/catalog/components/product-list/product-list.component.mjs +150 -0
  267. package/esm2020/catalog/components/product-options-editor/product-options-editor.component.mjs +151 -0
  268. package/esm2020/catalog/components/product-search-input/product-search-input.component.mjs +107 -0
  269. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +313 -0
  270. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +226 -0
  271. package/esm2020/catalog/components/product-variants-table/product-variants-table.component.mjs +72 -0
  272. package/esm2020/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +64 -0
  273. package/esm2020/catalog/components/variant-price-detail/variant-price-detail.component.mjs +61 -0
  274. package/esm2020/catalog/providers/product-detail/product-detail.service.mjs +224 -0
  275. package/{esm2015/catalog/providers/product-detail/replace-last.js → esm2020/catalog/providers/product-detail/replace-last.mjs} +0 -0
  276. package/esm2020/catalog/providers/routing/asset-resolver.mjs +33 -0
  277. package/esm2020/catalog/providers/routing/collection-resolver.mjs +35 -0
  278. package/esm2020/catalog/providers/routing/facet-resolver.mjs +30 -0
  279. package/esm2020/catalog/providers/routing/product-resolver.mjs +39 -0
  280. package/esm2020/catalog/providers/routing/product-variants-resolver.mjs +27 -0
  281. package/esm2020/catalog/public_api.mjs +39 -0
  282. package/{esm2015/catalog/vendure-admin-ui-catalog.js → esm2020/catalog/vendure-admin-ui-catalog.mjs} +0 -0
  283. package/esm2020/core/app.component.mjs +79 -0
  284. package/esm2020/core/app.component.module.mjs +19 -0
  285. package/{esm2015/core/app.config.js → esm2020/core/app.config.mjs} +0 -0
  286. package/esm2020/core/common/base-detail.component.mjs +108 -0
  287. package/{esm2015/core/common/base-entity-resolver.js → esm2020/core/common/base-entity-resolver.mjs} +2 -2
  288. package/esm2020/core/common/base-list.component.mjs +159 -0
  289. package/{esm2015/core/common/component-registry-types.js → esm2020/core/common/component-registry-types.mjs} +0 -0
  290. package/{esm2015/core/common/deactivate-aware.js → esm2020/core/common/deactivate-aware.mjs} +0 -0
  291. package/{esm2015/core/common/detail-breadcrumb.js → esm2020/core/common/detail-breadcrumb.mjs} +0 -0
  292. package/esm2020/core/common/generated-types.mjs +954 -0
  293. package/{esm2015/core/common/introspection-result-wrapper.js → esm2020/core/common/introspection-result-wrapper.mjs} +0 -0
  294. package/esm2020/core/common/introspection-result.mjs +187 -0
  295. package/{esm2015/core/common/single-search-selection-model.js → esm2020/core/common/single-search-selection-model.mjs} +0 -0
  296. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +83 -0
  297. package/esm2020/core/common/utilities/create-updated-translatable.mjs +75 -0
  298. package/esm2020/core/common/utilities/find-translation.mjs +9 -0
  299. package/esm2020/core/common/utilities/flatten-facet-values.mjs +4 -0
  300. package/esm2020/core/common/utilities/get-default-ui-language.mjs +12 -0
  301. package/{esm2015/core/common/utilities/interpolate-description.js → esm2020/core/common/utilities/interpolate-description.mjs} +0 -0
  302. package/{esm2015/core/common/utilities/string-to-color.js → esm2020/core/common/utilities/string-to-color.mjs} +0 -0
  303. package/{esm2015/core/common/version.js → esm2020/core/common/version.mjs} +2 -2
  304. package/esm2020/core/components/app-shell/app-shell.component.mjs +76 -0
  305. package/esm2020/core/components/breadcrumb/breadcrumb.component.mjs +124 -0
  306. package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +58 -0
  307. package/esm2020/core/components/main-nav/main-nav.component.mjs +270 -0
  308. package/esm2020/core/components/notification/notification.component.mjs +76 -0
  309. package/esm2020/core/components/overlay-host/overlay-host.component.mjs +22 -0
  310. package/esm2020/core/components/theme-switcher/theme-switcher.component.mjs +29 -0
  311. package/esm2020/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +305 -0
  312. package/esm2020/core/components/user-menu/user-menu.component.mjs +37 -0
  313. package/esm2020/core/core.module.mjs +145 -0
  314. package/{esm2015/core/data/check-jobs-link.js → esm2020/core/data/check-jobs-link.mjs} +0 -0
  315. package/{esm2015/core/data/client-state/client-defaults.js → esm2020/core/data/client-state/client-defaults.mjs} +1 -1
  316. package/esm2020/core/data/client-state/client-resolvers.mjs +131 -0
  317. package/esm2020/core/data/data.module.mjs +126 -0
  318. package/{esm2015/core/data/definitions/administrator-definitions.js → esm2020/core/data/definitions/administrator-definitions.mjs} +0 -0
  319. package/{esm2015/core/data/definitions/auth-definitions.js → esm2020/core/data/definitions/auth-definitions.mjs} +0 -0
  320. package/{esm2015/core/data/definitions/client-definitions.js → esm2020/core/data/definitions/client-definitions.mjs} +0 -0
  321. package/{esm2015/core/data/definitions/collection-definitions.js → esm2020/core/data/definitions/collection-definitions.mjs} +0 -0
  322. package/esm2020/core/data/definitions/customer-definitions.mjs +265 -0
  323. package/{esm2015/core/data/definitions/facet-definitions.js → esm2020/core/data/definitions/facet-definitions.mjs} +0 -0
  324. package/{esm2015/core/data/definitions/order-definitions.js → esm2020/core/data/definitions/order-definitions.mjs} +0 -0
  325. package/{esm2015/core/data/definitions/product-definitions.js → esm2020/core/data/definitions/product-definitions.mjs} +0 -0
  326. package/{esm2015/core/data/definitions/promotion-definitions.js → esm2020/core/data/definitions/promotion-definitions.mjs} +0 -0
  327. package/{esm2015/core/data/definitions/settings-definitions.js → esm2020/core/data/definitions/settings-definitions.mjs} +0 -0
  328. package/{esm2015/core/data/definitions/shared-definitions.js → esm2020/core/data/definitions/shared-definitions.mjs} +0 -0
  329. package/{esm2015/core/data/definitions/shipping-definitions.js → esm2020/core/data/definitions/shipping-definitions.mjs} +0 -0
  330. package/{esm2015/core/data/omit-typename-link.js → esm2020/core/data/omit-typename-link.mjs} +0 -0
  331. package/esm2020/core/data/providers/administrator-data.service.mjs +63 -0
  332. package/esm2020/core/data/providers/auth-data.service.mjs +20 -0
  333. package/esm2020/core/data/providers/base-data.service.mjs +69 -0
  334. package/esm2020/core/data/providers/client-data.service.mjs +75 -0
  335. package/esm2020/core/data/providers/collection-data.service.mjs +72 -0
  336. package/esm2020/core/data/providers/customer-data.service.mjs +120 -0
  337. package/esm2020/core/data/providers/data.service.mjs +90 -0
  338. package/esm2020/core/data/providers/facet-data.service.mjs +60 -0
  339. package/esm2020/core/data/providers/fetch-adapter.mjs +36 -0
  340. package/esm2020/core/data/providers/interceptor.mjs +136 -0
  341. package/esm2020/core/data/providers/order-data.service.mjs +100 -0
  342. package/esm2020/core/data/providers/product-data.service.mjs +240 -0
  343. package/esm2020/core/data/providers/promotion-data.service.mjs +36 -0
  344. package/esm2020/core/data/providers/settings-data.service.mjs +235 -0
  345. package/esm2020/core/data/providers/shipping-method-data.service.mjs +66 -0
  346. package/{esm2015/core/data/query-result.js → esm2020/core/data/query-result.mjs} +1 -1
  347. package/esm2020/core/data/server-config.mjs +74 -0
  348. package/esm2020/core/data/utils/add-custom-fields.mjs +84 -0
  349. package/{esm2015/core/data/utils/get-server-location.js → esm2020/core/data/utils/get-server-location.mjs} +0 -0
  350. package/{esm2015/core/data/utils/remove-readonly-custom-fields.js → esm2020/core/data/utils/remove-readonly-custom-fields.mjs} +1 -1
  351. package/esm2020/core/data/utils/transform-relation-custom-field-inputs.mjs +46 -0
  352. package/esm2020/core/providers/auth/auth.service.mjs +104 -0
  353. package/esm2020/core/providers/component-registry/component-registry.service.mjs +25 -0
  354. package/{esm2015/core/providers/custom-detail-component/custom-detail-component-types.js → esm2020/core/providers/custom-detail-component/custom-detail-component-types.mjs} +0 -0
  355. package/esm2020/core/providers/custom-detail-component/custom-detail-component.service.mjs +44 -0
  356. package/esm2020/core/providers/custom-field-component/custom-field-component.service.mjs +45 -0
  357. package/{esm2015/core/providers/dashboard-widget/dashboard-widget-types.js → esm2020/core/providers/dashboard-widget/dashboard-widget-types.mjs} +0 -0
  358. package/esm2020/core/providers/dashboard-widget/dashboard-widget.service.mjs +98 -0
  359. package/{esm2015/core/providers/dashboard-widget/register-dashboard-widget.js → esm2020/core/providers/dashboard-widget/register-dashboard-widget.mjs} +0 -0
  360. package/esm2020/core/providers/guard/auth.guard.mjs +38 -0
  361. package/esm2020/core/providers/health-check/health-check.service.mjs +36 -0
  362. package/{esm2015/core/providers/i18n/custom-http-loader.js → esm2020/core/providers/i18n/custom-http-loader.mjs} +0 -0
  363. package/esm2020/core/providers/i18n/custom-message-format-compiler.mjs +31 -0
  364. package/esm2020/core/providers/i18n/i18n.service.mjs +54 -0
  365. package/esm2020/core/providers/job-queue/job-queue.service.mjs +91 -0
  366. package/esm2020/core/providers/local-storage/local-storage.service.mjs +77 -0
  367. package/esm2020/core/providers/modal/modal.service.mjs +97 -0
  368. package/esm2020/core/providers/modal/modal.types.mjs +2 -0
  369. package/{esm2015/core/providers/nav-builder/nav-builder-types.js → esm2020/core/providers/nav-builder/nav-builder-types.mjs} +0 -0
  370. package/esm2020/core/providers/nav-builder/nav-builder.service.mjs +268 -0
  371. package/esm2020/core/providers/notification/notification.service.mjs +157 -0
  372. package/esm2020/core/providers/overlay-host/overlay-host.service.mjs +48 -0
  373. package/esm2020/core/public_api.mjs +220 -0
  374. package/esm2020/core/shared/components/action-bar/action-bar.component.mjs +57 -0
  375. package/esm2020/core/shared/components/action-bar-items/action-bar-items.component.mjs +78 -0
  376. package/esm2020/core/shared/components/address-form/address-form.component.mjs +23 -0
  377. package/esm2020/core/shared/components/affixed-input/affixed-input.component.mjs +19 -0
  378. package/esm2020/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +97 -0
  379. package/esm2020/core/shared/components/asset-file-input/asset-file-input.component.mjs +97 -0
  380. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +110 -0
  381. package/esm2020/core/shared/components/asset-gallery/asset-gallery.types.mjs +2 -0
  382. package/esm2020/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +144 -0
  383. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +189 -0
  384. package/esm2020/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +34 -0
  385. package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +26 -0
  386. package/esm2020/core/shared/components/asset-search-input/asset-search-input.component.mjs +106 -0
  387. package/esm2020/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +116 -0
  388. package/esm2020/core/shared/components/channel-badge/channel-badge.component.mjs +19 -0
  389. package/esm2020/core/shared/components/chip/chip.component.mjs +47 -0
  390. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +144 -0
  391. package/esm2020/core/shared/components/currency-input/currency-input.component.mjs +152 -0
  392. package/esm2020/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +40 -0
  393. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +83 -0
  394. package/esm2020/core/shared/components/customer-label/customer-label.component.mjs +17 -0
  395. package/esm2020/core/shared/components/data-table/data-table-column.component.mjs +29 -0
  396. package/esm2020/core/shared/components/data-table/data-table.component.mjs +124 -0
  397. package/{esm2015/core/shared/components/datetime-picker/constants.js → esm2020/core/shared/components/datetime-picker/constants.mjs} +0 -0
  398. package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +226 -0
  399. package/esm2020/core/shared/components/datetime-picker/datetime-picker.service.mjs +201 -0
  400. package/{esm2015/core/shared/components/datetime-picker/types.js → esm2020/core/shared/components/datetime-picker/types.mjs} +0 -0
  401. package/esm2020/core/shared/components/dropdown/dropdown-item.directive.mjs +25 -0
  402. package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +127 -0
  403. package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +25 -0
  404. package/esm2020/core/shared/components/dropdown/dropdown.component.mjs +58 -0
  405. package/esm2020/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +32 -0
  406. package/esm2020/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +16 -0
  407. package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +26 -0
  408. package/{esm2015/core/shared/components/extension-host/extension-host-config.js → esm2020/core/shared/components/extension-host/extension-host-config.mjs} +0 -0
  409. package/esm2020/core/shared/components/extension-host/extension-host.component.mjs +80 -0
  410. package/esm2020/core/shared/components/extension-host/extension-host.service.mjs +99 -0
  411. package/{esm2015/core/shared/components/extension-host/host-external-frame.js → esm2020/core/shared/components/extension-host/host-external-frame.mjs} +0 -0
  412. package/esm2020/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +26 -0
  413. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +121 -0
  414. package/esm2020/core/shared/components/focal-point-control/focal-point-control.component.mjs +71 -0
  415. package/esm2020/core/shared/components/form-field/form-field-control.directive.mjs +37 -0
  416. package/esm2020/core/shared/components/form-field/form-field.component.mjs +70 -0
  417. package/esm2020/core/shared/components/form-item/form-item.component.mjs +18 -0
  418. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +38 -0
  419. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +16 -0
  420. package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +16 -0
  421. package/esm2020/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +25 -0
  422. package/esm2020/core/shared/components/labeled-data/labeled-data.component.mjs +13 -0
  423. package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +31 -0
  424. package/esm2020/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +61 -0
  425. package/esm2020/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +23 -0
  426. package/esm2020/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +31 -0
  427. package/esm2020/core/shared/components/modal-dialog/dialog-title.directive.mjs +23 -0
  428. package/esm2020/core/shared/components/modal-dialog/modal-dialog.component.mjs +60 -0
  429. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +56 -0
  430. package/esm2020/core/shared/components/order-state-label/order-state-label.component.mjs +46 -0
  431. package/esm2020/core/shared/components/pagination-controls/pagination-controls.component.mjs +26 -0
  432. package/esm2020/core/shared/components/product-selector/product-selector.component.mjs +62 -0
  433. package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +37 -0
  434. package/esm2020/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +34 -0
  435. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/inputrules.js → esm2020/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs} +0 -0
  436. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/keymap.js → esm2020/core/shared/components/rich-text-editor/prosemirror/keymap.mjs} +0 -0
  437. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs} +0 -0
  438. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs} +0 -0
  439. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs} +0 -0
  440. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs} +0 -0
  441. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.js → esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs} +0 -0
  442. package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +112 -0
  443. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/types.js → esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs} +0 -0
  444. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/utils.js → esm2020/core/shared/components/rich-text-editor/prosemirror/utils.mjs} +0 -0
  445. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +93 -0
  446. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +32 -0
  447. package/esm2020/core/shared/components/simple-dialog/simple-dialog.component.mjs +24 -0
  448. package/esm2020/core/shared/components/status-badge/status-badge.component.mjs +16 -0
  449. package/esm2020/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +54 -0
  450. package/esm2020/core/shared/components/table-row-action/table-row-action.component.mjs +28 -0
  451. package/esm2020/core/shared/components/tag-selector/tag-selector.component.mjs +60 -0
  452. package/esm2020/core/shared/components/timeline-entry/timeline-entry.component.mjs +52 -0
  453. package/esm2020/core/shared/components/title-input/title-input.component.mjs +21 -0
  454. package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +34 -0
  455. package/esm2020/core/shared/directives/disabled.directive.mjs +41 -0
  456. package/esm2020/core/shared/directives/if-default-channel-active.directive.mjs +39 -0
  457. package/esm2020/core/shared/directives/if-directive-base.mjs +73 -0
  458. package/esm2020/core/shared/directives/if-multichannel.directive.mjs +45 -0
  459. package/esm2020/core/shared/directives/if-permissions.directive.mjs +76 -0
  460. package/esm2020/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +23 -0
  461. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +120 -0
  462. package/esm2020/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +31 -0
  463. package/esm2020/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +42 -0
  464. package/esm2020/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +32 -0
  465. package/esm2020/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +265 -0
  466. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +35 -0
  467. package/esm2020/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +39 -0
  468. package/esm2020/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +21 -0
  469. package/esm2020/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +61 -0
  470. package/{esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js → esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs} +0 -0
  471. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +69 -0
  472. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +70 -0
  473. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +89 -0
  474. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +89 -0
  475. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +60 -0
  476. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +28 -0
  477. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +14 -0
  478. package/esm2020/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +21 -0
  479. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +31 -0
  480. package/esm2020/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +28 -0
  481. package/esm2020/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +24 -0
  482. package/esm2020/core/shared/pipes/asset-preview.pipe.mjs +42 -0
  483. package/esm2020/core/shared/pipes/channel-label.pipe.mjs +23 -0
  484. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +47 -0
  485. package/esm2020/core/shared/pipes/duration.pipe.mjs +49 -0
  486. package/esm2020/core/shared/pipes/file-size.pipe.mjs +47 -0
  487. package/esm2020/core/shared/pipes/has-permission.pipe.mjs +65 -0
  488. package/esm2020/core/shared/pipes/locale-base.pipe.mjs +55 -0
  489. package/esm2020/core/shared/pipes/locale-currency-name.pipe.mjs +61 -0
  490. package/esm2020/core/shared/pipes/locale-currency.pipe.mjs +44 -0
  491. package/esm2020/core/shared/pipes/locale-date.pipe.mjs +84 -0
  492. package/esm2020/core/shared/pipes/locale-language-name.pipe.mjs +51 -0
  493. package/esm2020/core/shared/pipes/locale-region-name.pipe.mjs +51 -0
  494. package/esm2020/core/shared/pipes/sentence-case.pipe.mjs +30 -0
  495. package/esm2020/core/shared/pipes/sort.pipe.mjs +34 -0
  496. package/esm2020/core/shared/pipes/state-i18n-token.pipe.mjs +50 -0
  497. package/esm2020/core/shared/pipes/string-to-color.pipe.mjs +18 -0
  498. package/esm2020/core/shared/pipes/time-ago.pipe.mjs +52 -0
  499. package/esm2020/core/shared/providers/routing/can-deactivate-detail-guard.mjs +35 -0
  500. package/esm2020/core/shared/shared.module.mjs +520 -0
  501. package/{esm2015/core/validators/unicode-pattern.validator.js → esm2020/core/validators/unicode-pattern.validator.mjs} +0 -0
  502. package/{esm2015/core/vendure-admin-ui-core.js → esm2020/core/vendure-admin-ui-core.mjs} +0 -0
  503. package/esm2020/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +41 -0
  504. package/esm2020/customer/components/address-card/address-card.component.mjs +97 -0
  505. package/esm2020/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +28 -0
  506. package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +414 -0
  507. package/esm2020/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +45 -0
  508. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +181 -0
  509. package/esm2020/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +103 -0
  510. package/esm2020/customer/components/customer-history/customer-history.component.mjs +83 -0
  511. package/esm2020/customer/components/customer-list/customer-list.component.mjs +80 -0
  512. package/esm2020/customer/components/customer-status-label/customer-status-label.component.mjs +17 -0
  513. package/esm2020/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +31 -0
  514. package/esm2020/customer/customer.module.mjs +53 -0
  515. package/esm2020/customer/customer.routes.mjs +42 -0
  516. package/esm2020/customer/providers/routing/customer-resolver.mjs +31 -0
  517. package/{esm2015/customer/public_api.js → esm2020/customer/public_api.mjs} +0 -0
  518. package/{esm2015/customer/vendure-admin-ui-customer.js → esm2020/customer/vendure-admin-ui-customer.mjs} +0 -0
  519. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +121 -0
  520. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +35 -0
  521. package/esm2020/dashboard/dashboard.module.mjs +29 -0
  522. package/{esm2015/dashboard/dashboard.routes.js → esm2020/dashboard/dashboard.routes.mjs} +0 -0
  523. package/esm2020/dashboard/default-widgets.mjs +32 -0
  524. package/{esm2015/dashboard/public_api.js → esm2020/dashboard/public_api.mjs} +0 -0
  525. package/{esm2015/dashboard/vendure-admin-ui-dashboard.js → esm2020/dashboard/vendure-admin-ui-dashboard.mjs} +0 -0
  526. package/esm2020/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +45 -0
  527. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +59 -0
  528. package/esm2020/dashboard/widgets/test-widget/test-widget.component.mjs +22 -0
  529. package/esm2020/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +39 -0
  530. package/esm2020/login/components/login/login.component.mjs +62 -0
  531. package/esm2020/login/login.module.mjs +21 -0
  532. package/{esm2015/login/login.routes.js → esm2020/login/login.routes.mjs} +0 -0
  533. package/esm2020/login/providers/login.guard.mjs +31 -0
  534. package/{esm2015/login/public_api.js → esm2020/login/public_api.mjs} +0 -0
  535. package/{esm2015/login/vendure-admin-ui-login.js → esm2020/login/vendure-admin-ui-login.mjs} +0 -0
  536. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +242 -0
  537. package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +81 -0
  538. package/esm2020/marketing/marketing.module.mjs +21 -0
  539. package/esm2020/marketing/marketing.routes.mjs +33 -0
  540. package/esm2020/marketing/providers/routing/promotion-resolver.mjs +31 -0
  541. package/{esm2015/marketing/public_api.js → esm2020/marketing/public_api.mjs} +0 -0
  542. package/{esm2015/marketing/vendure-admin-ui-marketing.js → esm2020/marketing/vendure-admin-ui-marketing.mjs} +0 -0
  543. package/esm2020/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +39 -0
  544. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +78 -0
  545. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +73 -0
  546. package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +48 -0
  547. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +62 -0
  548. package/esm2020/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +28 -0
  549. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +68 -0
  550. package/esm2020/order/components/line-refunds/line-refunds.component.mjs +37 -0
  551. package/esm2020/order/components/modification-detail/modification-detail.component.mjs +68 -0
  552. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +40 -0
  553. package/esm2020/order/components/order-detail/order-detail.component.mjs +504 -0
  554. package/esm2020/order/components/order-editor/order-editor.component.mjs +365 -0
  555. package/esm2020/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +55 -0
  556. package/esm2020/order/components/order-history/order-history.component.mjs +166 -0
  557. package/esm2020/order/components/order-list/order-list.component.mjs +192 -0
  558. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +43 -0
  559. package/{esm2015/order/components/order-process-graph/constants.js → esm2020/order/components/order-process-graph/constants.mjs} +0 -0
  560. package/esm2020/order/components/order-process-graph/order-process-edge.component.mjs +45 -0
  561. package/esm2020/order/components/order-process-graph/order-process-graph.component.mjs +96 -0
  562. package/esm2020/order/components/order-process-graph/order-process-node.component.mjs +53 -0
  563. package/{esm2015/order/components/order-process-graph/types.js → esm2020/order/components/order-process-graph/types.mjs} +0 -0
  564. package/esm2020/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +21 -0
  565. package/esm2020/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +29 -0
  566. package/esm2020/order/components/order-table/order-table.component.mjs +73 -0
  567. package/esm2020/order/components/payment-detail/payment-detail.component.mjs +18 -0
  568. package/esm2020/order/components/payment-state-label/payment-state-label.component.mjs +28 -0
  569. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +138 -0
  570. package/esm2020/order/components/refund-state-label/refund-state-label.component.mjs +27 -0
  571. package/esm2020/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +24 -0
  572. package/esm2020/order/components/simple-item-list/simple-item-list.component.mjs +15 -0
  573. package/esm2020/order/order.module.mjs +103 -0
  574. package/esm2020/order/order.routes.mjs +52 -0
  575. package/esm2020/order/providers/order-transition.service.mjs +112 -0
  576. package/esm2020/order/providers/routing/order-resolver.mjs +29 -0
  577. package/{esm2015/order/public_api.js → esm2020/order/public_api.mjs} +0 -0
  578. package/{esm2015/order/vendure-admin-ui-order.js → esm2020/order/vendure-admin-ui-order.mjs} +0 -0
  579. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  580. package/esm2020/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +34 -0
  581. package/esm2020/settings/components/admin-detail/admin-detail.component.mjs +192 -0
  582. package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +49 -0
  583. package/esm2020/settings/components/channel-detail/channel-detail.component.mjs +154 -0
  584. package/esm2020/settings/components/channel-list/channel-list.component.mjs +53 -0
  585. package/esm2020/settings/components/country-detail/country-detail.component.mjs +115 -0
  586. package/esm2020/settings/components/country-list/country-list.component.mjs +84 -0
  587. package/esm2020/settings/components/global-settings/global-settings.component.mjs +85 -0
  588. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +199 -0
  589. package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +62 -0
  590. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +83 -0
  591. package/esm2020/settings/components/profile/profile.component.mjs +77 -0
  592. package/esm2020/settings/components/role-detail/role-detail.component.mjs +105 -0
  593. package/esm2020/settings/components/role-list/role-list.component.mjs +66 -0
  594. package/esm2020/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +30 -0
  595. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +240 -0
  596. package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +92 -0
  597. package/esm2020/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +30 -0
  598. package/esm2020/settings/components/tax-category-detail/tax-category-detail.component.mjs +107 -0
  599. package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +56 -0
  600. package/esm2020/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +126 -0
  601. package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +56 -0
  602. package/esm2020/settings/components/test-address-form/test-address-form.component.mjs +49 -0
  603. package/esm2020/settings/components/test-order-builder/test-order-builder.component.mjs +71 -0
  604. package/esm2020/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +44 -0
  605. package/esm2020/settings/components/zone-list/zone-list.component.mjs +158 -0
  606. package/esm2020/settings/components/zone-member-list/zone-member-controls.directive.mjs +16 -0
  607. package/esm2020/settings/components/zone-member-list/zone-member-list-header.directive.mjs +16 -0
  608. package/esm2020/settings/components/zone-member-list/zone-member-list.component.mjs +72 -0
  609. package/esm2020/settings/providers/routing/administrator-resolver.mjs +28 -0
  610. package/esm2020/settings/providers/routing/channel-resolver.mjs +34 -0
  611. package/esm2020/settings/providers/routing/country-resolver.mjs +31 -0
  612. package/esm2020/settings/providers/routing/global-settings-resolver.mjs +24 -0
  613. package/esm2020/settings/providers/routing/payment-method-resolver.mjs +33 -0
  614. package/esm2020/settings/providers/routing/profile-resolver.mjs +30 -0
  615. package/esm2020/settings/providers/routing/role-resolver.mjs +28 -0
  616. package/esm2020/settings/providers/routing/shipping-method-resolver.mjs +34 -0
  617. package/esm2020/settings/providers/routing/tax-category-resolver.mjs +29 -0
  618. package/esm2020/settings/providers/routing/tax-rate-resolver.mjs +33 -0
  619. package/{esm2015/settings/public_api.js → esm2020/settings/public_api.mjs} +0 -0
  620. package/esm2020/settings/settings.module.mjs +106 -0
  621. package/esm2020/settings/settings.routes.mjs +253 -0
  622. package/{esm2015/settings/vendure-admin-ui-settings.js → esm2020/settings/vendure-admin-ui-settings.mjs} +0 -0
  623. package/esm2020/system/components/health-check/health-check.component.mjs +18 -0
  624. package/esm2020/system/components/job-list/job-list.component.mjs +76 -0
  625. package/esm2020/system/components/job-state-label/job-state-label.component.mjs +46 -0
  626. package/{esm2015/system/public_api.js → esm2020/system/public_api.mjs} +0 -0
  627. package/esm2020/system/system.module.mjs +22 -0
  628. package/esm2020/system/system.routes.mjs +20 -0
  629. package/{esm2015/system/vendure-admin-ui-system.js → esm2020/system/vendure-admin-ui-system.mjs} +0 -0
  630. package/{esm2015/vendure-admin-ui.js → esm2020/vendure-admin-ui.mjs} +0 -0
  631. package/fesm2015/vendure-admin-ui-catalog.mjs +3732 -0
  632. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -0
  633. package/fesm2015/vendure-admin-ui-core.mjs +15998 -0
  634. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -0
  635. package/fesm2015/vendure-admin-ui-customer.mjs +1134 -0
  636. package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -0
  637. package/fesm2015/vendure-admin-ui-dashboard.mjs +365 -0
  638. package/fesm2015/vendure-admin-ui-dashboard.mjs.map +1 -0
  639. package/fesm2015/vendure-admin-ui-login.mjs +122 -0
  640. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -0
  641. package/fesm2015/vendure-admin-ui-marketing.mjs +388 -0
  642. package/fesm2015/vendure-admin-ui-marketing.mjs.map +1 -0
  643. package/fesm2015/vendure-admin-ui-order.mjs +2448 -0
  644. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -0
  645. package/fesm2015/vendure-admin-ui-settings.mjs +2784 -0
  646. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -0
  647. package/fesm2015/vendure-admin-ui-system.mjs +165 -0
  648. package/fesm2015/vendure-admin-ui-system.mjs.map +1 -0
  649. package/fesm2015/{vendure-admin-ui.js → vendure-admin-ui.mjs} +1 -1
  650. package/fesm2015/vendure-admin-ui.mjs.map +1 -0
  651. package/fesm2020/vendure-admin-ui-catalog.mjs +3747 -0
  652. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -0
  653. package/fesm2020/vendure-admin-ui-core.mjs +15994 -0
  654. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -0
  655. package/fesm2020/vendure-admin-ui-customer.mjs +1135 -0
  656. package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -0
  657. package/fesm2020/vendure-admin-ui-dashboard.mjs +361 -0
  658. package/fesm2020/vendure-admin-ui-dashboard.mjs.map +1 -0
  659. package/fesm2020/vendure-admin-ui-login.mjs +122 -0
  660. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -0
  661. package/fesm2020/vendure-admin-ui-marketing.mjs +388 -0
  662. package/fesm2020/vendure-admin-ui-marketing.mjs.map +1 -0
  663. package/fesm2020/vendure-admin-ui-order.mjs +2462 -0
  664. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -0
  665. package/fesm2020/vendure-admin-ui-settings.mjs +2791 -0
  666. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -0
  667. package/fesm2020/vendure-admin-ui-system.mjs +168 -0
  668. package/fesm2020/vendure-admin-ui-system.mjs.map +1 -0
  669. package/fesm2020/vendure-admin-ui.mjs +11 -0
  670. package/fesm2020/vendure-admin-ui.mjs.map +1 -0
  671. package/login/components/login/login.component.d.ts +3 -0
  672. package/login/login.module.d.ts +7 -0
  673. package/login/package.json +5 -6
  674. package/login/providers/login.guard.d.ts +3 -0
  675. package/login/vendure-admin-ui-login.d.ts +1 -0
  676. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +7 -4
  677. package/marketing/components/promotion-list/promotion-list.component.d.ts +5 -6
  678. package/marketing/marketing.module.d.ts +8 -0
  679. package/marketing/package.json +5 -6
  680. package/marketing/providers/routing/promotion-resolver.d.ts +5 -2
  681. package/marketing/vendure-admin-ui-marketing.d.ts +1 -0
  682. package/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +5 -2
  683. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +6 -0
  684. package/order/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +6 -3
  685. package/order/components/fulfillment-card/fulfillment-card.component.d.ts +6 -3
  686. package/order/components/fulfillment-detail/fulfillment-detail.component.d.ts +6 -3
  687. package/order/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +3 -0
  688. package/order/components/line-fulfillment/line-fulfillment.component.d.ts +8 -3
  689. package/order/components/line-refunds/line-refunds.component.d.ts +6 -3
  690. package/order/components/modification-detail/modification-detail.component.d.ts +13 -4
  691. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +3 -0
  692. package/order/components/order-detail/order-detail.component.d.ts +15 -10
  693. package/order/components/order-editor/order-editor.component.d.ts +16 -12
  694. package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +6 -3
  695. package/order/components/order-history/order-history.component.d.ts +36 -20
  696. package/order/components/order-list/order-list.component.d.ts +5 -2
  697. package/order/components/order-payment-card/order-payment-card.component.d.ts +48 -14
  698. package/order/components/order-process-graph/order-process-edge.component.d.ts +3 -0
  699. package/order/components/order-process-graph/order-process-graph.component.d.ts +3 -0
  700. package/order/components/order-process-graph/order-process-node.component.d.ts +3 -0
  701. package/order/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +3 -0
  702. package/order/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +3 -0
  703. package/order/components/order-table/order-table.component.d.ts +14 -8
  704. package/order/components/payment-detail/payment-detail.component.d.ts +5 -2
  705. package/order/components/payment-state-label/payment-state-label.component.d.ts +3 -0
  706. package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +8 -4
  707. package/order/components/refund-state-label/refund-state-label.component.d.ts +3 -0
  708. package/order/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +5 -3
  709. package/order/components/simple-item-list/simple-item-list.component.d.ts +3 -0
  710. package/order/order.module.d.ts +34 -0
  711. package/order/package.json +5 -6
  712. package/order/providers/order-transition.service.d.ts +3 -0
  713. package/order/providers/routing/order-resolver.d.ts +5 -4
  714. package/order/vendure-admin-ui-order.d.ts +1 -0
  715. package/package.json +120 -36
  716. package/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +6 -3
  717. package/settings/components/admin-detail/admin-detail.component.d.ts +9 -10
  718. package/settings/components/administrator-list/administrator-list.component.d.ts +6 -3
  719. package/settings/components/channel-detail/channel-detail.component.d.ts +7 -8
  720. package/settings/components/channel-list/channel-list.component.d.ts +5 -5
  721. package/settings/components/country-detail/country-detail.component.d.ts +7 -4
  722. package/settings/components/country-list/country-list.component.d.ts +7 -4
  723. package/settings/components/global-settings/global-settings.component.d.ts +3 -0
  724. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +6 -3
  725. package/settings/components/payment-method-list/payment-method-list.component.d.ts +5 -2
  726. package/settings/components/permission-grid/permission-grid.component.d.ts +3 -0
  727. package/settings/components/profile/profile.component.d.ts +5 -2
  728. package/settings/components/role-detail/role-detail.component.d.ts +3 -0
  729. package/settings/components/role-list/role-list.component.d.ts +8 -5
  730. package/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +3 -0
  731. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +7 -4
  732. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +6 -3
  733. package/settings/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +3 -0
  734. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +7 -8
  735. package/settings/components/tax-category-list/tax-category-list.component.d.ts +6 -6
  736. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +8 -5
  737. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +6 -7
  738. package/settings/components/test-address-form/test-address-form.component.d.ts +5 -2
  739. package/settings/components/test-order-builder/test-order-builder.component.d.ts +7 -2
  740. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +3 -0
  741. package/settings/components/zone-list/zone-list.component.d.ts +10 -7
  742. package/settings/components/zone-member-list/zone-member-controls.directive.d.ts +3 -0
  743. package/settings/components/zone-member-list/zone-member-list-header.directive.d.ts +3 -0
  744. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -0
  745. package/settings/package.json +5 -6
  746. package/settings/providers/routing/administrator-resolver.d.ts +5 -4
  747. package/settings/providers/routing/channel-resolver.d.ts +5 -4
  748. package/settings/providers/routing/country-resolver.d.ts +5 -4
  749. package/settings/providers/routing/global-settings-resolver.d.ts +5 -4
  750. package/settings/providers/routing/payment-method-resolver.d.ts +5 -4
  751. package/settings/providers/routing/profile-resolver.d.ts +5 -4
  752. package/settings/providers/routing/role-resolver.d.ts +5 -4
  753. package/settings/providers/routing/shipping-method-resolver.d.ts +5 -4
  754. package/settings/providers/routing/tax-category-resolver.d.ts +5 -2
  755. package/settings/providers/routing/tax-rate-resolver.d.ts +5 -2
  756. package/settings/settings.module.d.ts +35 -0
  757. package/settings/vendure-admin-ui-settings.d.ts +1 -0
  758. package/static/i18n-messages/cs.json +5 -1
  759. package/static/i18n-messages/de.json +5 -1
  760. package/static/i18n-messages/en.json +6 -2
  761. package/static/i18n-messages/es.json +5 -1
  762. package/static/i18n-messages/fr.json +5 -1
  763. package/static/i18n-messages/it.json +5 -1
  764. package/static/i18n-messages/pl.json +5 -1
  765. package/static/i18n-messages/pt_BR.json +5 -1
  766. package/static/i18n-messages/pt_PT.json +5 -1
  767. package/static/i18n-messages/ru.json +5 -1
  768. package/static/i18n-messages/uk.json +5 -1
  769. package/static/i18n-messages/zh_Hans.json +5 -1
  770. package/static/i18n-messages/zh_Hant.json +5 -1
  771. package/static/polyfills.ts +0 -10
  772. package/static/styles/styles.scss +1 -1
  773. package/static/theme.min.css +1 -1
  774. package/system/components/health-check/health-check.component.d.ts +3 -0
  775. package/system/components/job-list/job-list.component.d.ts +7 -4
  776. package/system/components/job-state-label/job-state-label.component.d.ts +3 -0
  777. package/system/package.json +5 -6
  778. package/system/system.module.d.ts +9 -0
  779. package/system/vendure-admin-ui-system.d.ts +1 -0
  780. package/vendure-admin-ui.d.ts +1 -0
  781. package/bundles/vendure-admin-ui-catalog.umd.js +0 -4638
  782. package/bundles/vendure-admin-ui-catalog.umd.js.map +0 -1
  783. package/bundles/vendure-admin-ui-core.umd.js +0 -14759
  784. package/bundles/vendure-admin-ui-core.umd.js.map +0 -1
  785. package/bundles/vendure-admin-ui-customer.umd.js +0 -1626
  786. package/bundles/vendure-admin-ui-customer.umd.js.map +0 -1
  787. package/bundles/vendure-admin-ui-dashboard.umd.js +0 -757
  788. package/bundles/vendure-admin-ui-dashboard.umd.js.map +0 -1
  789. package/bundles/vendure-admin-ui-login.umd.js +0 -157
  790. package/bundles/vendure-admin-ui-login.umd.js.map +0 -1
  791. package/bundles/vendure-admin-ui-marketing.umd.js +0 -783
  792. package/bundles/vendure-admin-ui-marketing.umd.js.map +0 -1
  793. package/bundles/vendure-admin-ui-order.umd.js +0 -3287
  794. package/bundles/vendure-admin-ui-order.umd.js.map +0 -1
  795. package/bundles/vendure-admin-ui-settings.umd.js +0 -3697
  796. package/bundles/vendure-admin-ui-settings.umd.js.map +0 -1
  797. package/bundles/vendure-admin-ui-system.umd.js +0 -524
  798. package/bundles/vendure-admin-ui-system.umd.js.map +0 -1
  799. package/bundles/vendure-admin-ui.umd.js +0 -21
  800. package/bundles/vendure-admin-ui.umd.js.map +0 -1
  801. package/catalog/vendure-admin-ui-catalog.metadata.json +0 -1
  802. package/core/vendure-admin-ui-core.metadata.json +0 -1
  803. package/customer/vendure-admin-ui-customer.metadata.json +0 -1
  804. package/dashboard/vendure-admin-ui-dashboard.metadata.json +0 -1
  805. package/esm2015/catalog/catalog.module.js +0 -64
  806. package/esm2015/catalog/catalog.routes.js +0 -176
  807. package/esm2015/catalog/components/apply-facet-dialog/apply-facet-dialog.component.js +0 -32
  808. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +0 -74
  809. package/esm2015/catalog/components/asset-list/asset-list.component.js +0 -119
  810. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +0 -109
  811. package/esm2015/catalog/components/collection-contents/collection-contents.component.js +0 -78
  812. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +0 -206
  813. package/esm2015/catalog/components/collection-list/collection-list.component.js +0 -119
  814. package/esm2015/catalog/components/collection-tree/array-to-tree.js +0 -57
  815. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +0 -94
  816. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +0 -74
  817. package/esm2015/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.js +0 -21
  818. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +0 -326
  819. package/esm2015/catalog/components/facet-list/facet-list.component.js +0 -107
  820. package/esm2015/catalog/components/generate-product-variants/generate-product-variants.component.js +0 -78
  821. package/esm2015/catalog/components/option-value-input/option-value-input.component.js +0 -98
  822. package/esm2015/catalog/components/product-assets/product-assets.component.js +0 -108
  823. package/esm2015/catalog/components/product-detail/product-detail.component.js +0 -514
  824. package/esm2015/catalog/components/product-list/product-list.component.js +0 -153
  825. package/esm2015/catalog/components/product-options-editor/product-options-editor.component.js +0 -157
  826. package/esm2015/catalog/components/product-search-input/product-search-input.component.js +0 -104
  827. package/esm2015/catalog/components/product-variants-editor/product-variants-editor.component.js +0 -316
  828. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +0 -207
  829. package/esm2015/catalog/components/product-variants-table/product-variants-table.component.js +0 -66
  830. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +0 -61
  831. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +0 -60
  832. package/esm2015/catalog/providers/product-detail/product-detail.service.js +0 -224
  833. package/esm2015/catalog/providers/routing/asset-resolver.js +0 -37
  834. package/esm2015/catalog/providers/routing/collection-resolver.js +0 -38
  835. package/esm2015/catalog/providers/routing/facet-resolver.js +0 -35
  836. package/esm2015/catalog/providers/routing/product-resolver.js +0 -42
  837. package/esm2015/catalog/providers/routing/product-variants-resolver.js +0 -31
  838. package/esm2015/catalog/public_api.js +0 -36
  839. package/esm2015/core/app.component.js +0 -80
  840. package/esm2015/core/app.component.module.js +0 -14
  841. package/esm2015/core/common/base-detail.component.js +0 -106
  842. package/esm2015/core/common/base-list.component.js +0 -156
  843. package/esm2015/core/common/generated-types.js +0 -953
  844. package/esm2015/core/common/introspection-result.js +0 -253
  845. package/esm2015/core/common/utilities/configurable-operation-utils.js +0 -78
  846. package/esm2015/core/common/utilities/create-updated-translatable.js +0 -72
  847. package/esm2015/core/common/utilities/find-translation.js +0 -9
  848. package/esm2015/core/common/utilities/flatten-facet-values.js +0 -4
  849. package/esm2015/core/common/utilities/get-default-ui-language.js +0 -13
  850. package/esm2015/core/components/app-shell/app-shell.component.js +0 -78
  851. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +0 -126
  852. package/esm2015/core/components/channel-switcher/channel-switcher.component.js +0 -52
  853. package/esm2015/core/components/main-nav/main-nav.component.js +0 -272
  854. package/esm2015/core/components/notification/notification.component.js +0 -71
  855. package/esm2015/core/components/overlay-host/overlay-host.component.js +0 -22
  856. package/esm2015/core/components/theme-switcher/theme-switcher.component.js +0 -31
  857. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +0 -294
  858. package/esm2015/core/components/user-menu/user-menu.component.js +0 -24
  859. package/esm2015/core/core.module.js +0 -115
  860. package/esm2015/core/data/client-state/client-resolvers.js +0 -123
  861. package/esm2015/core/data/data.module.js +0 -106
  862. package/esm2015/core/data/definitions/customer-definitions.js +0 -258
  863. package/esm2015/core/data/providers/administrator-data.service.js +0 -55
  864. package/esm2015/core/data/providers/auth-data.service.js +0 -20
  865. package/esm2015/core/data/providers/base-data.service.js +0 -72
  866. package/esm2015/core/data/providers/client-data.service.js +0 -75
  867. package/esm2015/core/data/providers/collection-data.service.js +0 -72
  868. package/esm2015/core/data/providers/customer-data.service.js +0 -114
  869. package/esm2015/core/data/providers/data.service.js +0 -90
  870. package/esm2015/core/data/providers/facet-data.service.js +0 -60
  871. package/esm2015/core/data/providers/fetch-adapter.js +0 -38
  872. package/esm2015/core/data/providers/interceptor.js +0 -142
  873. package/esm2015/core/data/providers/order-data.service.js +0 -98
  874. package/esm2015/core/data/providers/product-data.service.js +0 -232
  875. package/esm2015/core/data/providers/promotion-data.service.js +0 -36
  876. package/esm2015/core/data/providers/settings-data.service.js +0 -231
  877. package/esm2015/core/data/providers/shipping-method-data.service.js +0 -66
  878. package/esm2015/core/data/server-config.js +0 -76
  879. package/esm2015/core/data/utils/add-custom-fields.js +0 -78
  880. package/esm2015/core/data/utils/transform-relation-custom-field-inputs.js +0 -46
  881. package/esm2015/core/providers/auth/auth.service.js +0 -110
  882. package/esm2015/core/providers/component-registry/component-registry.service.js +0 -23
  883. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +0 -44
  884. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +0 -47
  885. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +0 -97
  886. package/esm2015/core/providers/guard/auth.guard.js +0 -42
  887. package/esm2015/core/providers/health-check/health-check.service.js +0 -38
  888. package/esm2015/core/providers/i18n/custom-message-format-compiler.js +0 -30
  889. package/esm2015/core/providers/i18n/i18n.service.js +0 -56
  890. package/esm2015/core/providers/job-queue/job-queue.service.js +0 -93
  891. package/esm2015/core/providers/local-storage/local-storage.service.js +0 -79
  892. package/esm2015/core/providers/modal/modal.service.js +0 -100
  893. package/esm2015/core/providers/nav-builder/nav-builder.service.js +0 -264
  894. package/esm2015/core/providers/notification/notification.service.js +0 -165
  895. package/esm2015/core/providers/overlay-host/overlay-host.service.js +0 -46
  896. package/esm2015/core/public_api.js +0 -217
  897. package/esm2015/core/shared/components/action-bar/action-bar.component.js +0 -47
  898. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +0 -78
  899. package/esm2015/core/shared/components/address-form/address-form.component.js +0 -17
  900. package/esm2015/core/shared/components/affixed-input/affixed-input.component.js +0 -19
  901. package/esm2015/core/shared/components/affixed-input/percentage-suffix-input.component.js +0 -70
  902. package/esm2015/core/shared/components/asset-file-input/asset-file-input.component.js +0 -92
  903. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +0 -102
  904. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +0 -138
  905. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +0 -176
  906. package/esm2015/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.js +0 -35
  907. package/esm2015/core/shared/components/asset-search-input/asset-search-input.component.js +0 -102
  908. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +0 -109
  909. package/esm2015/core/shared/components/channel-badge/channel-badge.component.js +0 -19
  910. package/esm2015/core/shared/components/chip/chip.component.js +0 -42
  911. package/esm2015/core/shared/components/configurable-input/configurable-input.component.js +0 -128
  912. package/esm2015/core/shared/components/currency-input/currency-input.component.js +0 -145
  913. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +0 -44
  914. package/esm2015/core/shared/components/custom-field-control/custom-field-control.component.js +0 -55
  915. package/esm2015/core/shared/components/customer-label/customer-label.component.js +0 -15
  916. package/esm2015/core/shared/components/data-table/data-table-column.component.js +0 -22
  917. package/esm2015/core/shared/components/data-table/data-table.component.js +0 -106
  918. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +0 -205
  919. package/esm2015/core/shared/components/datetime-picker/datetime-picker.service.js +0 -199
  920. package/esm2015/core/shared/components/dropdown/dropdown-item.directive.js +0 -24
  921. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +0 -121
  922. package/esm2015/core/shared/components/dropdown/dropdown-trigger.directive.js +0 -25
  923. package/esm2015/core/shared/components/dropdown/dropdown.component.js +0 -60
  924. package/esm2015/core/shared/components/edit-note-dialog/edit-note-dialog.component.js +0 -26
  925. package/esm2015/core/shared/components/empty-placeholder/empty-placeholder.component.js +0 -15
  926. package/esm2015/core/shared/components/entity-info/entity-info.component.js +0 -19
  927. package/esm2015/core/shared/components/extension-host/extension-host.component.js +0 -83
  928. package/esm2015/core/shared/components/extension-host/extension-host.service.js +0 -100
  929. package/esm2015/core/shared/components/facet-value-chip/facet-value-chip.component.js +0 -23
  930. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +0 -114
  931. package/esm2015/core/shared/components/focal-point-control/focal-point-control.component.js +0 -56
  932. package/esm2015/core/shared/components/form-field/form-field-control.directive.js +0 -35
  933. package/esm2015/core/shared/components/form-field/form-field.component.js +0 -61
  934. package/esm2015/core/shared/components/form-item/form-item.component.js +0 -19
  935. package/esm2015/core/shared/components/formatted-address/formatted-address.component.js +0 -37
  936. package/esm2015/core/shared/components/help-tooltip/help-tooltip.component.js +0 -16
  937. package/esm2015/core/shared/components/history-entry-detail/history-entry-detail.component.js +0 -12
  938. package/esm2015/core/shared/components/items-per-page-controls/items-per-page-controls.component.js +0 -23
  939. package/esm2015/core/shared/components/labeled-data/labeled-data.component.js +0 -15
  940. package/esm2015/core/shared/components/language-selector/language-selector.component.js +0 -21
  941. package/esm2015/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.js +0 -58
  942. package/esm2015/core/shared/components/modal-dialog/dialog-buttons.directive.js +0 -23
  943. package/esm2015/core/shared/components/modal-dialog/dialog-component-outlet.component.js +0 -31
  944. package/esm2015/core/shared/components/modal-dialog/dialog-title.directive.js +0 -23
  945. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +0 -57
  946. package/esm2015/core/shared/components/object-tree/object-tree.component.js +0 -53
  947. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +0 -43
  948. package/esm2015/core/shared/components/pagination-controls/pagination-controls.component.js +0 -22
  949. package/esm2015/core/shared/components/product-selector/product-selector.component.js +0 -61
  950. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +0 -32
  951. package/esm2015/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.js +0 -28
  952. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +0 -112
  953. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +0 -86
  954. package/esm2015/core/shared/components/select-toggle/select-toggle.component.js +0 -28
  955. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +0 -21
  956. package/esm2015/core/shared/components/status-badge/status-badge.component.js +0 -18
  957. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +0 -49
  958. package/esm2015/core/shared/components/table-row-action/table-row-action.component.js +0 -23
  959. package/esm2015/core/shared/components/tag-selector/tag-selector.component.js +0 -55
  960. package/esm2015/core/shared/components/timeline-entry/timeline-entry.component.js +0 -40
  961. package/esm2015/core/shared/components/title-input/title-input.component.js +0 -18
  962. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +0 -31
  963. package/esm2015/core/shared/directives/disabled.directive.js +0 -38
  964. package/esm2015/core/shared/directives/if-default-channel-active.directive.js +0 -42
  965. package/esm2015/core/shared/directives/if-directive-base.js +0 -75
  966. package/esm2015/core/shared/directives/if-multichannel.directive.js +0 -47
  967. package/esm2015/core/shared/directives/if-permissions.directive.js +0 -78
  968. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +0 -20
  969. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +0 -125
  970. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +0 -33
  971. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +0 -43
  972. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +0 -35
  973. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +0 -266
  974. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +0 -36
  975. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +0 -43
  976. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +0 -20
  977. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +0 -60
  978. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.js +0 -69
  979. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.js +0 -66
  980. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.js +0 -81
  981. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.js +0 -81
  982. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.js +0 -43
  983. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +0 -25
  984. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.js +0 -12
  985. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +0 -20
  986. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +0 -28
  987. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +0 -28
  988. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +0 -23
  989. package/esm2015/core/shared/pipes/asset-preview.pipe.js +0 -38
  990. package/esm2015/core/shared/pipes/channel-label.pipe.js +0 -19
  991. package/esm2015/core/shared/pipes/custom-field-label.pipe.js +0 -46
  992. package/esm2015/core/shared/pipes/duration.pipe.js +0 -48
  993. package/esm2015/core/shared/pipes/file-size.pipe.js +0 -43
  994. package/esm2015/core/shared/pipes/has-permission.pipe.js +0 -65
  995. package/esm2015/core/shared/pipes/locale-base.pipe.js +0 -57
  996. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +0 -58
  997. package/esm2015/core/shared/pipes/locale-currency.pipe.js +0 -40
  998. package/esm2015/core/shared/pipes/locale-date.pipe.js +0 -80
  999. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +0 -47
  1000. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +0 -47
  1001. package/esm2015/core/shared/pipes/sentence-case.pipe.js +0 -26
  1002. package/esm2015/core/shared/pipes/sort.pipe.js +0 -30
  1003. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +0 -46
  1004. package/esm2015/core/shared/pipes/string-to-color.pipe.js +0 -14
  1005. package/esm2015/core/shared/pipes/time-ago.pipe.js +0 -51
  1006. package/esm2015/core/shared/providers/routing/can-deactivate-detail-guard.js +0 -36
  1007. package/esm2015/core/shared/shared.module.js +0 -263
  1008. package/esm2015/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.js +0 -42
  1009. package/esm2015/customer/components/address-card/address-card.component.js +0 -86
  1010. package/esm2015/customer/components/address-detail-dialog/address-detail-dialog.component.js +0 -28
  1011. package/esm2015/customer/components/customer-detail/customer-detail.component.js +0 -393
  1012. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +0 -47
  1013. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +0 -184
  1014. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +0 -101
  1015. package/esm2015/customer/components/customer-history/customer-history.component.js +0 -76
  1016. package/esm2015/customer/components/customer-list/customer-list.component.js +0 -78
  1017. package/esm2015/customer/components/customer-status-label/customer-status-label.component.js +0 -15
  1018. package/esm2015/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.js +0 -31
  1019. package/esm2015/customer/customer.module.js +0 -37
  1020. package/esm2015/customer/customer.routes.js +0 -44
  1021. package/esm2015/customer/providers/routing/customer-resolver.js +0 -35
  1022. package/esm2015/dashboard/components/dashboard/dashboard.component.js +0 -124
  1023. package/esm2015/dashboard/components/dashboard-widget/dashboard-widget.component.js +0 -39
  1024. package/esm2015/dashboard/dashboard.module.js +0 -25
  1025. package/esm2015/dashboard/default-widgets.js +0 -34
  1026. package/esm2015/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.js +0 -42
  1027. package/esm2015/dashboard/widgets/order-summary-widget/order-summary-widget.component.js +0 -56
  1028. package/esm2015/dashboard/widgets/test-widget/test-widget.component.js +0 -19
  1029. package/esm2015/dashboard/widgets/welcome-widget/welcome-widget.component.js +0 -36
  1030. package/esm2015/login/components/login/login.component.js +0 -61
  1031. package/esm2015/login/login.module.js +0 -15
  1032. package/esm2015/login/providers/login.guard.js +0 -35
  1033. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +0 -247
  1034. package/esm2015/marketing/components/promotion-list/promotion-list.component.js +0 -87
  1035. package/esm2015/marketing/marketing.module.js +0 -15
  1036. package/esm2015/marketing/marketing.routes.js +0 -35
  1037. package/esm2015/marketing/providers/routing/promotion-resolver.js +0 -34
  1038. package/esm2015/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +0 -39
  1039. package/esm2015/order/components/cancel-order-dialog/cancel-order-dialog.component.js +0 -52
  1040. package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +0 -71
  1041. package/esm2015/order/components/fulfillment-card/fulfillment-card.component.js +0 -43
  1042. package/esm2015/order/components/fulfillment-detail/fulfillment-detail.component.js +0 -64
  1043. package/esm2015/order/components/fulfillment-state-label/fulfillment-state-label.component.js +0 -26
  1044. package/esm2015/order/components/line-fulfillment/line-fulfillment.component.js +0 -65
  1045. package/esm2015/order/components/line-refunds/line-refunds.component.js +0 -35
  1046. package/esm2015/order/components/modification-detail/modification-detail.component.js +0 -66
  1047. package/esm2015/order/components/order-custom-fields-card/order-custom-fields-card.component.js +0 -39
  1048. package/esm2015/order/components/order-detail/order-detail.component.js +0 -509
  1049. package/esm2015/order/components/order-editor/order-editor.component.js +0 -362
  1050. package/esm2015/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +0 -50
  1051. package/esm2015/order/components/order-history/order-history.component.js +0 -154
  1052. package/esm2015/order/components/order-list/order-list.component.js +0 -188
  1053. package/esm2015/order/components/order-payment-card/order-payment-card.component.js +0 -33
  1054. package/esm2015/order/components/order-process-graph/order-process-edge.component.js +0 -37
  1055. package/esm2015/order/components/order-process-graph/order-process-graph.component.js +0 -94
  1056. package/esm2015/order/components/order-process-graph/order-process-node.component.js +0 -53
  1057. package/esm2015/order/components/order-process-graph-dialog/order-process-graph-dialog.component.js +0 -23
  1058. package/esm2015/order/components/order-state-select-dialog/order-state-select-dialog.component.js +0 -25
  1059. package/esm2015/order/components/order-table/order-table.component.js +0 -68
  1060. package/esm2015/order/components/payment-detail/payment-detail.component.js +0 -16
  1061. package/esm2015/order/components/payment-state-label/payment-state-label.component.js +0 -26
  1062. package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +0 -133
  1063. package/esm2015/order/components/refund-state-label/refund-state-label.component.js +0 -25
  1064. package/esm2015/order/components/settle-refund-dialog/settle-refund-dialog.component.js +0 -21
  1065. package/esm2015/order/components/simple-item-list/simple-item-list.component.js +0 -15
  1066. package/esm2015/order/order.module.js +0 -70
  1067. package/esm2015/order/order.routes.js +0 -54
  1068. package/esm2015/order/providers/order-transition.service.js +0 -116
  1069. package/esm2015/order/providers/routing/order-resolver.js +0 -33
  1070. package/esm2015/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.js +0 -35
  1071. package/esm2015/settings/components/admin-detail/admin-detail.component.js +0 -199
  1072. package/esm2015/settings/components/administrator-list/administrator-list.component.js +0 -52
  1073. package/esm2015/settings/components/channel-detail/channel-detail.component.js +0 -163
  1074. package/esm2015/settings/components/channel-list/channel-list.component.js +0 -57
  1075. package/esm2015/settings/components/country-detail/country-detail.component.js +0 -120
  1076. package/esm2015/settings/components/country-list/country-list.component.js +0 -82
  1077. package/esm2015/settings/components/global-settings/global-settings.component.js +0 -89
  1078. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +0 -204
  1079. package/esm2015/settings/components/payment-method-list/payment-method-list.component.js +0 -66
  1080. package/esm2015/settings/components/permission-grid/permission-grid.component.js +0 -80
  1081. package/esm2015/settings/components/profile/profile.component.js +0 -82
  1082. package/esm2015/settings/components/role-detail/role-detail.component.js +0 -109
  1083. package/esm2015/settings/components/role-list/role-list.component.js +0 -73
  1084. package/esm2015/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.js +0 -24
  1085. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +0 -235
  1086. package/esm2015/settings/components/shipping-method-list/shipping-method-list.component.js +0 -94
  1087. package/esm2015/settings/components/shipping-method-test-result/shipping-method-test-result.component.js +0 -24
  1088. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +0 -115
  1089. package/esm2015/settings/components/tax-category-list/tax-category-list.component.js +0 -60
  1090. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +0 -131
  1091. package/esm2015/settings/components/tax-rate-list/tax-rate-list.component.js +0 -64
  1092. package/esm2015/settings/components/test-address-form/test-address-form.component.js +0 -53
  1093. package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +0 -73
  1094. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +0 -47
  1095. package/esm2015/settings/components/zone-list/zone-list.component.js +0 -160
  1096. package/esm2015/settings/components/zone-member-list/zone-member-controls.directive.js +0 -15
  1097. package/esm2015/settings/components/zone-member-list/zone-member-list-header.directive.js +0 -15
  1098. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +0 -63
  1099. package/esm2015/settings/providers/routing/administrator-resolver.js +0 -32
  1100. package/esm2015/settings/providers/routing/channel-resolver.js +0 -40
  1101. package/esm2015/settings/providers/routing/country-resolver.js +0 -35
  1102. package/esm2015/settings/providers/routing/global-settings-resolver.js +0 -28
  1103. package/esm2015/settings/providers/routing/payment-method-resolver.js +0 -37
  1104. package/esm2015/settings/providers/routing/profile-resolver.js +0 -34
  1105. package/esm2015/settings/providers/routing/role-resolver.js +0 -32
  1106. package/esm2015/settings/providers/routing/shipping-method-resolver.js +0 -38
  1107. package/esm2015/settings/providers/routing/tax-category-resolver.js +0 -32
  1108. package/esm2015/settings/providers/routing/tax-rate-resolver.js +0 -36
  1109. package/esm2015/settings/settings.module.js +0 -72
  1110. package/esm2015/settings/settings.routes.js +0 -255
  1111. package/esm2015/system/components/health-check/health-check.component.js +0 -19
  1112. package/esm2015/system/components/job-list/job-list.component.js +0 -74
  1113. package/esm2015/system/components/job-state-label/job-state-label.component.js +0 -45
  1114. package/esm2015/system/system.module.js +0 -16
  1115. package/esm2015/system/system.routes.js +0 -22
  1116. package/fesm2015/vendure-admin-ui-catalog.js +0 -3800
  1117. package/fesm2015/vendure-admin-ui-catalog.js.map +0 -1
  1118. package/fesm2015/vendure-admin-ui-core.js +0 -15757
  1119. package/fesm2015/vendure-admin-ui-core.js.map +0 -1
  1120. package/fesm2015/vendure-admin-ui-customer.js +0 -1140
  1121. package/fesm2015/vendure-admin-ui-customer.js.map +0 -1
  1122. package/fesm2015/vendure-admin-ui-dashboard.js +0 -371
  1123. package/fesm2015/vendure-admin-ui-dashboard.js.map +0 -1
  1124. package/fesm2015/vendure-admin-ui-login.js +0 -121
  1125. package/fesm2015/vendure-admin-ui-login.js.map +0 -1
  1126. package/fesm2015/vendure-admin-ui-marketing.js +0 -403
  1127. package/fesm2015/vendure-admin-ui-marketing.js.map +0 -1
  1128. package/fesm2015/vendure-admin-ui-order.js +0 -2492
  1129. package/fesm2015/vendure-admin-ui-order.js.map +0 -1
  1130. package/fesm2015/vendure-admin-ui-settings.js +0 -2975
  1131. package/fesm2015/vendure-admin-ui-settings.js.map +0 -1
  1132. package/fesm2015/vendure-admin-ui-system.js +0 -171
  1133. package/fesm2015/vendure-admin-ui-system.js.map +0 -1
  1134. package/fesm2015/vendure-admin-ui.js.map +0 -1
  1135. package/login/vendure-admin-ui-login.metadata.json +0 -1
  1136. package/marketing/vendure-admin-ui-marketing.metadata.json +0 -1
  1137. package/order/vendure-admin-ui-order.metadata.json +0 -1
  1138. package/settings/vendure-admin-ui-settings.metadata.json +0 -1
  1139. package/system/vendure-admin-ui-system.metadata.json +0 -1
  1140. package/vendure-admin-ui.metadata.json +0 -1
@@ -0,0 +1,154 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
4
+ import { BaseDetailComponent, CurrencyCode, Permission, } from '@vendure/admin-ui/core';
5
+ import { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';
6
+ import { map, mergeMap, take } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "@vendure/admin-ui/core";
10
+ import * as i3 from "@angular/forms";
11
+ import * as i4 from "@clr/angular";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "@ngx-translate/core";
14
+ export class ChannelDetailComponent extends BaseDetailComponent {
15
+ constructor(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
16
+ super(route, router, serverConfigService, dataService);
17
+ this.serverConfigService = serverConfigService;
18
+ this.changeDetector = changeDetector;
19
+ this.dataService = dataService;
20
+ this.formBuilder = formBuilder;
21
+ this.notificationService = notificationService;
22
+ this.currencyCodes = Object.values(CurrencyCode);
23
+ this.updatePermission = [Permission.SuperAdmin, Permission.UpdateChannel, Permission.CreateChannel];
24
+ this.customFields = this.getCustomFieldConfig('Channel');
25
+ this.detailForm = this.formBuilder.group({
26
+ code: ['', Validators.required],
27
+ token: ['', Validators.required],
28
+ pricesIncludeTax: [false],
29
+ currencyCode: [''],
30
+ defaultShippingZoneId: ['', Validators.required],
31
+ defaultLanguageCode: [],
32
+ defaultTaxZoneId: ['', Validators.required],
33
+ customFields: this.formBuilder.group(this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {})),
34
+ });
35
+ }
36
+ ngOnInit() {
37
+ this.init();
38
+ this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones);
39
+ this.availableLanguageCodes$ = this.serverConfigService.getAvailableLanguages();
40
+ }
41
+ ngOnDestroy() {
42
+ this.destroy();
43
+ }
44
+ saveButtonEnabled() {
45
+ return this.detailForm.dirty && this.detailForm.valid;
46
+ }
47
+ create() {
48
+ if (!this.detailForm.dirty) {
49
+ return;
50
+ }
51
+ const formValue = this.detailForm.value;
52
+ const input = {
53
+ code: formValue.code,
54
+ token: formValue.token,
55
+ defaultLanguageCode: formValue.defaultLanguageCode,
56
+ pricesIncludeTax: formValue.pricesIncludeTax,
57
+ currencyCode: formValue.currencyCode,
58
+ defaultShippingZoneId: formValue.defaultShippingZoneId,
59
+ defaultTaxZoneId: formValue.defaultTaxZoneId,
60
+ customFields: formValue.customFields,
61
+ };
62
+ this.dataService.settings
63
+ .createChannel(input)
64
+ .pipe(mergeMap(({ createChannel }) => this.dataService.auth.currentUser().single$.pipe(map(({ me }) => ({
65
+ me,
66
+ createChannel,
67
+ })))), mergeMap(({ me, createChannel }) =>
68
+ // tslint:disable-next-line:no-non-null-assertion
69
+ this.dataService.client.updateUserChannels(me.channels).pipe(map(() => createChannel))))
70
+ .subscribe(data => {
71
+ switch (data.__typename) {
72
+ case 'Channel':
73
+ this.notificationService.success(_('common.notify-create-success'), {
74
+ entity: 'Channel',
75
+ });
76
+ this.detailForm.markAsPristine();
77
+ this.changeDetector.markForCheck();
78
+ this.router.navigate(['../', data.id], { relativeTo: this.route });
79
+ break;
80
+ case 'LanguageNotAvailableError':
81
+ this.notificationService.error(data.message);
82
+ break;
83
+ }
84
+ });
85
+ }
86
+ save() {
87
+ if (!this.detailForm.dirty) {
88
+ return;
89
+ }
90
+ const formValue = this.detailForm.value;
91
+ this.entity$
92
+ .pipe(take(1), mergeMap(channel => {
93
+ const input = {
94
+ id: channel.id,
95
+ code: formValue.code,
96
+ token: formValue.token,
97
+ pricesIncludeTax: formValue.pricesIncludeTax,
98
+ currencyCode: formValue.currencyCode,
99
+ defaultShippingZoneId: formValue.defaultShippingZoneId,
100
+ defaultLanguageCode: formValue.defaultLanguageCode,
101
+ defaultTaxZoneId: formValue.defaultTaxZoneId,
102
+ customFields: formValue.customFields,
103
+ };
104
+ return this.dataService.settings.updateChannel(input);
105
+ }))
106
+ .subscribe(({ updateChannel }) => {
107
+ switch (updateChannel.__typename) {
108
+ case 'Channel':
109
+ this.notificationService.success(_('common.notify-update-success'), {
110
+ entity: 'Channel',
111
+ });
112
+ this.detailForm.markAsPristine();
113
+ this.changeDetector.markForCheck();
114
+ break;
115
+ case 'LanguageNotAvailableError':
116
+ this.notificationService.error(updateChannel.message);
117
+ }
118
+ });
119
+ }
120
+ /**
121
+ * Update the form values when the entity changes.
122
+ */
123
+ setFormValues(entity, languageCode) {
124
+ this.detailForm.patchValue({
125
+ code: entity.code,
126
+ token: entity.token || this.generateToken(),
127
+ pricesIncludeTax: entity.pricesIncludeTax,
128
+ currencyCode: entity.currencyCode,
129
+ defaultShippingZoneId: entity.defaultShippingZone ? entity.defaultShippingZone.id : '',
130
+ defaultLanguageCode: entity.defaultLanguageCode,
131
+ defaultTaxZoneId: entity.defaultTaxZone ? entity.defaultTaxZone.id : '',
132
+ });
133
+ if (this.customFields.length) {
134
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);
135
+ }
136
+ if (entity.code === DEFAULT_CHANNEL_CODE) {
137
+ const codeControl = this.detailForm.get('code');
138
+ if (codeControl) {
139
+ codeControl.disable();
140
+ }
141
+ }
142
+ }
143
+ generateToken() {
144
+ const randomString = () => Math.random().toString(36).substr(3, 10);
145
+ return `${randomString()}${randomString()}`;
146
+ }
147
+ }
148
+ ChannelDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChannelDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ServerConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.DataService }, { token: i3.FormBuilder }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
149
+ ChannelDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChannelDetailComponent, selector: "vdr-channel-detail", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"], components: [{ type: i2.ActionBarComponent, selector: "vdr-action-bar" }, { type: i2.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i2.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i2.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i2.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i2.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { type: i4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i4.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertClosed", "clrAlertType", "clrAlertIcon"], outputs: ["clrAlertClosedChange"] }, { type: i4.ClrAlertItem, selector: "clr-alert-item" }, { type: i2.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { type: i2.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i4.ClrSelect, selector: "[clrSelect]" }, { type: i2.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i4.ClrAlertText, selector: ".alert-text" }, { type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i4.ClrLabel, selector: "label", inputs: ["for"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe, "hasPermission": i2.HasPermissionPipe, "localeCurrencyName": i2.LocaleCurrencyNamePipe, "localeLanguageName": i2.LocaleLanguageNamePipe, "uppercase": i5.UpperCasePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChannelDetailComponent, decorators: [{
151
+ type: Component,
152
+ args: [{ selector: 'vdr-channel-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"] }]
153
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ServerConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.DataService }, { type: i3.FormBuilder }, { type: i2.NotificationService }]; } });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvY29tcG9uZW50cy9jaGFubmVsLWRldGFpbC9jaGFubmVsLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL2NoYW5uZWwtZGV0YWlsL2NoYW5uZWwtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUNILG1CQUFtQixFQUduQixZQUFZLEVBTVosVUFBVSxHQUdiLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFNUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUXJELE1BQU0sT0FBTyxzQkFDVCxTQUFRLG1CQUFvQztJQVU1QyxZQUNJLE1BQWMsRUFDZCxLQUFxQixFQUNYLG1CQUF3QyxFQUMxQyxjQUFpQyxFQUMvQixXQUF3QixFQUMxQixXQUF3QixFQUN4QixtQkFBd0M7UUFFaEQsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFON0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDMUIsZ0JB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O0lBRU8sYUFBYTtRQUNqQixNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEUsT0FBTyxHQUFHLFlBQVksRUFBRSxHQUFHLFlBQVksRUFBRSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs7bUhBbktRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGlGQzVCbkMsdW9MQTJJQTsyRkQvR2Esc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgQ2hhbm5lbEZyYWdtZW50LFxyXG4gICAgQ3JlYXRlQ2hhbm5lbElucHV0LFxyXG4gICAgQ3VycmVuY3lDb2RlLFxyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIEdldFpvbmVzUXVlcnksXHJcbiAgICBMYW5ndWFnZUNvZGUsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgUGVybWlzc2lvbixcclxuICAgIFNlcnZlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICBVcGRhdGVDaGFubmVsSW5wdXQsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IERFRkFVTFRfQ0hBTk5FTF9DT0RFIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jaGFubmVsLWRldGFpbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hhbm5lbC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhbm5lbC1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhbm5lbERldGFpbENvbXBvbmVudFxyXG4gICAgZXh0ZW5kcyBCYXNlRGV0YWlsQ29tcG9uZW50PENoYW5uZWxGcmFnbWVudD5cclxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gICAgY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZENvbmZpZ1tdO1xyXG4gICAgem9uZXMkOiBPYnNlcnZhYmxlPEdldFpvbmVzUXVlcnlbJ3pvbmVzJ10+O1xyXG4gICAgZGV0YWlsRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgY3VycmVuY3lDb2RlcyA9IE9iamVjdC52YWx1ZXMoQ3VycmVuY3lDb2RlKTtcclxuICAgIGF2YWlsYWJsZUxhbmd1YWdlQ29kZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcclxuICAgIHJlYWRvbmx5IHVwZGF0ZVBlcm1pc3Npb24gPSBbUGVybWlzc2lvbi5TdXBlckFkbWluLCBQZXJtaXNzaW9uLlVwZGF0ZUNoYW5uZWwsIFBlcm1pc3Npb24uQ3JlYXRlQ2hhbm5lbF07XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByb3RlY3RlZCBzZXJ2ZXJDb25maWdTZXJ2aWNlOiBTZXJ2ZXJDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIocm91dGUsIHJvdXRlciwgc2VydmVyQ29uZmlnU2VydmljZSwgZGF0YVNlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tRmllbGRzID0gdGhpcy5nZXRDdXN0b21GaWVsZENvbmZpZygnQ2hhbm5lbCcpO1xyXG4gICAgICAgIHRoaXMuZGV0YWlsRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAgICAgICBjb2RlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICB0b2tlbjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgcHJpY2VzSW5jbHVkZVRheDogW2ZhbHNlXSxcclxuICAgICAgICAgICAgY3VycmVuY3lDb2RlOiBbJyddLFxyXG4gICAgICAgICAgICBkZWZhdWx0U2hpcHBpbmdab25lSWQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgIGRlZmF1bHRMYW5ndWFnZUNvZGU6IFtdLFxyXG4gICAgICAgICAgICBkZWZhdWx0VGF4Wm9uZUlkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICBjdXN0b21GaWVsZHM6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkcy5yZWR1Y2UoKGhhc2gsIGZpZWxkKSA9PiAoeyAuLi5oYXNoLCBbZmllbGQubmFtZV06ICcnIH0pLCB7fSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgdGhpcy56b25lcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzLmdldFpvbmVzKCkubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS56b25lcyk7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZUNvZGVzJCA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlQnV0dG9uRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZXRhaWxGb3JtLmRpcnR5ICYmIHRoaXMuZGV0YWlsRm9ybS52YWxpZDtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRldGFpbEZvcm0uZGlydHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmRldGFpbEZvcm0udmFsdWU7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENyZWF0ZUNoYW5uZWxJbnB1dCA9IHtcclxuICAgICAgICAgICAgY29kZTogZm9ybVZhbHVlLmNvZGUsXHJcbiAgICAgICAgICAgIHRva2VuOiBmb3JtVmFsdWUudG9rZW4sXHJcbiAgICAgICAgICAgIGRlZmF1bHRMYW5ndWFnZUNvZGU6IGZvcm1WYWx1ZS5kZWZhdWx0TGFuZ3VhZ2VDb2RlLFxyXG4gICAgICAgICAgICBwcmljZXNJbmNsdWRlVGF4OiBmb3JtVmFsdWUucHJpY2VzSW5jbHVkZVRheCxcclxuICAgICAgICAgICAgY3VycmVuY3lDb2RlOiBmb3JtVmFsdWUuY3VycmVuY3lDb2RlLFxyXG4gICAgICAgICAgICBkZWZhdWx0U2hpcHBpbmdab25lSWQ6IGZvcm1WYWx1ZS5kZWZhdWx0U2hpcHBpbmdab25lSWQsXHJcbiAgICAgICAgICAgIGRlZmF1bHRUYXhab25lSWQ6IGZvcm1WYWx1ZS5kZWZhdWx0VGF4Wm9uZUlkLFxyXG4gICAgICAgICAgICBjdXN0b21GaWVsZHM6IGZvcm1WYWx1ZS5jdXN0b21GaWVsZHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5jcmVhdGVDaGFubmVsKGlucHV0KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKCh7IGNyZWF0ZUNoYW5uZWwgfSkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmF1dGguY3VycmVudFVzZXIoKS5zaW5nbGUkLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoeyBtZSB9KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVDaGFubmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSksXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgoeyBtZSwgY3JlYXRlQ2hhbm5lbCB9KSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51cGRhdGVVc2VyQ2hhbm5lbHMobWUhLmNoYW5uZWxzKS5waXBlKG1hcCgoKSA9PiBjcmVhdGVDaGFubmVsKSksXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRhdGEuX190eXBlbmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ0NoYW5uZWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LWNyZWF0ZS1zdWNjZXNzJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ0NoYW5uZWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJywgZGF0YS5pZF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcihkYXRhLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZGV0YWlsRm9ybS5kaXJ0eSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZGV0YWlsRm9ybS52YWx1ZTtcclxuICAgICAgICB0aGlzLmVudGl0eSRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgbWVyZ2VNYXAoY2hhbm5lbCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBjaGFubmVsLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBmb3JtVmFsdWUuY29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW46IGZvcm1WYWx1ZS50b2tlbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2VzSW5jbHVkZVRheDogZm9ybVZhbHVlLnByaWNlc0luY2x1ZGVUYXgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5Q29kZTogZm9ybVZhbHVlLmN1cnJlbmN5Q29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFNoaXBwaW5nWm9uZUlkOiBmb3JtVmFsdWUuZGVmYXVsdFNoaXBwaW5nWm9uZUlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TGFuZ3VhZ2VDb2RlOiBmb3JtVmFsdWUuZGVmYXVsdExhbmd1YWdlQ29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFRheFpvbmVJZDogZm9ybVZhbHVlLmRlZmF1bHRUYXhab25lSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkczogZm9ybVZhbHVlLmN1c3RvbUZpZWxkcyxcclxuICAgICAgICAgICAgICAgICAgICB9IGFzIFVwZGF0ZUNoYW5uZWxJbnB1dDtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5ncy51cGRhdGVDaGFubmVsKGlucHV0KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgdXBkYXRlQ2hhbm5lbCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHVwZGF0ZUNoYW5uZWwuX190eXBlbmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ0NoYW5uZWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LXVwZGF0ZS1zdWNjZXNzJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ0NoYW5uZWwnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3InOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IodXBkYXRlQ2hhbm5lbC5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGUgdGhlIGZvcm0gdmFsdWVzIHdoZW4gdGhlIGVudGl0eSBjaGFuZ2VzLlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgc2V0Rm9ybVZhbHVlcyhlbnRpdHk6IENoYW5uZWxGcmFnbWVudCwgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRldGFpbEZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIGNvZGU6IGVudGl0eS5jb2RlLFxyXG4gICAgICAgICAgICB0b2tlbjogZW50aXR5LnRva2VuIHx8IHRoaXMuZ2VuZXJhdGVUb2tlbigpLFxyXG4gICAgICAgICAgICBwcmljZXNJbmNsdWRlVGF4OiBlbnRpdHkucHJpY2VzSW5jbHVkZVRheCxcclxuICAgICAgICAgICAgY3VycmVuY3lDb2RlOiBlbnRpdHkuY3VycmVuY3lDb2RlLFxyXG4gICAgICAgICAgICBkZWZhdWx0U2hpcHBpbmdab25lSWQ6IGVudGl0eS5kZWZhdWx0U2hpcHBpbmdab25lID8gZW50aXR5LmRlZmF1bHRTaGlwcGluZ1pvbmUuaWQgOiAnJyxcclxuICAgICAgICAgICAgZGVmYXVsdExhbmd1YWdlQ29kZTogZW50aXR5LmRlZmF1bHRMYW5ndWFnZUNvZGUsXHJcbiAgICAgICAgICAgIGRlZmF1bHRUYXhab25lSWQ6IGVudGl0eS5kZWZhdWx0VGF4Wm9uZSA/IGVudGl0eS5kZWZhdWx0VGF4Wm9uZS5pZCA6ICcnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbUZpZWxkcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRDdXN0b21GaWVsZEZvcm1WYWx1ZXModGhpcy5jdXN0b21GaWVsZHMsIHRoaXMuZGV0YWlsRm9ybS5nZXQoWydjdXN0b21GaWVsZHMnXSksIGVudGl0eSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChlbnRpdHkuY29kZSA9PT0gREVGQVVMVF9DSEFOTkVMX0NPREUpIHtcclxuICAgICAgICAgICAgY29uc3QgY29kZUNvbnRyb2wgPSB0aGlzLmRldGFpbEZvcm0uZ2V0KCdjb2RlJyk7XHJcbiAgICAgICAgICAgIGlmIChjb2RlQ29udHJvbCkge1xyXG4gICAgICAgICAgICAgICAgY29kZUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVUb2tlbigpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHJhbmRvbVN0cmluZyA9ICgpID0+IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigzLCAxMCk7XHJcbiAgICAgICAgcmV0dXJuIGAke3JhbmRvbVN0cmluZygpfSR7cmFuZG9tU3RyaW5nKCl9YDtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLWFjdGlvbi1iYXI+XHJcbiAgICA8dmRyLWFiLWxlZnQ+XHJcbiAgICAgICAgPHZkci1lbnRpdHktaW5mbyBbZW50aXR5XT1cImVudGl0eSQgfCBhc3luY1wiPjwvdmRyLWVudGl0eS1pbmZvPlxyXG4gICAgPC92ZHItYWItbGVmdD5cclxuXHJcbiAgICA8dmRyLWFiLXJpZ2h0PlxyXG4gICAgICAgIDx2ZHItYWN0aW9uLWJhci1pdGVtcyBsb2NhdGlvbklkPVwiY2hhbm5lbC1kZXRhaWxcIj48L3Zkci1hY3Rpb24tYmFyLWl0ZW1zPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAqbmdJZj1cImlzTmV3JCB8IGFzeW5jOyBlbHNlIHVwZGF0ZUJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGUoKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2F2ZUJ1dHRvbkVuYWJsZWQoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyAnY29tbW9uLmNyZWF0ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZUJ1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICAgICAgICAgICAgICAqdmRySWZQZXJtaXNzaW9ucz1cIlsnU3VwZXJBZG1pbicsICdVcGRhdGVDaGFubmVsJ11cIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzYXZlQnV0dG9uRW5hYmxlZCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgJ2NvbW1vbi51cGRhdGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3Zkci1hYi1yaWdodD5cclxuPC92ZHItYWN0aW9uLWJhcj5cclxuXHJcbjxmb3JtIGNsYXNzPVwiZm9ybVwiIFtmb3JtR3JvdXBdPVwiZGV0YWlsRm9ybVwiPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInY29tbW9uLmNvZGUnIHwgdHJhbnNsYXRlXCIgZm9yPVwiY29kZVwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cImNvZGVcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvZGVcIlxyXG4gICAgICAgIC8+XHJcbiAgICA8L3Zkci1mb3JtLWZpZWxkPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInc2V0dGluZ3MuY2hhbm5lbC10b2tlbicgfCB0cmFuc2xhdGVcIiBmb3I9XCJ0b2tlblwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInRva2VuXCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwiISh1cGRhdGVQZXJtaXNzaW9uIHwgaGFzUGVybWlzc2lvbilcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0b2tlblwiXHJcbiAgICAgICAgLz5cclxuICAgIDwvdmRyLWZvcm0tZmllbGQ+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidzZXR0aW5ncy5jdXJyZW5jeScgfCB0cmFuc2xhdGVcIiBmb3I9XCJkZWZhdWx0VGF4Wm9uZUlkXCI+XHJcbiAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICBjbHJTZWxlY3RcclxuICAgICAgICAgICAgbmFtZT1cImN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImN1cnJlbmN5Q29kZVwiXHJcbiAgICAgICAgICAgIFt2ZHJEaXNhYmxlZF09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb2RlIG9mIGN1cnJlbmN5Q29kZXNcIiBbdmFsdWVdPVwiY29kZVwiPnt7IGNvZGUgfCBsb2NhbGVDdXJyZW5jeU5hbWUgfX08L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgIDwvdmRyLWZvcm0tZmllbGQ+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidjb21tb24uZGVmYXVsdC1sYW5ndWFnZScgfCB0cmFuc2xhdGVcIiBmb3I9XCJkZWZhdWx0TGFuZ3VhZ2VcIj5cclxuICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgIGNsclNlbGVjdFxyXG4gICAgICAgICAgICBuYW1lPVwiZGVmYXVsdExhbmd1YWdlQ29kZVwiXHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRMYW5ndWFnZUNvZGVcIlxyXG4gICAgICAgICAgICBbdmRyRGlzYWJsZWRdPVwiISh1cGRhdGVQZXJtaXNzaW9uIHwgaGFzUGVybWlzc2lvbilcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2VDb2RlIG9mIGF2YWlsYWJsZUxhbmd1YWdlQ29kZXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwibGFuZ3VhZ2VDb2RlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBsYW5ndWFnZUNvZGUgfCBsb2NhbGVMYW5ndWFnZU5hbWUgfX0gKHt7IGxhbmd1YWdlQ29kZSB8IHVwcGVyY2FzZSB9fSlcclxuICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L3Zkci1mb3JtLWZpZWxkPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInc2V0dGluZ3MucHJpY2VzLWluY2x1ZGUtdGF4JyB8IHRyYW5zbGF0ZVwiIGZvcj1cInByaWNlc0luY2x1ZGVUYXhcIj5cclxuICAgICAgICA8Y2xyLXRvZ2dsZS13cmFwcGVyPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICBjbHJUb2dnbGVcclxuICAgICAgICAgICAgICAgIGlkPVwicHJpY2VzSW5jbHVkZVRheFwiXHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcmljZXNJbmNsdWRlVGF4XCJcclxuICAgICAgICAgICAgICAgIFt2ZHJEaXNhYmxlZF09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9jbHItdG9nZ2xlLXdyYXBwZXI+XHJcbiAgICA8L3Zkci1mb3JtLWZpZWxkPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInc2V0dGluZ3MuZGVmYXVsdC10YXgtem9uZScgfCB0cmFuc2xhdGVcIiBmb3I9XCJkZWZhdWx0VGF4Wm9uZUlkXCI+XHJcbiAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICBjbHJTZWxlY3RcclxuICAgICAgICAgICAgbmFtZT1cImRlZmF1bHRUYXhab25lSWRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0VGF4Wm9uZUlkXCJcclxuICAgICAgICAgICAgW3ZkckRpc2FibGVkXT1cIiEodXBkYXRlUGVybWlzc2lvbiB8IGhhc1Blcm1pc3Npb24pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQgdmFsdWUgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHpvbmUgb2Ygem9uZXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiem9uZS5pZFwiPnt7IHpvbmUubmFtZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuICAgIDxjbHItYWxlcnRcclxuICAgICAgICAqbmdJZj1cImRldGFpbEZvcm0udmFsdWUuY29kZSAmJiAhZGV0YWlsRm9ybS52YWx1ZS5kZWZhdWx0VGF4Wm9uZUlkXCJcclxuICAgICAgICBjbHJBbGVydFR5cGU9XCJkYW5nZXJcIlxyXG4gICAgICAgIFtjbHJBbGVydENsb3NhYmxlXT1cImZhbHNlXCJcclxuICAgID5cclxuICAgICAgICA8Y2xyLWFsZXJ0LWl0ZW0+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWxlcnQtdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2Vycm9yLm5vLWRlZmF1bHQtdGF4LXpvbmUtc2V0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9jbHItYWxlcnQtaXRlbT5cclxuICAgIDwvY2xyLWFsZXJ0PlxyXG5cclxuICAgIDx2ZHItZm9ybS1maWVsZCBbbGFiZWxdPVwiJ3NldHRpbmdzLmRlZmF1bHQtc2hpcHBpbmctem9uZScgfCB0cmFuc2xhdGVcIiBmb3I9XCJkZWZhdWx0U2hpcHBpbmdab25lSWRcIj5cclxuICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgIGNsclNlbGVjdFxyXG4gICAgICAgICAgICBuYW1lPVwiZGVmYXVsdFNoaXBwaW5nWm9uZUlkXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdFNoaXBwaW5nWm9uZUlkXCJcclxuICAgICAgICAgICAgW3ZkckRpc2FibGVkXT1cIiEodXBkYXRlUGVybWlzc2lvbiB8IGhhc1Blcm1pc3Npb24pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQgdmFsdWUgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHpvbmUgb2Ygem9uZXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiem9uZS5pZFwiPnt7IHpvbmUubmFtZSB9fTwvb3B0aW9uPlxyXG4gICAgICAgIDwvc2VsZWN0PlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuICAgIDxjbHItYWxlcnRcclxuICAgICAgICAqbmdJZj1cImRldGFpbEZvcm0udmFsdWUuY29kZSAmJiAhZGV0YWlsRm9ybS52YWx1ZS5kZWZhdWx0U2hpcHBpbmdab25lSWRcIlxyXG4gICAgICAgIGNsckFsZXJ0VHlwZT1cIndhcm5pbmdcIlxyXG4gICAgICAgIFtjbHJBbGVydENsb3NhYmxlXT1cImZhbHNlXCJcclxuICAgID5cclxuICAgICAgICA8Y2xyLWFsZXJ0LWl0ZW0+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWxlcnQtdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ2Vycm9yLm5vLWRlZmF1bHQtc2hpcHBpbmctem9uZS1zZXQnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Nsci1hbGVydC1pdGVtPlxyXG4gICAgPC9jbHItYWxlcnQ+XHJcblxyXG4gICAgPHNlY3Rpb24gZm9ybUdyb3VwTmFtZT1cImN1c3RvbUZpZWxkc1wiICpuZ0lmPVwiY3VzdG9tRmllbGRzLmxlbmd0aFwiPlxyXG4gICAgICAgIDxsYWJlbD57eyAnY29tbW9uLmN1c3RvbS1maWVsZHMnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICA8dmRyLXRhYmJlZC1jdXN0b20tZmllbGRzXHJcbiAgICAgICAgICAgIGVudGl0eU5hbWU9XCJDaGFubmVsXCJcclxuICAgICAgICAgICAgW2N1c3RvbUZpZWxkc109XCJjdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICBbY3VzdG9tRmllbGRzRm9ybUdyb3VwXT1cImRldGFpbEZvcm0uZ2V0KCdjdXN0b21GaWVsZHMnKVwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgPjwvdmRyLXRhYmJlZC1jdXN0b20tZmllbGRzPlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gICAgPHZkci1jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0XHJcbiAgICAgICAgbG9jYXRpb25JZD1cImNoYW5uZWwtZGV0YWlsXCJcclxuICAgICAgICBbZW50aXR5JF09XCJlbnRpdHkkXCJcclxuICAgICAgICBbZGV0YWlsRm9ybV09XCJkZXRhaWxGb3JtXCJcclxuICAgID48L3Zkci1jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0PlxyXG48L2Zvcm0+XHJcbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants';
4
+ import { EMPTY, Subject } from 'rxjs';
5
+ import { mergeMap, startWith, switchMap } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@vendure/admin-ui/core";
8
+ import * as i2 from "@angular/router";
9
+ import * as i3 from "@clr/angular";
10
+ import * as i4 from "@ngx-translate/core";
11
+ import * as i5 from "@angular/common";
12
+ export class ChannelListComponent {
13
+ constructor(dataService, modalService, notificationService) {
14
+ this.dataService = dataService;
15
+ this.modalService = modalService;
16
+ this.notificationService = notificationService;
17
+ this.refresh$ = new Subject();
18
+ this.channels$ = this.refresh$.pipe(startWith(1), switchMap(() => this.dataService.settings.getChannels().mapStream(data => data.channels)));
19
+ }
20
+ isDefaultChannel(channelCode) {
21
+ return channelCode === DEFAULT_CHANNEL_CODE;
22
+ }
23
+ deleteChannel(id) {
24
+ this.modalService
25
+ .dialog({
26
+ title: _('catalog.confirm-delete-channel'),
27
+ buttons: [
28
+ { type: 'secondary', label: _('common.cancel') },
29
+ { type: 'danger', label: _('common.delete'), returnValue: true },
30
+ ],
31
+ })
32
+ .pipe(switchMap(response => (response ? this.dataService.settings.deleteChannel(id) : EMPTY)), mergeMap(() => this.dataService.auth.currentUser().single$),
33
+ // tslint:disable-next-line:no-non-null-assertion
34
+ mergeMap(data => this.dataService.client.updateUserChannels(data.me.channels)))
35
+ .subscribe(() => {
36
+ this.notificationService.success(_('common.notify-delete-success'), {
37
+ entity: 'Channel',
38
+ });
39
+ this.refresh$.next(1);
40
+ }, err => {
41
+ this.notificationService.error(_('common.notify-delete-error'), {
42
+ entity: 'Channel',
43
+ });
44
+ });
45
+ }
46
+ }
47
+ ChannelListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChannelListComponent, deps: [{ token: i1.DataService }, { token: i1.ModalService }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
48
+ ChannelListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChannelListComponent, selector: "vdr-channel-list", ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['SuperAdmin', 'CreateChannel']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-channel' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table [items]=\"channels$ | async\">\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-channel=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', channel.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger [disabled]=\"isDefaultChannel(channel.code)\">\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteChannel(channel.id)\"\r\n [disabled]=\"!(['SuperAdmin', 'DeleteChannel'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [""], components: [{ type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i1.DataTableComponent, selector: "vdr-data-table", inputs: ["items", "itemsPerPage", "currentPage", "totalItems", "allSelected", "isRowSelectedFn", "emptyStateLabel"], outputs: ["allSelectChange", "rowSelectChange", "pageChange", "itemsPerPageChange"] }, { type: i1.DataTableColumnComponent, selector: "vdr-dt-column", inputs: ["expand"] }, { type: i1.ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { type: i1.TableRowActionComponent, selector: "vdr-table-row-action", inputs: ["linkTo", "label", "iconShape", "disabled"] }, { type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }], directives: [{ type: i1.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.ClrIconCustomTag, selector: "clr-icon" }, { type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i4.TranslatePipe, "async": i5.AsyncPipe, "channelCodeToLabel": i1.ChannelLabelPipe, "hasPermission": i1.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChannelListComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'vdr-channel-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['SuperAdmin', 'CreateChannel']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-channel' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table [items]=\"channels$ | async\">\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-channel=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', channel.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger [disabled]=\"isDefaultChannel(channel.code)\">\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteChannel(channel.id)\"\r\n [disabled]=\"!(['SuperAdmin', 'DeleteChannel'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [""] }]
52
+ }], ctorParameters: function () { return [{ type: i1.DataService }, { type: i1.ModalService }, { type: i1.NotificationService }]; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2V0dGluZ3Mvc3JjL2NvbXBvbmVudHMvY2hhbm5lbC1saXN0L2NoYW5uZWwtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUWhFLE1BQU0sT0FBTyxvQkFBb0I7SUFJN0IsWUFDWSxXQUF3QixFQUN4QixZQUEwQixFQUMxQixtQkFBd0M7UUFGeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUw1QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU83QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUMvQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUM1RixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQW1CO1FBQ2hDLE9BQU8sV0FBVyxLQUFLLG9CQUFvQixDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUNwQixJQUFJLENBQUMsWUFBWTthQUNaLE1BQU0sQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDLENBQUMsZ0NBQWdDLENBQUM7WUFDMUMsT0FBTyxFQUFFO2dCQUNMLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUNoRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2FBQ25FO1NBQ0osQ0FBQzthQUNELElBQUksQ0FDRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN2RixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQzNELGlEQUFpRDtRQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ2xGO2FBQ0EsU0FBUyxDQUNOLEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLEVBQUU7Z0JBQ2hFLE1BQU0sRUFBRSxTQUFTO2FBQ3BCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEVBQUU7Z0JBQzVELE1BQU0sRUFBRSxTQUFTO2FBQ3BCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FDSixDQUFDO0lBQ1YsQ0FBQzs7aUhBL0NRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdEQ2JqQyw0dEVBZ0RBOzJGRG5DYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHsgQ2hhbm5lbEZyYWdtZW50LCBEYXRhU2VydmljZSwgTW9kYWxTZXJ2aWNlLCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IERFRkFVTFRfQ0hBTk5FTF9DT0RFIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jaGFubmVsLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jaGFubmVsLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hhbm5lbExpc3RDb21wb25lbnQge1xyXG4gICAgY2hhbm5lbHMkOiBPYnNlcnZhYmxlPENoYW5uZWxGcmFnbWVudFtdPjtcclxuICAgIHByaXZhdGUgcmVmcmVzaCQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5jaGFubmVscyQgPSB0aGlzLnJlZnJlc2gkLnBpcGUoXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aCgxKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3MuZ2V0Q2hhbm5lbHMoKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLmNoYW5uZWxzKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0RlZmF1bHRDaGFubmVsKGNoYW5uZWxDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gY2hhbm5lbENvZGUgPT09IERFRkFVTFRfQ0hBTk5FTF9DT0RFO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUNoYW5uZWwoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5kaWFsb2coe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IF8oJ2NhdGFsb2cuY29uZmlybS1kZWxldGUtY2hhbm5lbCcpLFxyXG4gICAgICAgICAgICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZTogJ3NlY29uZGFyeScsIGxhYmVsOiBfKCdjb21tb24uY2FuY2VsJykgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdkYW5nZXInLCBsYWJlbDogXygnY29tbW9uLmRlbGV0ZScpLCByZXR1cm5WYWx1ZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVzcG9uc2UgPT4gKHJlc3BvbnNlID8gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5ncy5kZWxldGVDaGFubmVsKGlkKSA6IEVNUFRZKSksXHJcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLmRhdGFTZXJ2aWNlLmF1dGguY3VycmVudFVzZXIoKS5zaW5nbGUkKSxcclxuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKGRhdGEgPT4gdGhpcy5kYXRhU2VydmljZS5jbGllbnQudXBkYXRlVXNlckNoYW5uZWxzKGRhdGEubWUhLmNoYW5uZWxzKSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LWRlbGV0ZS1zdWNjZXNzJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiAnQ2hhbm5lbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KDEpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKF8oJ2NvbW1vbi5ub3RpZnktZGVsZXRlLWVycm9yJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiAnQ2hhbm5lbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItYWN0aW9uLWJhcj5cclxuICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgPHZkci1hY3Rpb24tYmFyLWl0ZW1zIGxvY2F0aW9uSWQ9XCJjaGFubmVsLWxpc3RcIj48L3Zkci1hY3Rpb24tYmFyLWl0ZW1zPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgW3JvdXRlckxpbmtdPVwiWycuL2NyZWF0ZSddXCIgKnZkcklmUGVybWlzc2lvbnM9XCJbJ1N1cGVyQWRtaW4nLCAnQ3JlYXRlQ2hhbm5lbCddXCI+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICB7eyAnc2V0dGluZ3MuY3JlYXRlLW5ldy1jaGFubmVsJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYT5cclxuICAgIDwvdmRyLWFiLXJpZ2h0PlxyXG48L3Zkci1hY3Rpb24tYmFyPlxyXG5cclxuPHZkci1kYXRhLXRhYmxlIFtpdGVtc109XCJjaGFubmVscyQgfCBhc3luY1wiPlxyXG4gICAgPHZkci1kdC1jb2x1bW4+e3sgJ2NvbW1vbi5jb2RlJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWR0LWNvbHVtbj5cclxuICAgIDx2ZHItZHQtY29sdW1uPjwvdmRyLWR0LWNvbHVtbj5cclxuICAgIDx2ZHItZHQtY29sdW1uPjwvdmRyLWR0LWNvbHVtbj5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtY2hhbm5lbD1cIml0ZW1cIj5cclxuICAgICAgICA8dGQgY2xhc3M9XCJsZWZ0IGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgICA8dmRyLWNoYW5uZWwtYmFkZ2UgW2NoYW5uZWxDb2RlXT1cImNoYW5uZWwuY29kZVwiPjwvdmRyLWNoYW5uZWwtYmFkZ2U+XHJcbiAgICAgICAgICAgIHt7IGNoYW5uZWwuY29kZSB8IGNoYW5uZWxDb2RlVG9MYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgIDx2ZHItdGFibGUtcm93LWFjdGlvblxyXG4gICAgICAgICAgICAgICAgaWNvblNoYXBlPVwiZWRpdFwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvbW1vbi5lZGl0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbGlua1RvXT1cIlsnLi8nLCBjaGFubmVsLmlkXVwiXHJcbiAgICAgICAgICAgID48L3Zkci10YWJsZS1yb3ctYWN0aW9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICAgIDx2ZHItZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc21cIiB2ZHJEcm9wZG93blRyaWdnZXIgW2Rpc2FibGVkXT1cImlzRGVmYXVsdENoYW5uZWwoY2hhbm5lbC5jb2RlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24uYWN0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjYXJldCBkb3duXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUNoYW5uZWwoY2hhbm5lbC5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShbJ1N1cGVyQWRtaW4nLCAnRGVsZXRlQ2hhbm5lbCddIHwgaGFzUGVybWlzc2lvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZHJEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRyYXNoXCIgY2xhc3M9XCJpcy1kYW5nZXJcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3Zkci1kYXRhLXRhYmxlPlxyXG4iXX0=
@@ -0,0 +1,115 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
4
+ import { BaseDetailComponent, createUpdatedTranslatable, findTranslation, Permission, } from '@vendure/admin-ui/core';
5
+ import { combineLatest } from 'rxjs';
6
+ import { mergeMap, take } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "@vendure/admin-ui/core";
10
+ import * as i3 from "@angular/forms";
11
+ import * as i4 from "@clr/angular";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "@ngx-translate/core";
14
+ export class CountryDetailComponent extends BaseDetailComponent {
15
+ constructor(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
16
+ super(route, router, serverConfigService, dataService);
17
+ this.changeDetector = changeDetector;
18
+ this.dataService = dataService;
19
+ this.formBuilder = formBuilder;
20
+ this.notificationService = notificationService;
21
+ this.updatePermission = [Permission.UpdateSettings, Permission.UpdateCountry];
22
+ this.customFields = this.getCustomFieldConfig('Country');
23
+ this.detailForm = this.formBuilder.group({
24
+ code: ['', Validators.required],
25
+ name: ['', Validators.required],
26
+ enabled: [true],
27
+ customFields: this.formBuilder.group(this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {})),
28
+ });
29
+ }
30
+ ngOnInit() {
31
+ this.init();
32
+ this.country$ = this.entity$;
33
+ }
34
+ ngOnDestroy() {
35
+ this.destroy();
36
+ }
37
+ create() {
38
+ if (!this.detailForm.dirty) {
39
+ return;
40
+ }
41
+ combineLatest(this.country$, this.languageCode$)
42
+ .pipe(take(1), mergeMap(([country, languageCode]) => {
43
+ const formValue = this.detailForm.value;
44
+ const input = createUpdatedTranslatable({
45
+ translatable: country,
46
+ updatedFields: formValue,
47
+ customFieldConfig: this.customFields,
48
+ languageCode,
49
+ defaultTranslation: {
50
+ name: formValue.name,
51
+ languageCode,
52
+ },
53
+ });
54
+ return this.dataService.settings.createCountry(input);
55
+ }))
56
+ .subscribe(data => {
57
+ this.notificationService.success(_('common.notify-create-success'), {
58
+ entity: 'Country',
59
+ });
60
+ this.detailForm.markAsPristine();
61
+ this.changeDetector.markForCheck();
62
+ this.router.navigate(['../', data.createCountry.id], { relativeTo: this.route });
63
+ }, err => {
64
+ this.notificationService.error(_('common.notify-create-error'), {
65
+ entity: 'Country',
66
+ });
67
+ });
68
+ }
69
+ save() {
70
+ combineLatest(this.country$, this.languageCode$)
71
+ .pipe(take(1), mergeMap(([country, languageCode]) => {
72
+ const formValue = this.detailForm.value;
73
+ const input = createUpdatedTranslatable({
74
+ translatable: country,
75
+ updatedFields: formValue,
76
+ customFieldConfig: this.customFields,
77
+ languageCode,
78
+ defaultTranslation: {
79
+ name: formValue.name,
80
+ languageCode,
81
+ },
82
+ });
83
+ return this.dataService.settings.updateCountry(input);
84
+ }))
85
+ .subscribe(data => {
86
+ this.notificationService.success(_('common.notify-update-success'), {
87
+ entity: 'Country',
88
+ });
89
+ this.detailForm.markAsPristine();
90
+ this.changeDetector.markForCheck();
91
+ }, err => {
92
+ this.notificationService.error(_('common.notify-update-error'), {
93
+ entity: 'Country',
94
+ });
95
+ });
96
+ }
97
+ setFormValues(country, languageCode) {
98
+ const currentTranslation = findTranslation(country, languageCode);
99
+ this.detailForm.patchValue({
100
+ code: country.code,
101
+ name: currentTranslation ? currentTranslation.name : '',
102
+ enabled: country.enabled,
103
+ });
104
+ if (this.customFields.length) {
105
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), country, currentTranslation);
106
+ }
107
+ }
108
+ }
109
+ CountryDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CountryDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ServerConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.DataService }, { token: i3.FormBuilder }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
110
+ CountryDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CountryDetailComponent, selector: "vdr-country-detail", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-language-selector\r\n [disabled]=\"isNew$ | async\"\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"languageCode$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"country-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n formControlName=\"code\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.enabled' | translate\" for=\"enabled\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"enabled\"\r\n formControlName=\"enabled\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Country\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"country-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: [""], components: [{ type: i2.ActionBarComponent, selector: "vdr-action-bar" }, { type: i2.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i2.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i2.LanguageSelectorComponent, selector: "vdr-language-selector", inputs: ["currentLanguageCode", "availableLanguageCodes", "disabled"], outputs: ["languageCodeChange"] }, { type: i2.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i2.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i2.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { type: i4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i2.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { type: i2.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i2.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i4.ClrLabel, selector: "label", inputs: ["for"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe, "hasPermission": i2.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CountryDetailComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'vdr-country-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-language-selector\r\n [disabled]=\"isNew$ | async\"\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"languageCode$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"country-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n formControlName=\"code\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.enabled' | translate\" for=\"enabled\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"enabled\"\r\n formControlName=\"enabled\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Country\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"country-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: [""] }]
114
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ServerConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.DataService }, { type: i3.FormBuilder }, { type: i2.NotificationService }]; } });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvY29tcG9uZW50cy9jb3VudHJ5LWRldGFpbC9jb3VudHJ5LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL2NvdW50cnktZGV0YWlsL2NvdW50cnktZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUNILG1CQUFtQixFQUduQix5QkFBeUIsRUFHekIsZUFBZSxFQUdmLFVBQVUsR0FHYixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLHNCQUNULFNBQVEsbUJBQW9DO0lBUTVDLFlBQ0ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUNoQyxjQUFpQyxFQUMvQixXQUF3QixFQUMxQixXQUF3QixFQUN4QixtQkFBd0M7UUFFaEQsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFML0MsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixH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QkFBa0IsR0FBRyxlQUFlLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ3ZCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUMxQixJQUFJLENBQUMsd0JBQXdCLENBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsRUFDckMsT0FBTyxFQUNQLGtCQUFrQixDQUNyQixDQUFDO1NBQ0w7SUFDTCxDQUFDOzttSEFsSVEsc0JBQXNCO3VHQUF0QixzQkFBc0IsaUZDM0JuQyx3L0ZBNEVBOzJGRGpEYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcclxuaW1wb3J0IHtcclxuICAgIEJhc2VEZXRhaWxDb21wb25lbnQsXHJcbiAgICBDb3VudHJ5RnJhZ21lbnQsXHJcbiAgICBDcmVhdGVDb3VudHJ5SW5wdXQsXHJcbiAgICBjcmVhdGVVcGRhdGVkVHJhbnNsYXRhYmxlLFxyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBEYXRhU2VydmljZSxcclxuICAgIGZpbmRUcmFuc2xhdGlvbixcclxuICAgIExhbmd1YWdlQ29kZSxcclxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBQZXJtaXNzaW9uLFxyXG4gICAgU2VydmVyQ29uZmlnU2VydmljZSxcclxuICAgIFVwZGF0ZUNvdW50cnlJbnB1dCxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtZXJnZU1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY291bnRyeS1kZXRhaWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvdW50cnktZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvdW50cnktZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvdW50cnlEZXRhaWxDb21wb25lbnRcclxuICAgIGV4dGVuZHMgQmFzZURldGFpbENvbXBvbmVudDxDb3VudHJ5RnJhZ21lbnQ+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIGNvdW50cnkkOiBPYnNlcnZhYmxlPENvdW50cnlGcmFnbWVudD47XHJcbiAgICBkZXRhaWxGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBjdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkQ29uZmlnW107XHJcbiAgICByZWFkb25seSB1cGRhdGVQZXJtaXNzaW9uID0gW1Blcm1pc3Npb24uVXBkYXRlU2V0dGluZ3MsIFBlcm1pc3Npb24uVXBkYXRlQ291bnRyeV07XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihyb3V0ZSwgcm91dGVyLCBzZXJ2ZXJDb25maWdTZXJ2aWNlLCBkYXRhU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21GaWVsZHMgPSB0aGlzLmdldEN1c3RvbUZpZWxkQ29uZmlnKCdDb3VudHJ5Jyk7XHJcbiAgICAgICAgdGhpcy5kZXRhaWxGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgIGNvZGU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgIG5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgIGVuYWJsZWQ6IFt0cnVlXSxcclxuICAgICAgICAgICAgY3VzdG9tRmllbGRzOiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21GaWVsZHMucmVkdWNlKChoYXNoLCBmaWVsZCkgPT4gKHsgLi4uaGFzaCwgW2ZpZWxkLm5hbWVdOiAnJyB9KSwge30pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuY291bnRyeSQgPSB0aGlzLmVudGl0eSQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5kZXRhaWxGb3JtLmRpcnR5KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29tYmluZUxhdGVzdCh0aGlzLmNvdW50cnkkLCB0aGlzLmxhbmd1YWdlQ29kZSQpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKChbY291bnRyeSwgbGFuZ3VhZ2VDb2RlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZGV0YWlsRm9ybS52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dDogQ3JlYXRlQ291bnRyeUlucHV0ID0gY3JlYXRlVXBkYXRlZFRyYW5zbGF0YWJsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0YWJsZTogY291bnRyeSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogZm9ybVZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21GaWVsZENvbmZpZzogdGhpcy5jdXN0b21GaWVsZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlQ29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFRyYW5zbGF0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBmb3JtVmFsdWUubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlQ29kZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5zZXR0aW5ncy5jcmVhdGVDb3VudHJ5KGlucHV0KTtcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICBkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LWNyZWF0ZS1zdWNjZXNzJyksIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiAnQ291bnRyeScsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uLycsIGRhdGEuY3JlYXRlQ291bnRyeS5pZF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcihfKCdjb21tb24ubm90aWZ5LWNyZWF0ZS1lcnJvcicpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ0NvdW50cnknLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlKCkge1xyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5jb3VudHJ5JCwgdGhpcy5sYW5ndWFnZUNvZGUkKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgoW2NvdW50cnksIGxhbmd1YWdlQ29kZV0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmRldGFpbEZvcm0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXQ6IFVwZGF0ZUNvdW50cnlJbnB1dCA9IGNyZWF0ZVVwZGF0ZWRUcmFuc2xhdGFibGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGFibGU6IGNvdW50cnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRGaWVsZHM6IGZvcm1WYWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRmllbGRDb25maWc6IHRoaXMuY3VzdG9tRmllbGRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZUNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRUcmFuc2xhdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZm9ybVZhbHVlLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZUNvZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3MudXBkYXRlQ291bnRyeShpbnB1dCk7XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS11cGRhdGUtc3VjY2VzcycpLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ0NvdW50cnknLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV0YWlsRm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnY29tbW9uLm5vdGlmeS11cGRhdGUtZXJyb3InKSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHk6ICdDb3VudHJ5JyxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldEZvcm1WYWx1ZXMoY291bnRyeTogQ291bnRyeUZyYWdtZW50LCBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUcmFuc2xhdGlvbiA9IGZpbmRUcmFuc2xhdGlvbihjb3VudHJ5LCBsYW5ndWFnZUNvZGUpO1xyXG5cclxuICAgICAgICB0aGlzLmRldGFpbEZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIGNvZGU6IGNvdW50cnkuY29kZSxcclxuICAgICAgICAgICAgbmFtZTogY3VycmVudFRyYW5zbGF0aW9uID8gY3VycmVudFRyYW5zbGF0aW9uLm5hbWUgOiAnJyxcclxuICAgICAgICAgICAgZW5hYmxlZDogY291bnRyeS5lbmFibGVkLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jdXN0b21GaWVsZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q3VzdG9tRmllbGRGb3JtVmFsdWVzKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXN0b21GaWVsZHMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRldGFpbEZvcm0uZ2V0KFsnY3VzdG9tRmllbGRzJ10pLFxyXG4gICAgICAgICAgICAgICAgY291bnRyeSxcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRUcmFuc2xhdGlvbixcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1hY3Rpb24tYmFyPlxyXG4gICAgPHZkci1hYi1sZWZ0PlxyXG4gICAgICAgIDx2ZHItZW50aXR5LWluZm8gW2VudGl0eV09XCJlbnRpdHkkIHwgYXN5bmNcIj48L3Zkci1lbnRpdHktaW5mbz5cclxuICAgICAgICA8dmRyLWxhbmd1YWdlLXNlbGVjdG9yXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc05ldyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIFthdmFpbGFibGVMYW5ndWFnZUNvZGVzXT1cImF2YWlsYWJsZUxhbmd1YWdlcyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIFtjdXJyZW50TGFuZ3VhZ2VDb2RlXT1cImxhbmd1YWdlQ29kZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgIChsYW5ndWFnZUNvZGVDaGFuZ2UpPVwic2V0TGFuZ3VhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvdmRyLWxhbmd1YWdlLXNlbGVjdG9yPlxyXG4gICAgPC92ZHItYWItbGVmdD5cclxuICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgPHZkci1hY3Rpb24tYmFyLWl0ZW1zIGxvY2F0aW9uSWQ9XCJjb3VudHJ5LWRldGFpbFwiPjwvdmRyLWFjdGlvbi1iYXItaXRlbXM+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNOZXckIHwgYXN5bmM7IGVsc2UgdXBkYXRlQnV0dG9uXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZSgpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRldGFpbEZvcm0uaW52YWxpZCB8fCBkZXRhaWxGb3JtLnByaXN0aW5lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7ICdjb21tb24uY3JlYXRlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdXBkYXRlQnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAqdmRySWZQZXJtaXNzaW9ucz1cInVwZGF0ZVBlcm1pc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGV0YWlsRm9ybS5pbnZhbGlkIHx8IGRldGFpbEZvcm0ucHJpc3RpbmVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29tbW9uLnVwZGF0ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdmRyLWFiLXJpZ2h0PlxyXG48L3Zkci1hY3Rpb24tYmFyPlxyXG5cclxuPGZvcm0gY2xhc3M9XCJmb3JtXCIgW2Zvcm1Hcm91cF09XCJkZXRhaWxGb3JtXCI+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidjb21tb24uY29kZScgfCB0cmFuc2xhdGVcIiBmb3I9XCJjb2RlXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwiY29kZVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29kZVwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgLz5cclxuICAgIDwvdmRyLWZvcm0tZmllbGQ+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidjb21tb24ubmFtZScgfCB0cmFuc2xhdGVcIiBmb3I9XCJuYW1lXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGlkPVwibmFtZVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXHJcbiAgICAgICAgLz5cclxuICAgIDwvdmRyLWZvcm0tZmllbGQ+XHJcbiAgICA8dmRyLWZvcm0tZmllbGQgW2xhYmVsXT1cIidjb21tb24uZW5hYmxlZCcgfCB0cmFuc2xhdGVcIiBmb3I9XCJlbmFibGVkXCI+XHJcbiAgICAgICAgPGNsci10b2dnbGUtd3JhcHBlcj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgY2xyVG9nZ2xlXHJcbiAgICAgICAgICAgICAgICBpZD1cImVuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbdmRyRGlzYWJsZWRdPVwiISh1cGRhdGVQZXJtaXNzaW9uIHwgaGFzUGVybWlzc2lvbilcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvY2xyLXRvZ2dsZS13cmFwcGVyPlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuICAgIDxzZWN0aW9uIGZvcm1Hcm91cE5hbWU9XCJjdXN0b21GaWVsZHNcIiAqbmdJZj1cImN1c3RvbUZpZWxkcy5sZW5ndGhcIj5cclxuICAgICAgICA8bGFiZWw+e3sgJ2NvbW1vbi5jdXN0b20tZmllbGRzJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgPHZkci10YWJiZWQtY3VzdG9tLWZpZWxkc1xyXG4gICAgICAgICAgICBlbnRpdHlOYW1lPVwiQ291bnRyeVwiXHJcbiAgICAgICAgICAgIFtjdXN0b21GaWVsZHNdPVwiY3VzdG9tRmllbGRzXCJcclxuICAgICAgICAgICAgW2N1c3RvbUZpZWxkc0Zvcm1Hcm91cF09XCJkZXRhaWxGb3JtLmdldCgnY3VzdG9tRmllbGRzJylcIlxyXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwiISh1cGRhdGVQZXJtaXNzaW9uIHwgaGFzUGVybWlzc2lvbilcIlxyXG4gICAgICAgID48L3Zkci10YWJiZWQtY3VzdG9tLWZpZWxkcz5cclxuICAgIDwvc2VjdGlvbj5cclxuICAgIDx2ZHItY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdFxyXG4gICAgICAgIGxvY2F0aW9uSWQ9XCJjb3VudHJ5LWRldGFpbFwiXHJcbiAgICAgICAgW2VudGl0eSRdPVwiZW50aXR5JFwiXHJcbiAgICAgICAgW2RldGFpbEZvcm1dPVwiZGV0YWlsRm9ybVwiXHJcbiAgICA+PC92ZHItY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdD5cclxuPC9mb3JtPlxyXG4iXX0=