@deenruv/admin-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1175) hide show
  1. package/LICENSE +23 -0
  2. package/catalog/catalog.module.d.ts +43 -0
  3. package/catalog/catalog.routes.d.ts +4 -0
  4. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +16 -0
  5. package/catalog/components/asset-detail/asset-detail.component.d.ts +28 -0
  6. package/catalog/components/asset-list/asset-list.component.d.ts +23 -0
  7. package/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +35 -0
  8. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +40 -0
  9. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  10. package/catalog/components/collection-contents/collection-contents.component.d.ts +39 -0
  11. package/catalog/components/collection-data-table/collection-data-table.component.d.ts +80 -0
  12. package/catalog/components/collection-detail/collection-detail.component.d.ts +71 -0
  13. package/catalog/components/collection-list/collection-breadcrumb.pipe.d.ts +11 -0
  14. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +8 -0
  15. package/catalog/components/collection-list/collection-list.component.d.ts +25 -0
  16. package/catalog/components/collection-tree/array-to-tree.d.ts +19 -0
  17. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +44 -0
  18. package/catalog/components/collection-tree/collection-tree.component.d.ts +22 -0
  19. package/catalog/components/collection-tree/collection-tree.service.d.ts +33 -0
  20. package/catalog/components/collection-tree/collection-tree.types.d.ts +7 -0
  21. package/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +10 -0
  22. package/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.d.ts +19 -0
  23. package/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.d.ts +18 -0
  24. package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +27 -0
  25. package/catalog/components/facet-detail/facet-detail.component.d.ts +76 -0
  26. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +7 -0
  27. package/catalog/components/facet-list/facet-list.component.d.ts +19 -0
  28. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +65 -0
  29. package/catalog/components/move-collections-dialog/move-collections-dialog.component.d.ts +23 -0
  30. package/catalog/components/option-value-input/option-value-input.component.d.ts +48 -0
  31. package/catalog/components/product-detail/product-detail.component.d.ts +75 -0
  32. package/catalog/components/product-list/product-list-bulk-actions.d.ts +7 -0
  33. package/catalog/components/product-list/product-list.component.d.ts +18 -0
  34. package/catalog/components/product-list/product-list.graphql.d.ts +1 -0
  35. package/catalog/components/product-options-editor/product-options-editor.component.d.ts +47 -0
  36. package/catalog/components/product-variant-detail/product-variant-detail.component.d.ts +79 -0
  37. package/catalog/components/product-variant-detail/product-variant-detail.graphql.d.ts +3 -0
  38. package/catalog/components/product-variant-list/product-variant-list-bulk-actions.d.ts +6 -0
  39. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +14 -0
  40. package/catalog/components/product-variant-list/product-variant-list.graphql.d.ts +1 -0
  41. package/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.d.ts +18 -0
  42. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +88 -0
  43. package/catalog/components/product-variants-table/product-variants-table.component.d.ts +55 -0
  44. package/catalog/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +25 -0
  45. package/catalog/components/variant-price-detail/variant-price-detail.component.d.ts +20 -0
  46. package/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.d.ts +10 -0
  47. package/catalog/index.d.ts +5 -0
  48. package/catalog/providers/product-detail/product-detail.service.d.ts +286 -0
  49. package/catalog/providers/product-detail/replace-last.d.ts +6 -0
  50. package/catalog/providers/routing/product-variants-resolver.d.ts +8 -0
  51. package/catalog/public_api.d.ts +48 -0
  52. package/core/app.component.d.ts +19 -0
  53. package/core/app.component.module.d.ts +9 -0
  54. package/core/app.config.d.ts +3 -0
  55. package/core/common/base-detail.component.d.ts +146 -0
  56. package/core/common/base-entity-resolver.d.ts +45 -0
  57. package/core/common/base-list.component.d.ts +138 -0
  58. package/core/common/component-registry-types.d.ts +65 -0
  59. package/core/common/deactivate-aware.d.ts +8 -0
  60. package/core/common/detail-breadcrumb.d.ts +12 -0
  61. package/core/common/generated-types.d.ts +20279 -0
  62. package/core/common/introspection-result-wrapper.d.ts +1 -0
  63. package/core/common/introspection-result.d.ts +7 -0
  64. package/core/common/single-search-selection-model.d.ts +16 -0
  65. package/core/common/title-setter.d.ts +4 -0
  66. package/core/common/utilities/bulk-action-utils.d.ts +49 -0
  67. package/core/common/utilities/configurable-operation-utils.d.ts +48 -0
  68. package/core/common/utilities/create-updated-translatable.d.ts +25 -0
  69. package/core/common/utilities/custom-field-default-value.d.ts +6 -0
  70. package/core/common/utilities/find-translation.d.ts +14 -0
  71. package/core/common/utilities/get-default-ui-language.d.ts +3 -0
  72. package/core/common/utilities/interpolate-description.d.ts +7 -0
  73. package/core/common/utilities/selection-manager.d.ts +30 -0
  74. package/core/common/utilities/string-to-color.d.ts +4 -0
  75. package/core/common/version.d.ts +1 -0
  76. package/core/components/alerts/alerts.component.d.ts +11 -0
  77. package/core/components/app-shell/app-shell.component.d.ts +41 -0
  78. package/core/components/base-nav/base-nav.component.d.ts +30 -0
  79. package/core/components/breadcrumb/breadcrumb.component.d.ts +27 -0
  80. package/core/components/channel-switcher/channel-switcher.component.d.ts +21 -0
  81. package/core/components/main-nav/main-nav.component.d.ts +22 -0
  82. package/core/components/notification/notification.component.d.ts +37 -0
  83. package/core/components/overlay-host/overlay-host.component.d.ts +12 -0
  84. package/core/components/settings-nav/settings-nav.component.d.ts +11 -0
  85. package/core/components/theme-switcher/theme-switcher.component.d.ts +16 -0
  86. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +30 -0
  87. package/core/components/user-menu/user-menu.component.d.ts +12 -0
  88. package/core/core.module.d.ts +39 -0
  89. package/core/data/check-jobs-link.d.ts +19 -0
  90. package/core/data/client-state/client-defaults.d.ts +32 -0
  91. package/core/data/client-state/client-resolvers.d.ts +12 -0
  92. package/core/data/data.module.d.ts +17 -0
  93. package/core/data/definitions/administrator-definitions.d.ts +14 -0
  94. package/core/data/definitions/auth-definitions.d.ts +4 -0
  95. package/core/data/definitions/client-definitions.d.ts +17 -0
  96. package/core/data/definitions/collection-definitions.d.ts +13 -0
  97. package/core/data/definitions/customer-definitions.d.ts +23 -0
  98. package/core/data/definitions/facet-definitions.d.ts +13 -0
  99. package/core/data/definitions/order-definitions.d.ts +39 -0
  100. package/core/data/definitions/product-definitions.d.ts +49 -0
  101. package/core/data/definitions/promotion-definitions.d.ts +6 -0
  102. package/core/data/definitions/settings-definitions.d.ts +69 -0
  103. package/core/data/definitions/shared-definitions.d.ts +3 -0
  104. package/core/data/definitions/shipping-definitions.d.ts +8 -0
  105. package/core/data/omit-typename-link.d.ts +11 -0
  106. package/core/data/providers/administrator-data.service.d.ts +19 -0
  107. package/core/data/providers/auth-data.service.d.ts +9 -0
  108. package/core/data/providers/base-data.service.d.ts +26 -0
  109. package/core/data/providers/client-data.service.d.ts +26 -0
  110. package/core/data/providers/collection-data.service.d.ts +25 -0
  111. package/core/data/providers/customer-data.service.d.ts +36 -0
  112. package/core/data/providers/data.service.d.ts +86 -0
  113. package/core/data/providers/facet-data.service.d.ts +19 -0
  114. package/core/data/providers/fetch-adapter.d.ts +14 -0
  115. package/core/data/providers/interceptor.d.ts +49 -0
  116. package/core/data/providers/order-data.service.d.ts +48 -0
  117. package/core/data/providers/product-data.service.d.ts +86 -0
  118. package/core/data/providers/promotion-data.service.d.ts +11 -0
  119. package/core/data/providers/settings-data.service.d.ts +74 -0
  120. package/core/data/providers/shipping-method-data.service.d.ts +17 -0
  121. package/core/data/query-result.d.ts +43 -0
  122. package/core/data/server-config.d.ts +39 -0
  123. package/core/data/utils/add-custom-fields.d.ts +7 -0
  124. package/core/data/utils/get-server-location.d.ts +4 -0
  125. package/core/data/utils/is-entity-create-or-update-mutation.d.ts +6 -0
  126. package/core/data/utils/remove-readonly-custom-fields.d.ts +17 -0
  127. package/core/data/utils/transform-relation-custom-field-inputs.d.ts +8 -0
  128. package/core/extension/add-action-bar-dropdown-menu-item.d.ts +25 -0
  129. package/core/extension/add-action-bar-item.d.ts +21 -0
  130. package/core/extension/add-nav-menu-item.d.ts +56 -0
  131. package/core/extension/components/angular-route.component.d.ts +26 -0
  132. package/core/extension/components/route.component.d.ts +20 -0
  133. package/core/extension/providers/page-metadata.service.d.ts +9 -0
  134. package/core/extension/register-alert.d.ts +11 -0
  135. package/core/extension/register-bulk-action.d.ts +49 -0
  136. package/core/extension/register-custom-detail-component.d.ts +55 -0
  137. package/core/extension/register-dashboard-widget.d.ts +17 -0
  138. package/core/extension/register-data-table-component.d.ts +45 -0
  139. package/core/extension/register-form-input-component.d.ts +51 -0
  140. package/core/extension/register-history-entry-component.d.ts +66 -0
  141. package/core/extension/register-page-tab.d.ts +23 -0
  142. package/core/extension/register-route-component.d.ts +109 -0
  143. package/core/extension/types.d.ts +11 -0
  144. package/core/index.d.ts +5 -0
  145. package/core/providers/alerts/alerts.service.d.ts +150 -0
  146. package/core/providers/auth/auth.service.d.ts +40 -0
  147. package/core/providers/breadcrumb/breadcrumb.service.d.ts +39 -0
  148. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +9 -0
  149. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  150. package/core/providers/channel/channel.service.d.ts +16 -0
  151. package/core/providers/component-registry/component-registry.service.d.ts +13 -0
  152. package/core/providers/currency/currency.service.d.ts +10 -0
  153. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +26 -0
  154. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +9 -0
  155. package/core/providers/custom-field-component/custom-field-component.service.d.ts +25 -0
  156. package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
  157. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +10 -0
  158. package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +56 -0
  159. package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +24 -0
  160. package/core/providers/data-table/data-table-filter-collection.d.ts +48 -0
  161. package/core/providers/data-table/data-table-filter.d.ts +108 -0
  162. package/core/providers/data-table/data-table-sort-collection.d.ts +24 -0
  163. package/core/providers/data-table/data-table-sort.d.ts +14 -0
  164. package/core/providers/guard/auth.guard.d.ts +17 -0
  165. package/core/providers/health-check/health-check.service.d.ts +40 -0
  166. package/core/providers/i18n/custom-http-loader.d.ts +21 -0
  167. package/core/providers/i18n/custom-message-format-compiler.d.ts +15 -0
  168. package/core/providers/i18n/i18n.service.d.ts +39 -0
  169. package/core/providers/job-queue/job-queue.service.d.ts +22 -0
  170. package/core/providers/local-storage/local-storage.service.d.ts +66 -0
  171. package/core/providers/localization/localization.service.d.ts +21 -0
  172. package/core/providers/modal/modal.service.d.ts +67 -0
  173. package/core/providers/modal/modal.types.d.ts +69 -0
  174. package/core/providers/nav-builder/nav-builder-types.d.ts +279 -0
  175. package/core/providers/nav-builder/nav-builder.service.d.ts +64 -0
  176. package/core/providers/notification/notification.service.d.ts +105 -0
  177. package/core/providers/overlay-host/overlay-host.service.d.ts +25 -0
  178. package/core/providers/page/page.service.d.ts +61 -0
  179. package/core/providers/permissions/permissions.service.d.ts +26 -0
  180. package/core/public_api.d.ts +313 -0
  181. package/core/shared/components/action-bar/action-bar.component.d.ts +17 -0
  182. package/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.d.ts +15 -0
  183. package/core/shared/components/action-bar-items/action-bar-base.component.d.ts +29 -0
  184. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +11 -0
  185. package/core/shared/components/address-form/address-form.component.d.ts +10 -0
  186. package/core/shared/components/affixed-input/affixed-input.component.d.ts +10 -0
  187. package/core/shared/components/affixed-input/percentage-suffix-input.component.d.ts +22 -0
  188. package/core/shared/components/asset-file-input/asset-file-input.component.d.ts +39 -0
  189. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +97 -0
  190. package/core/shared/components/asset-gallery/asset-gallery.types.d.ts +3 -0
  191. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +60 -0
  192. package/core/shared/components/asset-preview/asset-preview.component.d.ts +61 -0
  193. package/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +22 -0
  194. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +8 -0
  195. package/core/shared/components/asset-search-input/asset-search-input.component.d.ts +26 -0
  196. package/core/shared/components/assets/assets.component.d.ts +36 -0
  197. package/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +28 -0
  198. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +34 -0
  199. package/core/shared/components/card/card.component.d.ts +13 -0
  200. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +32 -0
  201. package/core/shared/components/channel-badge/channel-badge.component.d.ts +7 -0
  202. package/core/shared/components/chart/chart.component.d.ts +28 -0
  203. package/core/shared/components/chart/tooltip-plugin.d.ts +21 -0
  204. package/core/shared/components/chip/chip.component.d.ts +38 -0
  205. package/core/shared/components/configurable-input/configurable-input.component.d.ts +43 -0
  206. package/core/shared/components/currency-code-selector/currency-code-selector.component.d.ts +21 -0
  207. package/core/shared/components/currency-input/currency-input.component.d.ts +53 -0
  208. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +20 -0
  209. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +31 -0
  210. package/core/shared/components/customer-label/customer-label.component.d.ts +7 -0
  211. package/core/shared/components/data-table/data-table-column.component.d.ts +11 -0
  212. package/core/shared/components/data-table/data-table.component.d.ts +107 -0
  213. package/core/shared/components/data-table-2/data-table-column.component.d.ts +25 -0
  214. package/core/shared/components/data-table-2/data-table-custom-component.service.d.ts +52 -0
  215. package/core/shared/components/data-table-2/data-table-custom-field-column.component.d.ts +18 -0
  216. package/core/shared/components/data-table-2/data-table-search.component.d.ts +10 -0
  217. package/core/shared/components/data-table-2/data-table2.component.d.ts +134 -0
  218. package/core/shared/components/data-table-column-picker/data-table-column-picker.component.d.ts +19 -0
  219. package/core/shared/components/data-table-filter-label/data-table-filter-label.component.d.ts +11 -0
  220. package/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.d.ts +25 -0
  221. package/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.d.ts +30 -0
  222. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +34 -0
  223. package/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.d.ts +9 -0
  224. package/core/shared/components/data-table-filters/custom-filter-component.directive.d.ts +8 -0
  225. package/core/shared/components/data-table-filters/data-table-filters.component.d.ts +30 -0
  226. package/core/shared/components/datetime-picker/constants.d.ts +5 -0
  227. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +100 -0
  228. package/core/shared/components/datetime-picker/datetime-picker.service.d.ts +37 -0
  229. package/core/shared/components/datetime-picker/types.d.ts +11 -0
  230. package/core/shared/components/dropdown/dropdown-item.directive.d.ts +9 -0
  231. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +42 -0
  232. package/core/shared/components/dropdown/dropdown-trigger.directive.d.ts +11 -0
  233. package/core/shared/components/dropdown/dropdown.component.d.ts +39 -0
  234. package/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.d.ts +33 -0
  235. package/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.graphql.d.ts +2 -0
  236. package/core/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +18 -0
  237. package/core/shared/components/empty-placeholder/empty-placeholder.component.d.ts +6 -0
  238. package/core/shared/components/entity-info/entity-info.component.d.ts +11 -0
  239. package/core/shared/components/extension-host/extension-host-config.d.ts +9 -0
  240. package/core/shared/components/extension-host/extension-host.component.d.ts +28 -0
  241. package/core/shared/components/extension-host/extension-host.service.d.ts +23 -0
  242. package/core/shared/components/extension-host/host-external-frame.d.ts +28 -0
  243. package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +11 -0
  244. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +49 -0
  245. package/core/shared/components/focal-point-control/focal-point-control.component.d.ts +24 -0
  246. package/core/shared/components/form-field/form-field-control.directive.d.ts +15 -0
  247. package/core/shared/components/form-field/form-field.component.d.ts +32 -0
  248. package/core/shared/components/form-item/form-item.component.d.ts +11 -0
  249. package/core/shared/components/formatted-address/formatted-address.component.d.ts +13 -0
  250. package/core/shared/components/help-tooltip/help-tooltip.component.d.ts +7 -0
  251. package/core/shared/components/history-entry-detail/history-entry-detail.component.d.ts +5 -0
  252. package/core/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +11 -0
  253. package/core/shared/components/labeled-data/labeled-data.component.d.ts +6 -0
  254. package/core/shared/components/language-code-selector/language-code-selector.component.d.ts +20 -0
  255. package/core/shared/components/language-selector/language-selector.component.d.ts +11 -0
  256. package/core/shared/components/localized-text/localized-text.component.d.ts +13 -0
  257. package/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +24 -0
  258. package/core/shared/components/modal-dialog/dialog-buttons.directive.d.ts +14 -0
  259. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +14 -0
  260. package/core/shared/components/modal-dialog/dialog-title.directive.d.ts +14 -0
  261. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +44 -0
  262. package/core/shared/components/object-tree/object-tree.component.d.ts +32 -0
  263. package/core/shared/components/order-state-label/order-state-label.component.d.ts +17 -0
  264. package/core/shared/components/page/page.component.d.ts +21 -0
  265. package/core/shared/components/page-block/page-block.component.d.ts +5 -0
  266. package/core/shared/components/page-body/page-body.component.d.ts +5 -0
  267. package/core/shared/components/page-detail-layout/page-detail-layout.component.d.ts +5 -0
  268. package/core/shared/components/page-detail-layout/page-detail-sidebar.component.d.ts +5 -0
  269. package/core/shared/components/page-entity-info/page-entity-info.component.d.ts +10 -0
  270. package/core/shared/components/page-header/page-header.component.d.ts +5 -0
  271. package/core/shared/components/page-header-description/page-header-description.component.d.ts +5 -0
  272. package/core/shared/components/page-header-tabs/page-header-tabs.component.d.ts +14 -0
  273. package/core/shared/components/page-title/page-title.component.d.ts +16 -0
  274. package/core/shared/components/pagination-controls/pagination-controls.component.d.ts +11 -0
  275. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +38 -0
  276. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.graphql.d.ts +1 -0
  277. package/core/shared/components/product-search-input/product-search-input.component.d.ts +28 -0
  278. package/core/shared/components/product-variant-selector/product-variant-selector.component.d.ts +58 -0
  279. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +24 -0
  280. package/core/shared/components/radio-card/radio-card.component.d.ts +22 -0
  281. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +21 -0
  282. package/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +19 -0
  283. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
  284. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
  285. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +5 -0
  286. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +8 -0
  287. package/core/shared/components/rich-text-editor/prosemirror/keymap.d.ts +3 -0
  288. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +4 -0
  289. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +16 -0
  290. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  291. package/core/shared/components/rich-text-editor/prosemirror/menu/menu.d.ts +3 -0
  292. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  293. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  294. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +5 -0
  295. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  296. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  297. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +34 -0
  298. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +9 -0
  299. package/core/shared/components/rich-text-editor/prosemirror/utils.d.ts +9 -0
  300. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
  301. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +42 -0
  302. package/core/shared/components/select-toggle/select-toggle.component.d.ts +15 -0
  303. package/core/shared/components/simple-dialog/simple-dialog.component.d.ts +14 -0
  304. package/core/shared/components/split-view/split-view.component.d.ts +23 -0
  305. package/core/shared/components/split-view/split-view.directive.d.ts +13 -0
  306. package/core/shared/components/status-badge/status-badge.component.d.ts +6 -0
  307. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +25 -0
  308. package/core/shared/components/table-row-action/table-row-action.component.d.ts +12 -0
  309. package/core/shared/components/tag-selector/tag-selector.component.d.ts +24 -0
  310. package/core/shared/components/timeline-entry/timeline-entry.component.d.ts +19 -0
  311. package/core/shared/components/title-input/title-input.component.d.ts +6 -0
  312. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +27 -0
  313. package/core/shared/components/zone-selector/zone-selector.component.d.ts +51 -0
  314. package/core/shared/directives/disabled.directive.d.ts +14 -0
  315. package/core/shared/directives/if-default-channel-active.directive.d.ts +16 -0
  316. package/core/shared/directives/if-directive-base.d.ts +27 -0
  317. package/core/shared/directives/if-multichannel.directive.d.ts +28 -0
  318. package/core/shared/directives/if-permissions.directive.d.ts +37 -0
  319. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +19 -0
  320. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
  321. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
  322. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +23 -0
  323. package/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +28 -0
  324. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +25 -0
  325. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +33 -0
  326. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +22 -0
  327. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +19 -0
  328. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +58 -0
  329. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +23 -0
  330. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +24 -0
  331. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +19 -0
  332. package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +25 -0
  333. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +34 -0
  334. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +23 -0
  335. package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +25 -0
  336. package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +18 -0
  337. package/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +26 -0
  338. package/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +26 -0
  339. package/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +23 -0
  340. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +22 -0
  341. package/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +10 -0
  342. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +19 -0
  343. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +30 -0
  344. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +21 -0
  345. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +20 -0
  346. package/core/shared/pipes/asset-preview.pipe.d.ts +22 -0
  347. package/core/shared/pipes/channel-label.pipe.d.ts +7 -0
  348. package/core/shared/pipes/custom-field-description.pipe.d.ts +11 -0
  349. package/core/shared/pipes/custom-field-label.pipe.d.ts +13 -0
  350. package/core/shared/pipes/duration.pipe.d.ts +22 -0
  351. package/core/shared/pipes/file-size.pipe.d.ts +18 -0
  352. package/core/shared/pipes/has-permission.pipe.d.ts +27 -0
  353. package/core/shared/pipes/locale-base.pipe.d.ts +21 -0
  354. package/core/shared/pipes/locale-currency-name.pipe.d.ts +21 -0
  355. package/core/shared/pipes/locale-currency.pipe.d.ts +25 -0
  356. package/core/shared/pipes/locale-date.pipe.d.ts +23 -0
  357. package/core/shared/pipes/locale-language-name.pipe.d.ts +21 -0
  358. package/core/shared/pipes/locale-region-name.pipe.d.ts +21 -0
  359. package/core/shared/pipes/sentence-case.pipe.d.ts +10 -0
  360. package/core/shared/pipes/sort.pipe.d.ts +12 -0
  361. package/core/shared/pipes/state-i18n-token.pipe.d.ts +9 -0
  362. package/core/shared/pipes/string-to-color.pipe.d.ts +7 -0
  363. package/core/shared/pipes/time-ago.pipe.d.ts +21 -0
  364. package/core/shared/providers/routing/can-deactivate-detail-guard.d.ts +11 -0
  365. package/core/shared/shared.module.d.ts +168 -0
  366. package/core/validators/unicode-pattern.validator.d.ts +2 -0
  367. package/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +22 -0
  368. package/customer/components/address-card/address-card.component.d.ts +28 -0
  369. package/customer/components/address-detail-dialog/address-detail-dialog.component.d.ts +17 -0
  370. package/customer/components/customer-detail/customer-detail.component.d.ts +70 -0
  371. package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +26 -0
  372. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +24 -0
  373. package/customer/components/customer-group-list/customer-group-list-bulk-actions.d.ts +1 -0
  374. package/customer/components/customer-group-list/customer-group-list.component.d.ts +29 -0
  375. package/customer/components/customer-group-member-list/customer-group-member-list-bulk-actions.d.ts +3 -0
  376. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +39 -0
  377. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +18 -0
  378. package/customer/components/customer-history/customer-history.component.d.ts +51 -0
  379. package/customer/components/customer-list/customer-list-bulk-actions.d.ts +1 -0
  380. package/customer/components/customer-list/customer-list.component.d.ts +12 -0
  381. package/customer/components/customer-status-label/customer-status-label.component.d.ts +7 -0
  382. package/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +16 -0
  383. package/customer/customer.module.d.ts +24 -0
  384. package/customer/customer.routes.d.ts +4 -0
  385. package/customer/index.d.ts +5 -0
  386. package/customer/public_api.d.ts +18 -0
  387. package/dashboard/components/dashboard/dashboard.component.d.ts +34 -0
  388. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +13 -0
  389. package/dashboard/dashboard.module.d.ts +13 -0
  390. package/dashboard/dashboard.routes.d.ts +2 -0
  391. package/dashboard/default-widgets.d.ts +5 -0
  392. package/dashboard/index.d.ts +5 -0
  393. package/dashboard/public_api.d.ts +10 -0
  394. package/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +18 -0
  395. package/dashboard/widgets/order-chart-widget/order-chart-widget.component.d.ts +17 -0
  396. package/dashboard/widgets/order-summary-widget/order-summary-widget.component.d.ts +32 -0
  397. package/dashboard/widgets/test-widget/test-widget.component.d.ts +10 -0
  398. package/dashboard/widgets/welcome-widget/welcome-widget.component.d.ts +22 -0
  399. package/esm2022/catalog/catalog.module.mjs +331 -0
  400. package/esm2022/catalog/catalog.routes.mjs +144 -0
  401. package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +30 -0
  402. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +77 -0
  403. package/esm2022/catalog/components/asset-list/asset-list.component.mjs +120 -0
  404. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +102 -0
  405. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +83 -0
  406. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.mjs +69 -0
  407. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +124 -0
  408. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +95 -0
  409. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +263 -0
  410. package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +19 -0
  411. package/esm2022/catalog/components/collection-list/collection-list-bulk-actions.mjs +97 -0
  412. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +157 -0
  413. package/esm2022/catalog/components/collection-tree/array-to-tree.mjs +56 -0
  414. package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +125 -0
  415. package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +49 -0
  416. package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +68 -0
  417. package/esm2022/catalog/components/collection-tree/collection-tree.types.mjs +2 -0
  418. package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +23 -0
  419. package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +44 -0
  420. package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +44 -0
  421. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +80 -0
  422. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +338 -0
  423. package/esm2022/catalog/components/facet-list/facet-list-bulk-actions.mjs +148 -0
  424. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +91 -0
  425. package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +133 -0
  426. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +100 -0
  427. package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +156 -0
  428. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +321 -0
  429. package/esm2022/catalog/components/product-list/product-list-bulk-actions.mjs +144 -0
  430. package/esm2022/catalog/components/product-list/product-list.component.mjs +159 -0
  431. package/esm2022/catalog/components/product-list/product-list.graphql.mjs +37 -0
  432. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +207 -0
  433. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +266 -0
  434. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.graphql.mjs +129 -0
  435. package/esm2022/catalog/components/product-variant-list/product-variant-list-bulk-actions.mjs +123 -0
  436. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +118 -0
  437. package/esm2022/catalog/components/product-variant-list/product-variant-list.graphql.mjs +51 -0
  438. package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +53 -0
  439. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +292 -0
  440. package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +72 -0
  441. package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +64 -0
  442. package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +59 -0
  443. package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +33 -0
  444. package/esm2022/catalog/deenruv-admin-ui-catalog.mjs +5 -0
  445. package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +236 -0
  446. package/esm2022/catalog/providers/product-detail/replace-last.mjs +18 -0
  447. package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +28 -0
  448. package/esm2022/catalog/public_api.mjs +50 -0
  449. package/esm2022/core/app.component.mjs +94 -0
  450. package/esm2022/core/app.component.module.mjs +19 -0
  451. package/esm2022/core/app.config.mjs +11 -0
  452. package/esm2022/core/common/base-detail.component.mjs +208 -0
  453. package/esm2022/core/common/base-entity-resolver.mjs +60 -0
  454. package/esm2022/core/common/base-list.component.mjs +186 -0
  455. package/esm2022/core/common/component-registry-types.mjs +2 -0
  456. package/esm2022/core/common/deactivate-aware.mjs +2 -0
  457. package/esm2022/core/common/detail-breadcrumb.mjs +26 -0
  458. package/esm2022/core/common/generated-types.mjs +1371 -0
  459. package/esm2022/core/common/introspection-result-wrapper.mjs +3 -0
  460. package/esm2022/core/common/introspection-result.mjs +329 -0
  461. package/esm2022/core/common/single-search-selection-model.mjs +51 -0
  462. package/esm2022/core/common/title-setter.mjs +14 -0
  463. package/esm2022/core/common/utilities/bulk-action-utils.mjs +271 -0
  464. package/esm2022/core/common/utilities/configurable-operation-utils.mjs +116 -0
  465. package/esm2022/core/common/utilities/create-updated-translatable.mjs +58 -0
  466. package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
  467. package/esm2022/core/common/utilities/find-translation.mjs +9 -0
  468. package/esm2022/core/common/utilities/get-default-ui-language.mjs +12 -0
  469. package/esm2022/core/common/utilities/interpolate-description.mjs +27 -0
  470. package/esm2022/core/common/utilities/selection-manager.mjs +96 -0
  471. package/esm2022/core/common/utilities/string-to-color.mjs +36 -0
  472. package/esm2022/core/common/version.mjs +3 -0
  473. package/esm2022/core/components/alerts/alerts.component.mjs +26 -0
  474. package/esm2022/core/components/app-shell/app-shell.component.mjs +104 -0
  475. package/esm2022/core/components/base-nav/base-nav.component.mjs +298 -0
  476. package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +33 -0
  477. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +50 -0
  478. package/esm2022/core/components/main-nav/main-nav.component.mjs +62 -0
  479. package/esm2022/core/components/notification/notification.component.mjs +85 -0
  480. package/esm2022/core/components/overlay-host/overlay-host.component.mjs +22 -0
  481. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +27 -0
  482. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +39 -0
  483. package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +75 -0
  484. package/esm2022/core/components/user-menu/user-menu.component.mjs +37 -0
  485. package/esm2022/core/core.module.mjs +165 -0
  486. package/esm2022/core/data/check-jobs-link.mjs +32 -0
  487. package/esm2022/core/data/client-state/client-defaults.mjs +33 -0
  488. package/esm2022/core/data/client-state/client-resolvers.mjs +136 -0
  489. package/esm2022/core/data/data.module.mjs +135 -0
  490. package/esm2022/core/data/definitions/administrator-definitions.mjs +135 -0
  491. package/esm2022/core/data/definitions/auth-definitions.mjs +40 -0
  492. package/esm2022/core/data/definitions/client-definitions.mjs +137 -0
  493. package/esm2022/core/data/definitions/collection-definitions.mjs +184 -0
  494. package/esm2022/core/data/definitions/customer-definitions.mjs +261 -0
  495. package/esm2022/core/data/definitions/facet-definitions.mjs +155 -0
  496. package/esm2022/core/data/definitions/order-definitions.mjs +594 -0
  497. package/esm2022/core/data/definitions/product-definitions.mjs +828 -0
  498. package/esm2022/core/data/definitions/promotion-definitions.mjs +76 -0
  499. package/esm2022/core/data/definitions/settings-definitions.mjs +735 -0
  500. package/esm2022/core/data/definitions/shared-definitions.mjs +33 -0
  501. package/esm2022/core/data/definitions/shipping-definitions.mjs +98 -0
  502. package/esm2022/core/data/omit-typename-link.mjs +20 -0
  503. package/esm2022/core/data/providers/administrator-data.service.mjs +53 -0
  504. package/esm2022/core/data/providers/auth-data.service.mjs +20 -0
  505. package/esm2022/core/data/providers/base-data.service.mjs +66 -0
  506. package/esm2022/core/data/providers/client-data.service.mjs +82 -0
  507. package/esm2022/core/data/providers/collection-data.service.mjs +84 -0
  508. package/esm2022/core/data/providers/customer-data.service.mjs +125 -0
  509. package/esm2022/core/data/providers/data.service.mjs +90 -0
  510. package/esm2022/core/data/providers/facet-data.service.mjs +63 -0
  511. package/esm2022/core/data/providers/fetch-adapter.mjs +34 -0
  512. package/esm2022/core/data/providers/interceptor.mjs +162 -0
  513. package/esm2022/core/data/providers/order-data.service.mjs +135 -0
  514. package/esm2022/core/data/providers/product-data.service.mjs +257 -0
  515. package/esm2022/core/data/providers/promotion-data.service.mjs +50 -0
  516. package/esm2022/core/data/providers/settings-data.service.mjs +246 -0
  517. package/esm2022/core/data/providers/shipping-method-data.service.mjs +58 -0
  518. package/esm2022/core/data/query-result.mjs +77 -0
  519. package/esm2022/core/data/server-config.mjs +78 -0
  520. package/esm2022/core/data/utils/add-custom-fields.mjs +84 -0
  521. package/esm2022/core/data/utils/get-server-location.mjs +17 -0
  522. package/esm2022/core/data/utils/is-entity-create-or-update-mutation.mjs +45 -0
  523. package/esm2022/core/data/utils/remove-readonly-custom-fields.mjs +30 -0
  524. package/esm2022/core/data/utils/transform-relation-custom-field-inputs.mjs +46 -0
  525. package/esm2022/core/deenruv-admin-ui-core.mjs +5 -0
  526. package/esm2022/core/extension/add-action-bar-dropdown-menu-item.mjs +35 -0
  527. package/esm2022/core/extension/add-action-bar-item.mjs +31 -0
  528. package/esm2022/core/extension/add-nav-menu-item.mjs +75 -0
  529. package/esm2022/core/extension/components/angular-route.component.mjs +67 -0
  530. package/esm2022/core/extension/components/route.component.mjs +80 -0
  531. package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
  532. package/esm2022/core/extension/register-alert.mjs +22 -0
  533. package/esm2022/core/extension/register-bulk-action.mjs +59 -0
  534. package/esm2022/core/extension/register-custom-detail-component.mjs +65 -0
  535. package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
  536. package/esm2022/core/extension/register-data-table-component.mjs +51 -0
  537. package/esm2022/core/extension/register-form-input-component.mjs +61 -0
  538. package/esm2022/core/extension/register-history-entry-component.mjs +76 -0
  539. package/esm2022/core/extension/register-page-tab.mjs +36 -0
  540. package/esm2022/core/extension/register-route-component.mjs +95 -0
  541. package/esm2022/core/extension/types.mjs +2 -0
  542. package/esm2022/core/providers/alerts/alerts.service.mjs +114 -0
  543. package/esm2022/core/providers/auth/auth.service.mjs +124 -0
  544. package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +109 -0
  545. package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +28 -0
  546. package/esm2022/core/providers/bulk-action-registry/bulk-action-types.mjs +2 -0
  547. package/esm2022/core/providers/channel/channel.service.mjs +39 -0
  548. package/esm2022/core/providers/component-registry/component-registry.service.mjs +25 -0
  549. package/esm2022/core/providers/currency/currency.service.mjs +21 -0
  550. package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +2 -0
  551. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +27 -0
  552. package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +38 -0
  553. package/esm2022/core/providers/custom-history-entry-component/history-entry-component-types.mjs +2 -0
  554. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +22 -0
  555. package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +2 -0
  556. package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +91 -0
  557. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +295 -0
  558. package/esm2022/core/providers/data-table/data-table-filter.mjs +114 -0
  559. package/esm2022/core/providers/data-table/data-table-sort-collection.mjs +115 -0
  560. package/esm2022/core/providers/data-table/data-table-sort.mjs +34 -0
  561. package/esm2022/core/providers/guard/auth.guard.mjs +38 -0
  562. package/esm2022/core/providers/health-check/health-check.service.mjs +34 -0
  563. package/esm2022/core/providers/i18n/custom-http-loader.mjs +39 -0
  564. package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +31 -0
  565. package/esm2022/core/providers/i18n/i18n.service.mjs +78 -0
  566. package/esm2022/core/providers/job-queue/job-queue.service.mjs +91 -0
  567. package/esm2022/core/providers/local-storage/local-storage.service.mjs +97 -0
  568. package/esm2022/core/providers/localization/localization.service.mjs +31 -0
  569. package/esm2022/core/providers/modal/modal.service.mjs +96 -0
  570. package/esm2022/core/providers/modal/modal.types.mjs +2 -0
  571. package/esm2022/core/providers/nav-builder/nav-builder-types.mjs +2 -0
  572. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +174 -0
  573. package/esm2022/core/providers/notification/notification.service.mjs +157 -0
  574. package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +48 -0
  575. package/esm2022/core/providers/page/page.service.mjs +63 -0
  576. package/esm2022/core/providers/permissions/permissions.service.mjs +46 -0
  577. package/esm2022/core/public_api.mjs +315 -0
  578. package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +54 -0
  579. package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +69 -0
  580. package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +72 -0
  581. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +50 -0
  582. package/esm2022/core/shared/components/address-form/address-form.component.mjs +24 -0
  583. package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +19 -0
  584. package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +86 -0
  585. package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +97 -0
  586. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +96 -0
  587. package/esm2022/core/shared/components/asset-gallery/asset-gallery.types.mjs +2 -0
  588. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +144 -0
  589. package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +229 -0
  590. package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +49 -0
  591. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +25 -0
  592. package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +102 -0
  593. package/esm2022/core/shared/components/assets/assets.component.mjs +109 -0
  594. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +56 -0
  595. package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +100 -0
  596. package/esm2022/core/shared/components/card/card.component.mjs +32 -0
  597. package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +116 -0
  598. package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +19 -0
  599. package/esm2022/core/shared/components/chart/chart.component.mjs +100 -0
  600. package/esm2022/core/shared/components/chart/tooltip-plugin.mjs +143 -0
  601. package/esm2022/core/shared/components/chip/chip.component.mjs +47 -0
  602. package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +161 -0
  603. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +64 -0
  604. package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +155 -0
  605. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +44 -0
  606. package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +88 -0
  607. package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +17 -0
  608. package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +29 -0
  609. package/esm2022/core/shared/components/data-table/data-table.component.mjs +177 -0
  610. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +64 -0
  611. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +26 -0
  612. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +52 -0
  613. package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +21 -0
  614. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +308 -0
  615. package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +44 -0
  616. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +32 -0
  617. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +69 -0
  618. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +80 -0
  619. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +79 -0
  620. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +20 -0
  621. package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +16 -0
  622. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +220 -0
  623. package/esm2022/core/shared/components/datetime-picker/constants.mjs +20 -0
  624. package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +226 -0
  625. package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +201 -0
  626. package/esm2022/core/shared/components/datetime-picker/types.mjs +2 -0
  627. package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +28 -0
  628. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +202 -0
  629. package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +25 -0
  630. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +58 -0
  631. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +111 -0
  632. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.graphql.mjs +38 -0
  633. package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +32 -0
  634. package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +16 -0
  635. package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +26 -0
  636. package/esm2022/core/shared/components/extension-host/extension-host-config.mjs +7 -0
  637. package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +81 -0
  638. package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +99 -0
  639. package/esm2022/core/shared/components/extension-host/host-external-frame.mjs +41 -0
  640. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +26 -0
  641. package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +150 -0
  642. package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +71 -0
  643. package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +37 -0
  644. package/esm2022/core/shared/components/form-field/form-field.component.mjs +73 -0
  645. package/esm2022/core/shared/components/form-item/form-item.component.mjs +21 -0
  646. package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +38 -0
  647. package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +16 -0
  648. package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +16 -0
  649. package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +28 -0
  650. package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +13 -0
  651. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +72 -0
  652. package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +30 -0
  653. package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +24 -0
  654. package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +61 -0
  655. package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +23 -0
  656. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +29 -0
  657. package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +23 -0
  658. package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +69 -0
  659. package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +56 -0
  660. package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +47 -0
  661. package/esm2022/core/shared/components/page/page.component.mjs +38 -0
  662. package/esm2022/core/shared/components/page-block/page-block.component.mjs +11 -0
  663. package/esm2022/core/shared/components/page-body/page-body.component.mjs +11 -0
  664. package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +11 -0
  665. package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +15 -0
  666. package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +16 -0
  667. package/esm2022/core/shared/components/page-header/page-header.component.mjs +11 -0
  668. package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +11 -0
  669. package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +26 -0
  670. package/esm2022/core/shared/components/page-title/page-title.component.mjs +40 -0
  671. package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +26 -0
  672. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +138 -0
  673. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.graphql.mjs +44 -0
  674. package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +104 -0
  675. package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +62 -0
  676. package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +54 -0
  677. package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +53 -0
  678. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +37 -0
  679. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +35 -0
  680. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
  681. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +44 -0
  682. package/esm2022/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +97 -0
  683. package/esm2022/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs +61 -0
  684. package/esm2022/core/shared/components/rich-text-editor/prosemirror/keymap.mjs +118 -0
  685. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +69 -0
  686. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +41 -0
  687. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
  688. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +247 -0
  689. package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
  690. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +98 -0
  691. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs +22 -0
  692. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
  693. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +164 -0
  694. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +155 -0
  695. package/esm2022/core/shared/components/rich-text-editor/prosemirror/types.mjs +2 -0
  696. package/esm2022/core/shared/components/rich-text-editor/prosemirror/utils.mjs +26 -0
  697. package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
  698. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +106 -0
  699. package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +35 -0
  700. package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +24 -0
  701. package/esm2022/core/shared/components/split-view/split-view.component.mjs +62 -0
  702. package/esm2022/core/shared/components/split-view/split-view.directive.mjs +28 -0
  703. package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +16 -0
  704. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +70 -0
  705. package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +28 -0
  706. package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +60 -0
  707. package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +54 -0
  708. package/esm2022/core/shared/components/title-input/title-input.component.mjs +21 -0
  709. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +142 -0
  710. package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +99 -0
  711. package/esm2022/core/shared/directives/disabled.directive.mjs +41 -0
  712. package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +37 -0
  713. package/esm2022/core/shared/directives/if-directive-base.mjs +73 -0
  714. package/esm2022/core/shared/directives/if-multichannel.directive.mjs +43 -0
  715. package/esm2022/core/shared/directives/if-permissions.directive.mjs +66 -0
  716. package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +23 -0
  717. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +62 -0
  718. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +59 -0
  719. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +85 -0
  720. package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +45 -0
  721. package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +32 -0
  722. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +47 -0
  723. package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +32 -0
  724. package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +44 -0
  725. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +271 -0
  726. package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +34 -0
  727. package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +39 -0
  728. package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +21 -0
  729. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +49 -0
  730. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +66 -0
  731. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +84 -0
  732. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +66 -0
  733. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +54 -0
  734. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +87 -0
  735. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +87 -0
  736. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +60 -0
  737. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +29 -0
  738. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +14 -0
  739. package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +21 -0
  740. package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +40 -0
  741. package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +28 -0
  742. package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +24 -0
  743. package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +42 -0
  744. package/esm2022/core/shared/pipes/channel-label.pipe.mjs +23 -0
  745. package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +30 -0
  746. package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +39 -0
  747. package/esm2022/core/shared/pipes/duration.pipe.mjs +49 -0
  748. package/esm2022/core/shared/pipes/file-size.pipe.mjs +47 -0
  749. package/esm2022/core/shared/pipes/has-permission.pipe.mjs +54 -0
  750. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +55 -0
  751. package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +60 -0
  752. package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +56 -0
  753. package/esm2022/core/shared/pipes/locale-date.pipe.mjs +90 -0
  754. package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +51 -0
  755. package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +51 -0
  756. package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +30 -0
  757. package/esm2022/core/shared/pipes/sort.pipe.mjs +34 -0
  758. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +54 -0
  759. package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +18 -0
  760. package/esm2022/core/shared/pipes/time-ago.pipe.mjs +52 -0
  761. package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +33 -0
  762. package/esm2022/core/shared/shared.module.mjs +707 -0
  763. package/esm2022/core/validators/unicode-pattern.validator.mjs +8 -0
  764. package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +39 -0
  765. package/esm2022/customer/components/address-card/address-card.component.mjs +97 -0
  766. package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +28 -0
  767. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +441 -0
  768. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +90 -0
  769. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +46 -0
  770. package/esm2022/customer/components/customer-group-list/customer-group-list-bulk-actions.mjs +9 -0
  771. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +148 -0
  772. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list-bulk-actions.mjs +27 -0
  773. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +91 -0
  774. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +62 -0
  775. package/esm2022/customer/components/customer-history/customer-history.component.mjs +89 -0
  776. package/esm2022/customer/components/customer-list/customer-list-bulk-actions.mjs +9 -0
  777. package/esm2022/customer/components/customer-list/customer-list.component.mjs +108 -0
  778. package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +17 -0
  779. package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +31 -0
  780. package/esm2022/customer/customer.module.mjs +146 -0
  781. package/esm2022/customer/customer.routes.mjs +50 -0
  782. package/esm2022/customer/deenruv-admin-ui-customer.mjs +5 -0
  783. package/esm2022/customer/public_api.mjs +20 -0
  784. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +124 -0
  785. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +32 -0
  786. package/esm2022/dashboard/dashboard.module.mjs +34 -0
  787. package/esm2022/dashboard/dashboard.routes.mjs +9 -0
  788. package/esm2022/dashboard/deenruv-admin-ui-dashboard.mjs +5 -0
  789. package/esm2022/dashboard/default-widgets.mjs +31 -0
  790. package/esm2022/dashboard/public_api.mjs +12 -0
  791. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +73 -0
  792. package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +66 -0
  793. package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +68 -0
  794. package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +22 -0
  795. package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +39 -0
  796. package/esm2022/deenruv-admin-ui.mjs +5 -0
  797. package/esm2022/login/components/login/login.component.mjs +97 -0
  798. package/esm2022/login/deenruv-admin-ui-login.mjs +5 -0
  799. package/esm2022/login/login.module.mjs +21 -0
  800. package/esm2022/login/login.routes.mjs +11 -0
  801. package/esm2022/login/providers/login.guard.mjs +31 -0
  802. package/esm2022/login/public_api.mjs +6 -0
  803. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +269 -0
  804. package/esm2022/marketing/components/promotion-list/promotion-list-bulk-actions.mjs +78 -0
  805. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +128 -0
  806. package/esm2022/marketing/deenruv-admin-ui-marketing.mjs +5 -0
  807. package/esm2022/marketing/marketing.module.mjs +75 -0
  808. package/esm2022/marketing/marketing.routes.mjs +32 -0
  809. package/esm2022/marketing/public_api.mjs +7 -0
  810. package/esm2022/order/common/get-refundable-payments.mjs +19 -0
  811. package/esm2022/order/common/modify-order-types.mjs +2 -0
  812. package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +61 -0
  813. package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +80 -0
  814. package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +62 -0
  815. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +183 -0
  816. package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +59 -0
  817. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +79 -0
  818. package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +48 -0
  819. package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +50 -0
  820. package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +28 -0
  821. package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +62 -0
  822. package/esm2022/order/components/line-refunds/line-refunds.component.mjs +28 -0
  823. package/esm2022/order/components/modification-detail/modification-detail.component.mjs +71 -0
  824. package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +64 -0
  825. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +59 -0
  826. package/esm2022/order/components/order-data-table/order-total-column.component.mjs +20 -0
  827. package/esm2022/order/components/order-detail/order-detail.component.mjs +602 -0
  828. package/esm2022/order/components/order-editor/order-editor.component.mjs +485 -0
  829. package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +93 -0
  830. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +62 -0
  831. package/esm2022/order/components/order-history/order-history.component.mjs +184 -0
  832. package/esm2022/order/components/order-list/order-list.component.mjs +154 -0
  833. package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +76 -0
  834. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +43 -0
  835. package/esm2022/order/components/order-process-graph/constants.mjs +2 -0
  836. package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +45 -0
  837. package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +96 -0
  838. package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +53 -0
  839. package/esm2022/order/components/order-process-graph/types.mjs +2 -0
  840. package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +21 -0
  841. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +28 -0
  842. package/esm2022/order/components/order-table/order-table.component.mjs +96 -0
  843. package/esm2022/order/components/payment-detail/payment-detail.component.mjs +18 -0
  844. package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +24 -0
  845. package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +28 -0
  846. package/esm2022/order/components/refund-detail/refund-detail.component.mjs +18 -0
  847. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +173 -0
  848. package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +27 -0
  849. package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +89 -0
  850. package/esm2022/order/components/select-address-dialog/select-address-dialog.graphql.mjs +14 -0
  851. package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +65 -0
  852. package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +30 -0
  853. package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +39 -0
  854. package/esm2022/order/components/seller-orders-card/seller-orders-card.graphql.mjs +25 -0
  855. package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +24 -0
  856. package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +15 -0
  857. package/esm2022/order/deenruv-admin-ui-order.mjs +5 -0
  858. package/esm2022/order/order.module.mjs +244 -0
  859. package/esm2022/order/order.routes.mjs +56 -0
  860. package/esm2022/order/providers/order-transition.service.mjs +112 -0
  861. package/esm2022/order/providers/routing/order.guard.mjs +57 -0
  862. package/esm2022/order/public_api.mjs +53 -0
  863. package/esm2022/public_api.mjs +5 -0
  864. package/esm2022/react/components/react-custom-column.component.mjs +25 -0
  865. package/esm2022/react/components/react-custom-detail.component.mjs +23 -0
  866. package/esm2022/react/components/react-form-input.component.mjs +24 -0
  867. package/esm2022/react/components/react-route.component.mjs +26 -0
  868. package/esm2022/react/deenruv-admin-ui-react.mjs +5 -0
  869. package/esm2022/react/directives/react-component-host.directive.mjs +54 -0
  870. package/esm2022/react/public_api.mjs +27 -0
  871. package/esm2022/react/react-components/ActionBar.mjs +26 -0
  872. package/esm2022/react/react-components/Card.mjs +28 -0
  873. package/esm2022/react/react-components/CdsIcon.mjs +30 -0
  874. package/esm2022/react/react-components/FormField.mjs +28 -0
  875. package/esm2022/react/react-components/Link.mjs +30 -0
  876. package/esm2022/react/react-components/PageBlock.mjs +24 -0
  877. package/esm2022/react/react-components/PageDetailLayout.mjs +26 -0
  878. package/esm2022/react/react-components/RichTextEditor.mjs +73 -0
  879. package/esm2022/react/react-hooks/use-detail-component-data.mjs +48 -0
  880. package/esm2022/react/react-hooks/use-form-control.mjs +66 -0
  881. package/esm2022/react/react-hooks/use-injector.mjs +33 -0
  882. package/esm2022/react/react-hooks/use-page-metadata.mjs +41 -0
  883. package/esm2022/react/react-hooks/use-query.mjs +198 -0
  884. package/esm2022/react/react-hooks/use-rich-text-editor.mjs +50 -0
  885. package/esm2022/react/react-hooks/use-route-params.mjs +39 -0
  886. package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
  887. package/esm2022/react/register-react-data-table-component.mjs +64 -0
  888. package/esm2022/react/register-react-form-input-component.mjs +27 -0
  889. package/esm2022/react/register-react-route-component.mjs +25 -0
  890. package/esm2022/react/types.mjs +2 -0
  891. package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +57 -0
  892. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +205 -0
  893. package/esm2022/settings/components/administrator-list/administrator-list-bulk-actions.mjs +9 -0
  894. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +120 -0
  895. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +202 -0
  896. package/esm2022/settings/components/channel-list/channel-list-bulk-actions.mjs +16 -0
  897. package/esm2022/settings/components/channel-list/channel-list.component.mjs +81 -0
  898. package/esm2022/settings/components/country-detail/country-detail.component.mjs +126 -0
  899. package/esm2022/settings/components/country-list/country-list-bulk-actions.mjs +10 -0
  900. package/esm2022/settings/components/country-list/country-list.component.mjs +91 -0
  901. package/esm2022/settings/components/global-settings/global-settings.component.mjs +102 -0
  902. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +206 -0
  903. package/esm2022/settings/components/payment-method-list/payment-method-list-bulk-actions.mjs +56 -0
  904. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +99 -0
  905. package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +81 -0
  906. package/esm2022/settings/components/profile/profile.component.mjs +96 -0
  907. package/esm2022/settings/components/role-detail/role-detail.component.mjs +119 -0
  908. package/esm2022/settings/components/role-list/role-list-bulk-actions.mjs +9 -0
  909. package/esm2022/settings/components/role-list/role-list.component.mjs +82 -0
  910. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +119 -0
  911. package/esm2022/settings/components/seller-list/seller-list-bulk-actions.mjs +9 -0
  912. package/esm2022/settings/components/seller-list/seller-list.component.mjs +75 -0
  913. package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +30 -0
  914. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +256 -0
  915. package/esm2022/settings/components/shipping-method-list/shipping-method-list-bulk-actions.mjs +54 -0
  916. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +99 -0
  917. package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +30 -0
  918. package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +137 -0
  919. package/esm2022/settings/components/stock-location-list/stock-location-list-bulk-actions.mjs +68 -0
  920. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +87 -0
  921. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +114 -0
  922. package/esm2022/settings/components/tax-category-list/tax-category-list-bulk-actions.mjs +10 -0
  923. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +69 -0
  924. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +137 -0
  925. package/esm2022/settings/components/tax-rate-list/tax-rate-list-bulk-actions.mjs +10 -0
  926. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +83 -0
  927. package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +48 -0
  928. package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +71 -0
  929. package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +52 -0
  930. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +117 -0
  931. package/esm2022/settings/components/zone-list/zone-list-bulk-actions.mjs +10 -0
  932. package/esm2022/settings/components/zone-list/zone-list.component.mjs +143 -0
  933. package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +16 -0
  934. package/esm2022/settings/components/zone-member-list/zone-member-list-bulk-actions.mjs +26 -0
  935. package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +16 -0
  936. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +95 -0
  937. package/esm2022/settings/deenruv-admin-ui-settings.mjs +5 -0
  938. package/esm2022/settings/providers/routing/profile-resolver.mjs +30 -0
  939. package/esm2022/settings/public_api.mjs +51 -0
  940. package/esm2022/settings/settings.module.mjs +467 -0
  941. package/esm2022/settings/settings.routes.mjs +232 -0
  942. package/esm2022/system/components/health-check/health-check.component.mjs +18 -0
  943. package/esm2022/system/components/job-list/job-list.component.mjs +72 -0
  944. package/esm2022/system/components/job-state-label/job-state-label.component.mjs +46 -0
  945. package/esm2022/system/deenruv-admin-ui-system.mjs +5 -0
  946. package/esm2022/system/public_api.mjs +7 -0
  947. package/esm2022/system/system.module.mjs +22 -0
  948. package/esm2022/system/system.routes.mjs +20 -0
  949. package/fesm2022/deenruv-admin-ui-catalog.mjs +5171 -0
  950. package/fesm2022/deenruv-admin-ui-catalog.mjs.map +1 -0
  951. package/fesm2022/deenruv-admin-ui-core.mjs +22758 -0
  952. package/fesm2022/deenruv-admin-ui-core.mjs.map +1 -0
  953. package/fesm2022/deenruv-admin-ui-customer.mjs +1400 -0
  954. package/fesm2022/deenruv-admin-ui-customer.mjs.map +1 -0
  955. package/fesm2022/deenruv-admin-ui-dashboard.mjs +454 -0
  956. package/fesm2022/deenruv-admin-ui-dashboard.mjs.map +1 -0
  957. package/fesm2022/deenruv-admin-ui-login.mjs +157 -0
  958. package/fesm2022/deenruv-admin-ui-login.mjs.map +1 -0
  959. package/fesm2022/deenruv-admin-ui-marketing.mjs +566 -0
  960. package/fesm2022/deenruv-admin-ui-marketing.mjs.map +1 -0
  961. package/fesm2022/deenruv-admin-ui-order.mjs +3664 -0
  962. package/fesm2022/deenruv-admin-ui-order.mjs.map +1 -0
  963. package/fesm2022/deenruv-admin-ui-react.mjs +999 -0
  964. package/fesm2022/deenruv-admin-ui-react.mjs.map +1 -0
  965. package/fesm2022/deenruv-admin-ui-settings.mjs +4067 -0
  966. package/fesm2022/deenruv-admin-ui-settings.mjs.map +1 -0
  967. package/fesm2022/deenruv-admin-ui-system.mjs +164 -0
  968. package/fesm2022/deenruv-admin-ui-system.mjs.map +1 -0
  969. package/fesm2022/deenruv-admin-ui.mjs +11 -0
  970. package/fesm2022/deenruv-admin-ui.mjs.map +1 -0
  971. package/index.d.ts +5 -0
  972. package/login/components/login/login.component.d.ts +37 -0
  973. package/login/index.d.ts +5 -0
  974. package/login/login.module.d.ts +9 -0
  975. package/login/login.routes.d.ts +2 -0
  976. package/login/providers/login.guard.d.ts +15 -0
  977. package/login/public_api.d.ts +4 -0
  978. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +70 -0
  979. package/marketing/components/promotion-list/promotion-list-bulk-actions.d.ts +6 -0
  980. package/marketing/components/promotion-list/promotion-list.component.d.ts +13 -0
  981. package/marketing/index.d.ts +5 -0
  982. package/marketing/marketing.module.d.ts +14 -0
  983. package/marketing/marketing.routes.d.ts +4 -0
  984. package/marketing/public_api.d.ts +5 -0
  985. package/order/common/get-refundable-payments.d.ts +9 -0
  986. package/order/common/modify-order-types.d.ts +29 -0
  987. package/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +19 -0
  988. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +24 -0
  989. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +22 -0
  990. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +51 -0
  991. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +24 -0
  992. package/order/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +28 -0
  993. package/order/components/fulfillment-card/fulfillment-card.component.d.ts +12 -0
  994. package/order/components/fulfillment-detail/fulfillment-detail.component.d.ts +23 -0
  995. package/order/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +7 -0
  996. package/order/components/line-fulfillment/line-fulfillment.component.d.ts +26 -0
  997. package/order/components/line-refunds/line-refunds.component.d.ts +9 -0
  998. package/order/components/modification-detail/modification-detail.component.d.ts +34 -0
  999. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +21 -0
  1000. package/order/components/order-data-table/order-data-table.component.d.ts +15 -0
  1001. package/order/components/order-data-table/order-total-column.component.d.ts +7 -0
  1002. package/order/components/order-detail/order-detail.component.d.ts +68 -0
  1003. package/order/components/order-editor/order-editor.component.d.ts +99 -0
  1004. package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +51 -0
  1005. package/order/components/order-history/order-history-entry-host.component.d.ts +18 -0
  1006. package/order/components/order-history/order-history.component.d.ts +92 -0
  1007. package/order/components/order-list/order-list.component.d.ts +21 -0
  1008. package/order/components/order-modification-summary/order-modification-summary.component.d.ts +19 -0
  1009. package/order/components/order-payment-card/order-payment-card.component.d.ts +67 -0
  1010. package/order/components/order-process-graph/constants.d.ts +1 -0
  1011. package/order/components/order-process-graph/order-process-edge.component.d.ts +21 -0
  1012. package/order/components/order-process-graph/order-process-graph.component.d.ts +32 -0
  1013. package/order/components/order-process-graph/order-process-node.component.d.ts +26 -0
  1014. package/order/components/order-process-graph/types.d.ts +4 -0
  1015. package/order/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +13 -0
  1016. package/order/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +13 -0
  1017. package/order/components/order-table/order-table.component.d.ts +43 -0
  1018. package/order/components/payment-detail/payment-detail.component.d.ts +8 -0
  1019. package/order/components/payment-for-refund-selector/payment-for-refund-selector.component.d.ts +14 -0
  1020. package/order/components/payment-state-label/payment-state-label.component.d.ts +7 -0
  1021. package/order/components/refund-detail/refund-detail.component.d.ts +8 -0
  1022. package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +46 -0
  1023. package/order/components/refund-state-label/refund-state-label.component.d.ts +7 -0
  1024. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +27 -0
  1025. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  1026. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +32 -0
  1027. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +18 -0
  1028. package/order/components/seller-orders-card/seller-orders-card.component.d.ts +24 -0
  1029. package/order/components/seller-orders-card/seller-orders-card.graphql.d.ts +1 -0
  1030. package/order/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +11 -0
  1031. package/order/components/simple-item-list/simple-item-list.component.d.ts +9 -0
  1032. package/order/index.d.ts +5 -0
  1033. package/order/order.module.d.ts +52 -0
  1034. package/order/order.routes.d.ts +3 -0
  1035. package/order/providers/order-transition.service.d.ts +32 -0
  1036. package/order/providers/routing/order.guard.d.ts +13 -0
  1037. package/order/public_api.d.ts +51 -0
  1038. package/package.json +133 -0
  1039. package/public_api.d.ts +4 -0
  1040. package/react/components/react-custom-column.component.d.ts +17 -0
  1041. package/react/components/react-custom-detail.component.d.ts +24 -0
  1042. package/react/components/react-form-input.component.d.ts +20 -0
  1043. package/react/components/react-route.component.d.ts +10 -0
  1044. package/react/directives/react-component-host.directive.d.ts +23 -0
  1045. package/react/index.d.ts +5 -0
  1046. package/react/public_api.d.ts +25 -0
  1047. package/react/react-components/ActionBar.d.ts +23 -0
  1048. package/react/react-components/Card.d.ts +24 -0
  1049. package/react/react-components/CdsIcon.d.ts +45 -0
  1050. package/react/react-components/FormField.d.ts +27 -0
  1051. package/react/react-components/Link.d.ts +22 -0
  1052. package/react/react-components/PageBlock.d.ts +21 -0
  1053. package/react/react-components/PageDetailLayout.d.ts +23 -0
  1054. package/react/react-components/RichTextEditor.d.ts +62 -0
  1055. package/react/react-hooks/use-detail-component-data.d.ts +32 -0
  1056. package/react/react-hooks/use-form-control.d.ts +29 -0
  1057. package/react/react-hooks/use-injector.d.ts +24 -0
  1058. package/react/react-hooks/use-page-metadata.d.ts +30 -0
  1059. package/react/react-hooks/use-query.d.ts +163 -0
  1060. package/react/react-hooks/use-rich-text-editor.d.ts +37 -0
  1061. package/react/react-hooks/use-route-params.d.ts +22 -0
  1062. package/react/register-react-custom-detail-component.d.ts +38 -0
  1063. package/react/register-react-data-table-component.d.ts +83 -0
  1064. package/react/register-react-form-input-component.d.ts +9 -0
  1065. package/react/register-react-route-component.d.ts +32 -0
  1066. package/react/types.d.ts +17 -0
  1067. package/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +20 -0
  1068. package/settings/components/admin-detail/admin-detail.component.d.ts +64 -0
  1069. package/settings/components/administrator-list/administrator-list-bulk-actions.d.ts +1 -0
  1070. package/settings/components/administrator-list/administrator-list.component.d.ts +29 -0
  1071. package/settings/components/channel-detail/channel-detail.component.d.ts +46 -0
  1072. package/settings/components/channel-list/channel-list-bulk-actions.d.ts +1 -0
  1073. package/settings/components/channel-list/channel-list.component.d.ts +13 -0
  1074. package/settings/components/country-detail/country-detail.component.d.ts +29 -0
  1075. package/settings/components/country-list/country-list-bulk-actions.d.ts +1 -0
  1076. package/settings/components/country-list/country-list.component.d.ts +11 -0
  1077. package/settings/components/global-settings/global-settings.component.d.ts +29 -0
  1078. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +64 -0
  1079. package/settings/components/payment-method-list/payment-method-list-bulk-actions.d.ts +3 -0
  1080. package/settings/components/payment-method-list/payment-method-list.component.d.ts +11 -0
  1081. package/settings/components/permission-grid/permission-grid.component.d.ts +28 -0
  1082. package/settings/components/profile/profile.component.d.ts +28 -0
  1083. package/settings/components/role-detail/role-detail.component.d.ts +31 -0
  1084. package/settings/components/role-list/role-list-bulk-actions.d.ts +1 -0
  1085. package/settings/components/role-list/role-list.component.d.ts +17 -0
  1086. package/settings/components/seller-detail/seller-detail.component.d.ts +31 -0
  1087. package/settings/components/seller-list/seller-list-bulk-actions.d.ts +1 -0
  1088. package/settings/components/seller-list/seller-list.component.d.ts +11 -0
  1089. package/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +12 -0
  1090. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +76 -0
  1091. package/settings/components/shipping-method-list/shipping-method-list-bulk-actions.d.ts +3 -0
  1092. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +12 -0
  1093. package/settings/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +12 -0
  1094. package/settings/components/stock-location-detail/stock-location-detail.component.d.ts +32 -0
  1095. package/settings/components/stock-location-list/stock-location-list-bulk-actions.d.ts +3 -0
  1096. package/settings/components/stock-location-list/stock-location-list.component.d.ts +12 -0
  1097. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +32 -0
  1098. package/settings/components/tax-category-list/tax-category-list-bulk-actions.d.ts +1 -0
  1099. package/settings/components/tax-category-list/tax-category-list.component.d.ts +11 -0
  1100. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +39 -0
  1101. package/settings/components/tax-rate-list/tax-rate-list-bulk-actions.d.ts +1 -0
  1102. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +11 -0
  1103. package/settings/components/test-address-form/test-address-form.component.d.ts +25 -0
  1104. package/settings/components/test-order-builder/test-order-builder.component.d.ts +31 -0
  1105. package/settings/components/test-shipping-methods/test-shipping-methods.component.d.ts +23 -0
  1106. package/settings/components/zone-detail/zone-detail.component.d.ts +31 -0
  1107. package/settings/components/zone-list/zone-list-bulk-actions.d.ts +1 -0
  1108. package/settings/components/zone-list/zone-list.component.d.ts +26 -0
  1109. package/settings/components/zone-member-list/zone-member-controls.directive.d.ts +8 -0
  1110. package/settings/components/zone-member-list/zone-member-list-bulk-actions.d.ts +3 -0
  1111. package/settings/components/zone-member-list/zone-member-list-header.directive.d.ts +8 -0
  1112. package/settings/components/zone-member-list/zone-member-list.component.d.ts +40 -0
  1113. package/settings/index.d.ts +5 -0
  1114. package/settings/providers/routing/profile-resolver.d.ts +8 -0
  1115. package/settings/public_api.d.ts +49 -0
  1116. package/settings/settings.module.d.ts +45 -0
  1117. package/settings/settings.routes.d.ts +3 -0
  1118. package/static/assets/.gitkeep +0 -0
  1119. package/static/assets/logo-login.webp +0 -0
  1120. package/static/assets/logo-top.webp +0 -0
  1121. package/static/deenruv-ui-config.json +290 -0
  1122. package/static/favicon.ico +0 -0
  1123. package/static/fonts/fonts.scss +253 -0
  1124. package/static/fonts/inter-cyrillic-ext.woff2 +0 -0
  1125. package/static/fonts/inter-cyrillic.woff2 +0 -0
  1126. package/static/fonts/inter-greek-ext.woff2 +0 -0
  1127. package/static/fonts/inter-greek.woff2 +0 -0
  1128. package/static/fonts/inter-latin-ext.woff2 +0 -0
  1129. package/static/fonts/inter-latin.woff2 +0 -0
  1130. package/static/fonts/inter-vietnamese.woff2 +0 -0
  1131. package/static/i18n-messages/ar.json +814 -0
  1132. package/static/i18n-messages/cs.json +814 -0
  1133. package/static/i18n-messages/de.json +814 -0
  1134. package/static/i18n-messages/en.json +814 -0
  1135. package/static/i18n-messages/es.json +814 -0
  1136. package/static/i18n-messages/fa.json +814 -0
  1137. package/static/i18n-messages/fr.json +814 -0
  1138. package/static/i18n-messages/he.json +814 -0
  1139. package/static/i18n-messages/hr.json +814 -0
  1140. package/static/i18n-messages/it.json +814 -0
  1141. package/static/i18n-messages/nb.json +812 -0
  1142. package/static/i18n-messages/ne.json +814 -0
  1143. package/static/i18n-messages/pl.json +814 -0
  1144. package/static/i18n-messages/pt_BR.json +814 -0
  1145. package/static/i18n-messages/pt_PT.json +814 -0
  1146. package/static/i18n-messages/ru.json +814 -0
  1147. package/static/i18n-messages/sv.json +807 -0
  1148. package/static/i18n-messages/uk.json +814 -0
  1149. package/static/i18n-messages/zh_Hans.json +814 -0
  1150. package/static/i18n-messages/zh_Hant.json +814 -0
  1151. package/static/index.html +14 -0
  1152. package/static/polyfills.ts +66 -0
  1153. package/static/styles/_mixins.scss +60 -0
  1154. package/static/styles/_variables.scss +11 -0
  1155. package/static/styles/component/prosemirror.scss +511 -0
  1156. package/static/styles/global/_buttons.scss +147 -0
  1157. package/static/styles/global/_clarity.scss +140 -0
  1158. package/static/styles/global/_forms.scss +187 -0
  1159. package/static/styles/global/_global.scss +41 -0
  1160. package/static/styles/global/_overrides.scss +165 -0
  1161. package/static/styles/global/_sass-overrides.scss +8 -0
  1162. package/static/styles/global/_utilities.scss +155 -0
  1163. package/static/styles/rtl.scss +143 -0
  1164. package/static/styles/styles.scss +19 -0
  1165. package/static/styles/theme/dark.scss +591 -0
  1166. package/static/styles/theme/default.scss +254 -0
  1167. package/static/styles/ui-extension-theme.scss +13 -0
  1168. package/static/theme.min.css +1 -0
  1169. package/system/components/health-check/health-check.component.d.ts +8 -0
  1170. package/system/components/job-list/job-list.component.d.ts +19 -0
  1171. package/system/components/job-state-label/job-state-label.component.d.ts +9 -0
  1172. package/system/index.d.ts +5 -0
  1173. package/system/public_api.d.ts +5 -0
  1174. package/system/system.module.d.ts +11 -0
  1175. package/system/system.routes.d.ts +2 -0
@@ -0,0 +1,298 @@
1
+ import { Directive } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import { of } from 'rxjs';
4
+ import { map, startWith } from 'rxjs/operators';
5
+ import { Permission } from '../../common/generated-types';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "../../providers/nav-builder/nav-builder.service";
9
+ import * as i3 from "../../providers/health-check/health-check.service";
10
+ import * as i4 from "../../providers/job-queue/job-queue.service";
11
+ import * as i5 from "../../data/providers/data.service";
12
+ import * as i6 from "../../providers/notification/notification.service";
13
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
14
+ export class BaseNavComponent {
15
+ constructor(route, router, navBuilderService, healthCheckService, jobQueueService, dataService, notificationService, injector) {
16
+ this.route = route;
17
+ this.router = router;
18
+ this.navBuilderService = navBuilderService;
19
+ this.healthCheckService = healthCheckService;
20
+ this.jobQueueService = jobQueueService;
21
+ this.dataService = dataService;
22
+ this.notificationService = notificationService;
23
+ this.injector = injector;
24
+ }
25
+ shouldDisplayLink(menuItem) {
26
+ if (!this.userPermissions) {
27
+ return false;
28
+ }
29
+ if (!menuItem.requiresPermission) {
30
+ return true;
31
+ }
32
+ if (typeof menuItem.requiresPermission === 'string') {
33
+ return this.userPermissions.includes(menuItem.requiresPermission);
34
+ }
35
+ if (typeof menuItem.requiresPermission === 'function') {
36
+ return menuItem.requiresPermission(this.userPermissions);
37
+ }
38
+ }
39
+ ngOnInit() {
40
+ this.defineNavMenu();
41
+ this.subscription = this.dataService.client
42
+ .userStatus()
43
+ .mapStream(({ userStatus }) => {
44
+ this.userPermissions = userStatus.permissions;
45
+ })
46
+ .subscribe();
47
+ }
48
+ ngOnDestroy() {
49
+ if (this.subscription) {
50
+ this.subscription.unsubscribe();
51
+ }
52
+ }
53
+ getRouterLink(item) {
54
+ return this.navBuilderService.getRouterLink({ routerLink: item.routerLink, context: this.createContext() }, this.route);
55
+ }
56
+ defineNavMenu() {
57
+ function allow(...permissions) {
58
+ return userPermissions => {
59
+ for (const permission of permissions) {
60
+ if (userPermissions.includes(permission)) {
61
+ return true;
62
+ }
63
+ }
64
+ return false;
65
+ };
66
+ }
67
+ this.navBuilderService.defineNavMenuSections([
68
+ {
69
+ requiresPermission: allow(Permission.ReadCatalog, Permission.ReadProduct, Permission.ReadFacet, Permission.ReadCollection, Permission.ReadAsset),
70
+ id: 'catalog',
71
+ label: _('nav.catalog'),
72
+ items: [
73
+ {
74
+ requiresPermission: allow(Permission.ReadCatalog, Permission.ReadProduct),
75
+ id: 'products',
76
+ label: _('nav.products'),
77
+ icon: 'library',
78
+ routerLink: ['/catalog', 'products'],
79
+ },
80
+ {
81
+ requiresPermission: allow(Permission.ReadCatalog, Permission.ReadFacet),
82
+ id: 'facets',
83
+ label: _('nav.facets'),
84
+ icon: 'tag',
85
+ routerLink: ['/catalog', 'facets'],
86
+ },
87
+ {
88
+ requiresPermission: allow(Permission.ReadCatalog, Permission.ReadCollection),
89
+ id: 'collections',
90
+ label: _('nav.collections'),
91
+ icon: 'folder-open',
92
+ routerLink: ['/catalog', 'collections'],
93
+ },
94
+ {
95
+ requiresPermission: allow(Permission.ReadCatalog, Permission.ReadAsset),
96
+ id: 'assets',
97
+ label: _('nav.assets'),
98
+ icon: 'image-gallery',
99
+ routerLink: ['/catalog', 'assets'],
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ id: 'sales',
105
+ label: _('nav.sales'),
106
+ requiresPermission: allow(Permission.ReadOrder),
107
+ items: [
108
+ {
109
+ requiresPermission: allow(Permission.ReadOrder),
110
+ id: 'orders',
111
+ label: _('nav.orders'),
112
+ routerLink: ['/orders'],
113
+ icon: 'shopping-cart',
114
+ },
115
+ ],
116
+ },
117
+ {
118
+ id: 'customers',
119
+ label: _('nav.customers'),
120
+ requiresPermission: allow(Permission.ReadCustomer, Permission.ReadCustomerGroup),
121
+ items: [
122
+ {
123
+ requiresPermission: allow(Permission.ReadCustomer),
124
+ id: 'customers',
125
+ label: _('nav.customers'),
126
+ routerLink: ['/customer', 'customers'],
127
+ icon: 'user',
128
+ },
129
+ {
130
+ requiresPermission: allow(Permission.ReadCustomerGroup),
131
+ id: 'customer-groups',
132
+ label: _('nav.customer-groups'),
133
+ routerLink: ['/customer', 'groups'],
134
+ icon: 'users',
135
+ },
136
+ ],
137
+ },
138
+ {
139
+ id: 'marketing',
140
+ label: _('nav.marketing'),
141
+ requiresPermission: allow(Permission.ReadPromotion),
142
+ items: [
143
+ {
144
+ requiresPermission: allow(Permission.ReadPromotion),
145
+ id: 'promotions',
146
+ label: _('nav.promotions'),
147
+ routerLink: ['/marketing', 'promotions'],
148
+ icon: 'asterisk',
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ id: 'settings',
154
+ label: _('nav.settings'),
155
+ icon: 'cog',
156
+ displayMode: 'settings',
157
+ requiresPermission: allow(Permission.ReadSettings, Permission.ReadChannel, Permission.ReadAdministrator, Permission.ReadShippingMethod, Permission.ReadPaymentMethod, Permission.ReadTaxCategory, Permission.ReadTaxRate, Permission.ReadCountry, Permission.ReadZone, Permission.UpdateGlobalSettings),
158
+ collapsible: true,
159
+ collapsedByDefault: true,
160
+ items: [
161
+ {
162
+ requiresPermission: allow(Permission.ReadSeller),
163
+ id: 'sellers',
164
+ label: _('nav.sellers'),
165
+ routerLink: ['/settings', 'sellers'],
166
+ icon: 'store',
167
+ },
168
+ {
169
+ requiresPermission: allow(Permission.ReadChannel),
170
+ id: 'channels',
171
+ label: _('nav.channels'),
172
+ routerLink: ['/settings', 'channels'],
173
+ icon: 'layers',
174
+ },
175
+ {
176
+ requiresPermission: allow(Permission.ReadStockLocation),
177
+ id: 'stock-locations',
178
+ label: _('nav.stock-locations'),
179
+ icon: 'map-marker',
180
+ routerLink: ['/settings', 'stock-locations'],
181
+ },
182
+ {
183
+ requiresPermission: allow(Permission.ReadAdministrator),
184
+ id: 'administrators',
185
+ label: _('nav.administrators'),
186
+ routerLink: ['/settings', 'administrators'],
187
+ icon: 'administrator',
188
+ },
189
+ {
190
+ requiresPermission: allow(Permission.ReadAdministrator),
191
+ id: 'roles',
192
+ label: _('nav.roles'),
193
+ routerLink: ['/settings', 'roles'],
194
+ icon: 'users',
195
+ },
196
+ {
197
+ requiresPermission: allow(Permission.ReadShippingMethod),
198
+ id: 'shipping-methods',
199
+ label: _('nav.shipping-methods'),
200
+ routerLink: ['/settings', 'shipping-methods'],
201
+ icon: 'truck',
202
+ },
203
+ {
204
+ requiresPermission: allow(Permission.ReadPaymentMethod),
205
+ id: 'payment-methods',
206
+ label: _('nav.payment-methods'),
207
+ routerLink: ['/settings', 'payment-methods'],
208
+ icon: 'credit-card',
209
+ },
210
+ {
211
+ requiresPermission: allow(Permission.ReadTaxCategory),
212
+ id: 'tax-categories',
213
+ label: _('nav.tax-categories'),
214
+ routerLink: ['/settings', 'tax-categories'],
215
+ icon: 'view-list',
216
+ },
217
+ {
218
+ requiresPermission: allow(Permission.ReadTaxRate),
219
+ id: 'tax-rates',
220
+ label: _('nav.tax-rates'),
221
+ routerLink: ['/settings', 'tax-rates'],
222
+ icon: 'calculator',
223
+ },
224
+ {
225
+ requiresPermission: allow(Permission.ReadCountry),
226
+ id: 'countries',
227
+ label: _('nav.countries'),
228
+ routerLink: ['/settings', 'countries'],
229
+ icon: 'flag',
230
+ },
231
+ {
232
+ requiresPermission: allow(Permission.ReadZone),
233
+ id: 'zones',
234
+ label: _('nav.zones'),
235
+ routerLink: ['/settings', 'zones'],
236
+ icon: 'world',
237
+ },
238
+ {
239
+ requiresPermission: allow(Permission.UpdateGlobalSettings),
240
+ id: 'global-settings',
241
+ label: _('nav.global-settings'),
242
+ routerLink: ['/settings', 'global-settings'],
243
+ icon: 'cog',
244
+ },
245
+ ],
246
+ },
247
+ {
248
+ id: 'system',
249
+ label: _('nav.system'),
250
+ icon: 'computer',
251
+ displayMode: 'settings',
252
+ requiresPermission: Permission.ReadSystem,
253
+ collapsible: true,
254
+ collapsedByDefault: true,
255
+ items: [
256
+ {
257
+ id: 'job-queue',
258
+ label: _('nav.job-queue'),
259
+ routerLink: ['/system', 'jobs'],
260
+ icon: 'tick-chart',
261
+ statusBadge: this.jobQueueService.activeJobs$.pipe(startWith([]), map(jobs => ({
262
+ type: jobs.length === 0 ? 'none' : 'info',
263
+ propagateToSection: jobs.length > 0,
264
+ }))),
265
+ },
266
+ {
267
+ id: 'system-status',
268
+ label: _('nav.system-status'),
269
+ routerLink: ['/system', 'system-status'],
270
+ icon: 'rack-server',
271
+ statusBadge: this.healthCheckService.status$.pipe(map(status => ({
272
+ type: status === 'ok' ? 'success' : 'error',
273
+ propagateToSection: status === 'error',
274
+ }))),
275
+ },
276
+ ],
277
+ },
278
+ ]);
279
+ }
280
+ createContext() {
281
+ return {
282
+ route: this.route,
283
+ injector: this.injector,
284
+ dataService: this.dataService,
285
+ notificationService: this.notificationService,
286
+ entity$: of(undefined),
287
+ };
288
+ }
289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNavComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.NavBuilderService }, { token: i3.HealthCheckService }, { token: i4.JobQueueService }, { token: i5.DataService }, { token: i6.NotificationService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
290
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaseNavComponent, selector: "[vdrBaseNav]", ngImport: i0 }); }
291
+ }
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNavComponent, decorators: [{
293
+ type: Directive,
294
+ args: [{
295
+ selector: '[vdrBaseNav]',
296
+ }]
297
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.NavBuilderService }, { type: i3.HealthCheckService }, { type: i4.JobQueueService }, { type: i5.DataService }, { type: i6.NotificationService }, { type: i0.Injector }] });
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21wb25lbnRzL2Jhc2UtbmF2L2Jhc2UtbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQVcxRCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUNjLEtBQXFCLEVBQ3JCLE1BQWMsRUFDakIsaUJBQW9DLEVBQ2pDLGtCQUFzQyxFQUN0QyxlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixtQkFBd0MsRUFDeEMsUUFBa0I7UUFQbEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM3QixDQUFDO0lBS0osaUJBQWlCLENBQUMsUUFBaUQ7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxDQUFD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Q0FBQztTQUN6QixDQUFDO0lBQ04sQ0FBQzsrR0F4VFEsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xuaW1wb3J0IHsgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEhlYWx0aENoZWNrU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9oZWFsdGgtY2hlY2svaGVhbHRoLWNoZWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgSm9iUXVldWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2pvYi1xdWV1ZS9qb2ItcXVldWUuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25CYXJDb250ZXh0LCBOYXZNZW51QmFkZ2UsIE5hdk1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL25hdi1idWlsZGVyL25hdi1idWlsZGVyLXR5cGVzJztcbmltcG9ydCB7IE5hdkJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL25hdi1idWlsZGVyL25hdi1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t2ZHJCYXNlTmF2XScsXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgQmFzZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwdWJsaWMgbmF2QnVpbGRlclNlcnZpY2U6IE5hdkJ1aWxkZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgaGVhbHRoQ2hlY2tTZXJ2aWNlOiBIZWFsdGhDaGVja1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBqb2JRdWV1ZVNlcnZpY2U6IEpvYlF1ZXVlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSB1c2VyUGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBzaG91bGREaXNwbGF5TGluayhtZW51SXRlbTogUGljazxOYXZNZW51SXRlbSwgJ3JlcXVpcmVzUGVybWlzc2lvbic+KSB7XG4gICAgICAgIGlmICghdGhpcy51c2VyUGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW1lbnVJdGVtLnJlcXVpcmVzUGVybWlzc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBtZW51SXRlbS5yZXF1aXJlc1Blcm1pc3Npb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMobWVudUl0ZW0ucmVxdWlyZXNQZXJtaXNzaW9uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG1lbnVJdGVtLnJlcXVpcmVzUGVybWlzc2lvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIG1lbnVJdGVtLnJlcXVpcmVzUGVybWlzc2lvbih0aGlzLnVzZXJQZXJtaXNzaW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWZpbmVOYXZNZW51KCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcbiAgICAgICAgICAgIC51c2VyU3RhdHVzKClcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdXNlclN0YXR1cyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyUGVybWlzc2lvbnMgPSB1c2VyU3RhdHVzLnBlcm1pc3Npb25zO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Um91dGVyTGluayhpdGVtOiBOYXZNZW51SXRlbSkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZCdWlsZGVyU2VydmljZS5nZXRSb3V0ZXJMaW5rKFxuICAgICAgICAgICAgeyByb3V0ZXJMaW5rOiBpdGVtLnJvdXRlckxpbmssIGNvbnRleHQ6IHRoaXMuY3JlYXRlQ29udGV4dCgpIH0sXG4gICAgICAgICAgICB0aGlzLnJvdXRlLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVmaW5lTmF2TWVudSgpIHtcbiAgICAgICAgZnVuY3Rpb24gYWxsb3coLi4ucGVybWlzc2lvbnM6IHN0cmluZ1tdKTogKHVzZXJQZXJtaXNzaW9uczogc3RyaW5nW10pID0+IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIHVzZXJQZXJtaXNzaW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdkJ1aWxkZXJTZXJ2aWNlLmRlZmluZU5hdk1lbnVTZWN0aW9ucyhbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkQ2F0YWxvZyxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkUHJvZHVjdCxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkRmFjZXQsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZENvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZEFzc2V0LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgaWQ6ICdjYXRhbG9nJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmNhdGFsb2cnKSxcbiAgICAgICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZENhdGFsb2csIFBlcm1pc3Npb24uUmVhZFByb2R1Y3QpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdwcm9kdWN0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnByb2R1Y3RzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnbGlicmFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9jYXRhbG9nJywgJ3Byb2R1Y3RzJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ2F0YWxvZywgUGVybWlzc2lvbi5SZWFkRmFjZXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdmYWNldHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5mYWNldHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICd0YWcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvY2F0YWxvZycsICdmYWNldHMnXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDYXRhbG9nLCBQZXJtaXNzaW9uLlJlYWRDb2xsZWN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnY29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jb2xsZWN0aW9ucycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZvbGRlci1vcGVuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2NhdGFsb2cnLCAnY29sbGVjdGlvbnMnXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDYXRhbG9nLCBQZXJtaXNzaW9uLlJlYWRBc3NldCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2Fzc2V0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmFzc2V0cycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ltYWdlLWdhbGxlcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvY2F0YWxvZycsICdhc3NldHMnXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ3NhbGVzJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnNhbGVzJyksXG4gICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRPcmRlciksXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRPcmRlciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ29yZGVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2Lm9yZGVycycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvb3JkZXJzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnc2hvcHBpbmctY2FydCcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6ICdjdXN0b21lcnMnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuY3VzdG9tZXJzJyksXG4gICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDdXN0b21lciwgUGVybWlzc2lvbi5SZWFkQ3VzdG9tZXJHcm91cCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlJlYWRDdXN0b21lciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2N1c3RvbWVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmN1c3RvbWVycycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvY3VzdG9tZXInLCAnY3VzdG9tZXJzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndXNlcicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQ3VzdG9tZXJHcm91cCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2N1c3RvbWVyLWdyb3VwcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmN1c3RvbWVyLWdyb3VwcycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvY3VzdG9tZXInLCAnZ3JvdXBzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndXNlcnMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnbWFya2V0aW5nJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2Lm1hcmtldGluZycpLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkUHJvbW90aW9uKSxcbiAgICAgICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFByb21vdGlvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3Byb21vdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5wcm9tb3Rpb25zJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9tYXJrZXRpbmcnLCAncHJvbW90aW9ucyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2FzdGVyaXNrJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogJ3NldHRpbmdzJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnNldHRpbmdzJyksXG4gICAgICAgICAgICAgICAgaWNvbjogJ2NvZycsXG4gICAgICAgICAgICAgICAgZGlzcGxheU1vZGU6ICdzZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkU2V0dGluZ3MsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZENoYW5uZWwsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZEFkbWluaXN0cmF0b3IsXG4gICAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uUmVhZFNoaXBwaW5nTWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRQYXltZW50TWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICBQZXJtaXNzaW9uLlJlYWRUYXhDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkVGF4UmF0ZSxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkQ291bnRyeSxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5SZWFkWm9uZSxcbiAgICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5VcGRhdGVHbG9iYWxTZXR0aW5ncyxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbGxhcHNlZEJ5RGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFNlbGxlciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3NlbGxlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5zZWxsZXJzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdzZWxsZXJzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnc3RvcmUnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZENoYW5uZWwpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdjaGFubmVscycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LmNoYW5uZWxzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdjaGFubmVscyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2xheWVycycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkU3RvY2tMb2NhdGlvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3N0b2NrLWxvY2F0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnN0b2NrLWxvY2F0aW9ucycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ21hcC1tYXJrZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAnc3RvY2stbG9jYXRpb25zJ10sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQWRtaW5pc3RyYXRvciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2FkbWluaXN0cmF0b3JzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuYWRtaW5pc3RyYXRvcnMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ2FkbWluaXN0cmF0b3JzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnYWRtaW5pc3RyYXRvcicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkQWRtaW5pc3RyYXRvciksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3JvbGVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYucm9sZXMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3JvbGVzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAndXNlcnMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFNoaXBwaW5nTWV0aG9kKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnc2hpcHBpbmctbWV0aG9kcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnNoaXBwaW5nLW1ldGhvZHMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3NoaXBwaW5nLW1ldGhvZHMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICd0cnVjaycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzUGVybWlzc2lvbjogYWxsb3coUGVybWlzc2lvbi5SZWFkUGF5bWVudE1ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ3BheW1lbnQtbWV0aG9kcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnBheW1lbnQtbWV0aG9kcycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAncGF5bWVudC1tZXRob2RzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnY3JlZGl0LWNhcmQnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFRheENhdGVnb3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAndGF4LWNhdGVnb3JpZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi50YXgtY2F0ZWdvcmllcycpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogWycvc2V0dGluZ3MnLCAndGF4LWNhdGVnb3JpZXMnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICd2aWV3LWxpc3QnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFRheFJhdGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICd0YXgtcmF0ZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi50YXgtcmF0ZXMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ3RheC1yYXRlcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2NhbGN1bGF0b3InLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZENvdW50cnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdjb3VudHJpZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IF8oJ25hdi5jb3VudHJpZXMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3NldHRpbmdzJywgJ2NvdW50cmllcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZsYWcnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlc1Blcm1pc3Npb246IGFsbG93KFBlcm1pc3Npb24uUmVhZFpvbmUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICd6b25lcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnpvbmVzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICd6b25lcyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3dvcmxkJyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBhbGxvdyhQZXJtaXNzaW9uLlVwZGF0ZUdsb2JhbFNldHRpbmdzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnZ2xvYmFsLXNldHRpbmdzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuZ2xvYmFsLXNldHRpbmdzJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zZXR0aW5ncycsICdnbG9iYWwtc2V0dGluZ3MnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdjb2cnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiAnc3lzdGVtJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnN5c3RlbScpLFxuICAgICAgICAgICAgICAgIGljb246ICdjb21wdXRlcicsXG4gICAgICAgICAgICAgICAgZGlzcGxheU1vZGU6ICdzZXR0aW5ncycsXG4gICAgICAgICAgICAgICAgcmVxdWlyZXNQZXJtaXNzaW9uOiBQZXJtaXNzaW9uLlJlYWRTeXN0ZW0sXG4gICAgICAgICAgICAgICAgY29sbGFwc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sbGFwc2VkQnlEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnam9iLXF1ZXVlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBfKCduYXYuam9iLXF1ZXVlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9zeXN0ZW0nLCAnam9icyddLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ3RpY2stY2hhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQmFkZ2U6IHRoaXMuam9iUXVldWVTZXJ2aWNlLmFjdGl2ZUpvYnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFtdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvYnMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogam9icy5sZW5ndGggPT09IDAgPyAnbm9uZScgOiAnaW5mbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlVG9TZWN0aW9uOiBqb2JzLmxlbmd0aCA+IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGFzIE5hdk1lbnVCYWRnZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnc3lzdGVtLXN0YXR1cycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXygnbmF2LnN5c3RlbS1zdGF0dXMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL3N5c3RlbScsICdzeXN0ZW0tc3RhdHVzJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAncmFjay1zZXJ2ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQmFkZ2U6IHRoaXMuaGVhbHRoQ2hlY2tTZXJ2aWNlLnN0YXR1cyQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoc3RhdHVzID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHN0YXR1cyA9PT0gJ29rJyA/ICdzdWNjZXNzJyA6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BhZ2F0ZVRvU2VjdGlvbjogc3RhdHVzID09PSAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ29udGV4dCgpOiBBY3Rpb25CYXJDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxuICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBkYXRhU2VydmljZTogdGhpcy5kYXRhU2VydmljZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IHRoaXMubm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgIGVudGl0eSQ6IG9mKHVuZGVmaW5lZCksXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../providers/breadcrumb/breadcrumb.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@clr/angular";
8
+ import * as i4 from "@angular/router";
9
+ import * as i5 from "@ngx-translate/core";
10
+ /**
11
+ * A breadcrumbs component which reads the route config and any route that has a `data.breadcrumb` property will
12
+ * be displayed in the breadcrumb trail.
13
+ *
14
+ * The `breadcrumb` property can be a string or a function. If a function, it will be passed the route's `data`
15
+ * object (which will include all resolved keys) and any route params, and should return a BreadcrumbValue.
16
+ *
17
+ * See the test config to get an idea of allowable configs for breadcrumbs.
18
+ */
19
+ export class BreadcrumbComponent {
20
+ constructor(breadcrumbService) {
21
+ this.breadcrumbService = breadcrumbService;
22
+ this.destroy$ = new Subject();
23
+ this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;
24
+ this.parentBreadcrumb$ = this.breadcrumbService.breadcrumbs$.pipe(map(breadcrumbs => (1 < breadcrumbs.length ? breadcrumbs[breadcrumbs.length - 2] : undefined)));
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BreadcrumbComponent, selector: "vdr-breadcrumb", ngImport: i0, template: "<nav role=\"navigation\">\n <ul class=\"breadcrumbs\">\n <li\n *ngFor=\"let breadcrumb of breadcrumbs$ | async; let isLast = last\"\n [title]=\"breadcrumb.label | translate\"\n >\n <a [routerLink]=\"breadcrumb.link\" *ngIf=\"!isLast\">{{ breadcrumb.label | translate }}</a>\n <ng-container *ngIf=\"!isLast\"\n ><clr-icon shape=\"caret right\" class=\"color-weight-400 mx-1\"></clr-icon\n ></ng-container>\n <ng-container *ngIf=\"isLast\">{{ breadcrumb.label | translate }}</ng-container>\n </li>\n </ul>\n <ul class=\"breadcrumbs mobile\" *ngIf=\"parentBreadcrumb$ | async as parentBreadcrumb\">\n <li>\n <clr-icon shape=\"caret left\" class=\"color-weight-400 mr-1\"></clr-icon>\n <a [routerLink]=\"parentBreadcrumb.link\">{{ parentBreadcrumb.label | translate }}</a>\n </li>\n </ul>\n</nav>\n", styles: [":host{display:block;padding:0;position:relative}.breadcrumbs{list-style-type:none;display:flex;flex-wrap:wrap;align-items:center;overflow-x:auto;max-width:100vw;line-height:100%;min-height:40px;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2.5);font-size:var(--font-size-sm);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg)}.breadcrumbs li{display:inline-flex;white-space:nowrap;line-height:14px;max-width:300px;overflow:hidden;text-overflow:ellipsis}.breadcrumbs li a:link,.breadcrumbs li a:visited{color:var(--color-weight-700);font-size:var(--font-size-sm)}.breadcrumbs li:last-child{font-weight:600;color:var(--color-weight-700)}@media screen and (max-width: 992px){.breadcrumbs:not(.mobile){display:none}}@media screen and (min-width: 992px){.breadcrumbs.mobile{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'vdr-breadcrumb', template: "<nav role=\"navigation\">\n <ul class=\"breadcrumbs\">\n <li\n *ngFor=\"let breadcrumb of breadcrumbs$ | async; let isLast = last\"\n [title]=\"breadcrumb.label | translate\"\n >\n <a [routerLink]=\"breadcrumb.link\" *ngIf=\"!isLast\">{{ breadcrumb.label | translate }}</a>\n <ng-container *ngIf=\"!isLast\"\n ><clr-icon shape=\"caret right\" class=\"color-weight-400 mx-1\"></clr-icon\n ></ng-container>\n <ng-container *ngIf=\"isLast\">{{ breadcrumb.label | translate }}</ng-container>\n </li>\n </ul>\n <ul class=\"breadcrumbs mobile\" *ngIf=\"parentBreadcrumb$ | async as parentBreadcrumb\">\n <li>\n <clr-icon shape=\"caret left\" class=\"color-weight-400 mr-1\"></clr-icon>\n <a [routerLink]=\"parentBreadcrumb.link\">{{ parentBreadcrumb.label | translate }}</a>\n </li>\n </ul>\n</nav>\n", styles: [":host{display:block;padding:0;position:relative}.breadcrumbs{list-style-type:none;display:flex;flex-wrap:wrap;align-items:center;overflow-x:auto;max-width:100vw;line-height:100%;min-height:40px;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2.5);font-size:var(--font-size-sm);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg)}.breadcrumbs li{display:inline-flex;white-space:nowrap;line-height:14px;max-width:300px;overflow:hidden;text-overflow:ellipsis}.breadcrumbs li a:link,.breadcrumbs li a:visited{color:var(--color-weight-700);font-size:var(--font-size-sm)}.breadcrumbs li:last-child{font-weight:600;color:var(--color-weight-700)}@media screen and (max-width: 992px){.breadcrumbs:not(.mobile){display:none}}@media screen and (min-width: 992px){.breadcrumbs.mobile{display:none}}\n"] }]
32
+ }], ctorParameters: () => [{ type: i1.BreadcrumbService }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUdyQzs7Ozs7Ozs7R0FRRztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGaEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO1FBQ3hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ2pHLENBQUM7SUFDTixDQUFDOytHQVZRLG1CQUFtQjttR0FBbkIsbUJBQW1CLHNEQ25CaEMsazdCQW9CQTs7NEZERGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xuXG4vKipcbiAqIEEgYnJlYWRjcnVtYnMgY29tcG9uZW50IHdoaWNoIHJlYWRzIHRoZSByb3V0ZSBjb25maWcgYW5kIGFueSByb3V0ZSB0aGF0IGhhcyBhIGBkYXRhLmJyZWFkY3J1bWJgIHByb3BlcnR5IHdpbGxcbiAqIGJlIGRpc3BsYXllZCBpbiB0aGUgYnJlYWRjcnVtYiB0cmFpbC5cbiAqXG4gKiBUaGUgYGJyZWFkY3J1bWJgIHByb3BlcnR5IGNhbiBiZSBhIHN0cmluZyBvciBhIGZ1bmN0aW9uLiBJZiBhIGZ1bmN0aW9uLCBpdCB3aWxsIGJlIHBhc3NlZCB0aGUgcm91dGUncyBgZGF0YWBcbiAqIG9iamVjdCAod2hpY2ggd2lsbCBpbmNsdWRlIGFsbCByZXNvbHZlZCBrZXlzKSBhbmQgYW55IHJvdXRlIHBhcmFtcywgYW5kIHNob3VsZCByZXR1cm4gYSBCcmVhZGNydW1iVmFsdWUuXG4gKlxuICogU2VlIHRoZSB0ZXN0IGNvbmZpZyB0byBnZXQgYW4gaWRlYSBvZiBhbGxvd2FibGUgY29uZmlncyBmb3IgYnJlYWRjcnVtYnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLWJyZWFkY3J1bWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQge1xuICAgIGJyZWFkY3J1bWJzJDogT2JzZXJ2YWJsZTxBcnJheTx7IGxpbms6IHN0cmluZyB8IGFueVtdOyBsYWJlbDogc3RyaW5nIH0+PjtcbiAgICBwYXJlbnRCcmVhZGNydW1iJDogT2JzZXJ2YWJsZTx7IGxpbms6IHN0cmluZyB8IGFueVtdOyBsYWJlbDogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyQgPSB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJDtcbiAgICAgICAgdGhpcy5wYXJlbnRCcmVhZGNydW1iJCA9IHRoaXMuYnJlYWRjcnVtYlNlcnZpY2UuYnJlYWRjcnVtYnMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoYnJlYWRjcnVtYnMgPT4gKDEgPCBicmVhZGNydW1icy5sZW5ndGggPyBicmVhZGNydW1ic1ticmVhZGNydW1icy5sZW5ndGggLSAyXSA6IHVuZGVmaW5lZCkpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxuYXYgcm9sZT1cIm5hdmlnYXRpb25cIj5cbiAgICA8dWwgY2xhc3M9XCJicmVhZGNydW1ic1wiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBicmVhZGNydW1iIG9mIGJyZWFkY3J1bWJzJCB8IGFzeW5jOyBsZXQgaXNMYXN0ID0gbGFzdFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiYnJlYWRjcnVtYi5sYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWIubGlua1wiICpuZ0lmPVwiIWlzTGFzdFwiPnt7IGJyZWFkY3J1bWIubGFiZWwgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTGFzdFwiXG4gICAgICAgICAgICAgICAgPjxjbHItaWNvbiBzaGFwZT1cImNhcmV0IHJpZ2h0XCIgY2xhc3M9XCJjb2xvci13ZWlnaHQtNDAwIG14LTFcIj48L2Nsci1pY29uXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNMYXN0XCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPHVsIGNsYXNzPVwiYnJlYWRjcnVtYnMgbW9iaWxlXCIgKm5nSWY9XCJwYXJlbnRCcmVhZGNydW1iJCB8IGFzeW5jIGFzIHBhcmVudEJyZWFkY3J1bWJcIj5cbiAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiY2FyZXQgbGVmdFwiIGNsYXNzPVwiY29sb3Itd2VpZ2h0LTQwMCBtci0xXCI+PC9jbHItaWNvbj5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cInBhcmVudEJyZWFkY3J1bWIubGlua1wiPnt7IHBhcmVudEJyZWFkY3J1bWIubGFiZWwgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
@@ -0,0 +1,50 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { UntypedFormControl } from '@angular/forms';
3
+ import { notNullOrUndefined } from '@deenruv/common/lib/shared-utils';
4
+ import { combineLatest } from 'rxjs';
5
+ import { filter, map, startWith } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../data/providers/data.service";
8
+ import * as i2 from "../../providers/channel/channel.service";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@clr/angular";
11
+ import * as i5 from "@angular/forms";
12
+ import * as i6 from "../../shared/components/form-field/form-field-control.directive";
13
+ import * as i7 from "../../shared/components/dropdown/dropdown.component";
14
+ import * as i8 from "../../shared/components/dropdown/dropdown-menu.component";
15
+ import * as i9 from "../../shared/components/dropdown/dropdown-trigger.directive";
16
+ import * as i10 from "../../shared/components/dropdown/dropdown-item.directive";
17
+ import * as i11 from "../../shared/components/channel-badge/channel-badge.component";
18
+ import * as i12 from "@ngx-translate/core";
19
+ import * as i13 from "../../shared/pipes/channel-label.pipe";
20
+ export class ChannelSwitcherComponent {
21
+ constructor(dataService, channelService) {
22
+ this.dataService = dataService;
23
+ this.channelService = channelService;
24
+ this.displayFilterThreshold = 10;
25
+ this.filterControl = new UntypedFormControl('');
26
+ }
27
+ ngOnInit() {
28
+ const channels$ = this.dataService.client.userStatus().mapStream(data => data.userStatus.channels);
29
+ const filterTerm$ = this.filterControl.valueChanges.pipe(startWith(''));
30
+ this.channels$ = combineLatest(channels$, filterTerm$).pipe(map(([channels, filterTerm]) => filterTerm
31
+ ? channels.filter(c => c.code.toLocaleLowerCase().includes(filterTerm.toLocaleLowerCase()))
32
+ : channels));
33
+ this.channelCount$ = channels$.pipe(map(channels => channels.length));
34
+ const activeChannel$ = this.dataService.client
35
+ .userStatus()
36
+ .mapStream(data => data.userStatus.channels.find(c => c.id === data.userStatus.activeChannelId))
37
+ .pipe(filter(notNullOrUndefined));
38
+ this.activeChannelCode$ = activeChannel$.pipe(map(channel => channel.code));
39
+ }
40
+ setActiveChannel(channelId) {
41
+ this.channelService.setActiveChannel(channelId).subscribe(() => this.filterControl.patchValue(''));
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelSwitcherComponent, deps: [{ token: i1.DataService }, { token: i2.ChannelService }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\n <vdr-dropdown>\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\n <span class=\"channel-label\">{{\n activeChannelCode$ | async | channelCodeToLabel | translate\n }}</span>\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon></span>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <input\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\n [formControl]=\"filterControl\"\n type=\"text\"\n class=\"ml2 mr2\"\n [placeholder]=\"'common.filter' | translate\"\n />\n <button\n *ngFor=\"let channel of channels$ | async\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"setActiveChannel(channel.id)\"\n >\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\n {{ channel.code | channelCodeToLabel | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n</ng-container>\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i7.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i8.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i9.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i10.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i11.ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChannelSwitcherComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'vdr-channel-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <vdr-dropdown>\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\n <span class=\"channel-label\">{{\n activeChannelCode$ | async | channelCodeToLabel | translate\n }}</span>\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon></span>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <input\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\n [formControl]=\"filterControl\"\n type=\"text\"\n class=\"ml2 mr2\"\n [placeholder]=\"'common.filter' | translate\"\n />\n <button\n *ngFor=\"let channel of channels$ | async\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"setActiveChannel(channel.id)\"\n >\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\n {{ channel.code | channelCodeToLabel | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n</ng-container>\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"] }]
49
+ }], ctorParameters: () => [{ type: i1.DataService }, { type: i2.ChannelService }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2NvbXBvbmVudHMvY2hhbm5lbC1zd2l0Y2hlci9jaGFubmVsLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9jaGFubmVsLXN3aXRjaGVyL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQyxZQUNZLFdBQXdCLEVBQ3hCLGNBQThCO1FBRDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVBqQywyQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFHckMsa0JBQWEsR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBS3hDLENBQUM7SUFFSixRQUFRO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQVMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUMzQixVQUFVO1lBQ04sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUN0RTtZQUNILENBQUMsQ0FBQyxRQUFRLENBQ2pCLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDekMsVUFBVSxFQUFFO2FBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQy9GLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7K0dBakNRLHdCQUF3QjttR0FBeEIsd0JBQXdCLDREQ2hCckMscXhDQTZCQTs7NEZEYmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAZGVlbnJ1di9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDdXJyZW50VXNlckNoYW5uZWwgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2NoYW5uZWwvY2hhbm5lbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItY2hhbm5lbC1zd2l0Y2hlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbFN3aXRjaGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBkaXNwbGF5RmlsdGVyVGhyZXNob2xkID0gMTA7XG4gICAgY2hhbm5lbHMkOiBPYnNlcnZhYmxlPEN1cnJlbnRVc2VyQ2hhbm5lbFtdPjtcbiAgICBjaGFubmVsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgZmlsdGVyQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICAgIGFjdGl2ZUNoYW5uZWxDb2RlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWxzJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVzZXJTdGF0dXMoKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMuY2hhbm5lbHMpO1xuICAgICAgICBjb25zdCBmaWx0ZXJUZXJtJCA9IHRoaXMuZmlsdGVyQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZTxzdHJpbmc+KHN0YXJ0V2l0aCgnJykpO1xuICAgICAgICB0aGlzLmNoYW5uZWxzJCA9IGNvbWJpbmVMYXRlc3QoY2hhbm5lbHMkLCBmaWx0ZXJUZXJtJCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2NoYW5uZWxzLCBmaWx0ZXJUZXJtXSkgPT5cbiAgICAgICAgICAgICAgICBmaWx0ZXJUZXJtXG4gICAgICAgICAgICAgICAgICAgID8gY2hhbm5lbHMuZmlsdGVyKGMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYy5jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVGVybS50b0xvY2FsZUxvd2VyQ2FzZSgpKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogY2hhbm5lbHMsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNoYW5uZWxDb3VudCQgPSBjaGFubmVscyQucGlwZShtYXAoY2hhbm5lbHMgPT4gY2hhbm5lbHMubGVuZ3RoKSk7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcbiAgICAgICAgICAgIC51c2VyU3RhdHVzKClcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMuY2hhbm5lbHMuZmluZChjID0+IGMuaWQgPT09IGRhdGEudXNlclN0YXR1cy5hY3RpdmVDaGFubmVsSWQpKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkpO1xuICAgICAgICB0aGlzLmFjdGl2ZUNoYW5uZWxDb2RlJCA9IGFjdGl2ZUNoYW5uZWwkLnBpcGUobWFwKGNoYW5uZWwgPT4gY2hhbm5lbC5jb2RlKSk7XG4gICAgfVxuXG4gICAgc2V0QWN0aXZlQ2hhbm5lbChjaGFubmVsSWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFjdGl2ZUNoYW5uZWwoY2hhbm5lbElkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5maWx0ZXJDb250cm9sLnBhdGNoVmFsdWUoJycpKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICAgIDx2ZHItZHJvcGRvd24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhY3RpdmUtY2hhbm5lbCBtLWF1dG9cIiB2ZHJEcm9wZG93blRyaWdnZXI+XG4gICAgICAgICAgICA8dmRyLWNoYW5uZWwtYmFkZ2UgW2NoYW5uZWxDb2RlXT1cImFjdGl2ZUNoYW5uZWxDb2RlJCB8IGFzeW5jXCI+PC92ZHItY2hhbm5lbC1iYWRnZT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hhbm5lbC1sYWJlbFwiPnt7XG4gICAgICAgICAgICAgICAgYWN0aXZlQ2hhbm5lbENvZGUkIHwgYXN5bmMgfCBjaGFubmVsQ29kZVRvTGFiZWwgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmlnZ2VyXCI+PGNsci1pY29uIHNoYXBlPVwiZWxsaXBzaXMtdmVydGljYWxcIiBzaXplPVwiMTJcIj48L2Nsci1pY29uPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIoKGNoYW5uZWxDb3VudCQgfCBhc3luYykgfHwgMCkgPj0gZGlzcGxheUZpbHRlclRocmVzaG9sZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1sMiBtcjJcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInY29tbW9uLmZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hhbm5lbCBvZiBjaGFubmVscyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdmRyRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldEFjdGl2ZUNoYW5uZWwoY2hhbm5lbC5pZClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx2ZHItY2hhbm5lbC1iYWRnZSBbY2hhbm5lbENvZGVdPVwiY2hhbm5lbC5jb2RlXCI+PC92ZHItY2hhbm5lbC1iYWRnZT5cbiAgICAgICAgICAgICAgICB7eyBjaGFubmVsLmNvZGUgfCBjaGFubmVsQ29kZVRvTGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxuICAgIDwvdmRyLWRyb3Bkb3duPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { BaseNavComponent } from '../base-nav/base-nav.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@clr/angular";
7
+ import * as i3 from "@angular/router";
8
+ import * as i4 from "../../shared/components/status-badge/status-badge.component";
9
+ import * as i5 from "../../shared/components/ui-extension-point/ui-extension-point.component";
10
+ import * as i6 from "@ngx-translate/core";
11
+ export class MainNavComponent extends BaseNavComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.itemClick = new EventEmitter();
15
+ this.expandedSections = [];
16
+ }
17
+ ngOnInit() {
18
+ super.ngOnInit();
19
+ this.mainMenuConfig$ = this.navBuilderService.menuConfig$.pipe(map(sections => sections.filter(s => this.displayMode ? s.displayMode === this.displayMode : !s.displayMode)));
20
+ }
21
+ toggleExpand(section) {
22
+ if (this.expandedSections.includes(section.id)) {
23
+ this.expandedSections = this.expandedSections.filter(id => id !== section.id);
24
+ }
25
+ else {
26
+ this.expandedSections.push(section.id);
27
+ }
28
+ }
29
+ setExpanded(section, expanded) {
30
+ if (expanded) {
31
+ this.expandedSections.push(section.id);
32
+ }
33
+ else {
34
+ this.expandedSections = this.expandedSections.filter(id => id !== section.id);
35
+ }
36
+ }
37
+ getStyleForSection(section) {
38
+ if (section.collapsible) {
39
+ if (this.expandedSections.includes(section.id)) {
40
+ return { maxHeight: `${section.items.length * 33}px`, opacity: 1, visibility: 'visible' };
41
+ }
42
+ else {
43
+ return { maxHeight: '0px', opacity: 0, visibility: 'hidden' };
44
+ }
45
+ }
46
+ }
47
+ onItemClick(item, event) {
48
+ item.onClick?.(event);
49
+ this.itemClick.emit(item);
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainNavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MainNavComponent, selector: "vdr-main-nav", inputs: { displayMode: "displayMode" }, outputs: { itemClick: "itemClick" }, usesInheritance: true, ngImport: i0, template: "<nav class=\"main-nav\">\n <section class=\"\">\n <ng-container *ngFor=\"let section of mainMenuConfig$ | async\">\n <section\n class=\"nav-group\"\n [attr.data-section-id]=\"section.id\"\n [class.collapsible]=\"section.collapsible\"\n [class.collapsed]=\"section.collapsible && !expandedSections.includes(section.id)\"\n routerLinkActive=\"active\"\n (isActiveChange)=\"setExpanded(section, $event)\"\n *ngIf=\"shouldDisplayLink(section)\"\n >\n <vdr-ui-extension-point\n [locationId]=\"section.id\"\n api=\"navMenu\"\n [topPx]=\"0\"\n [leftPx]=\"8\"\n display=\"block\"\n >\n <div class=\"section-header\">\n <ng-container\n *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\"\n >\n <vdr-status-badge\n *ngIf=\"sectionBadge !== 'none'\"\n [type]=\"sectionBadge\"\n ></vdr-status-badge>\n </ng-container>\n <label class=\"nav-group-header mx-4\" [for]=\"section.id\">{{\n section.label | translate\n }}</label>\n <button *ngIf=\"section.collapsible\" class=\"button-small bg-weight-150\" (click)=\"toggleExpand(section)\">\n <clr-icon\n [attr.shape]=\"expandedSections.includes(section.id) ? 'caret up' : 'caret down'\"\n size=\"12\"\n [title]=\"'common.expand-entries' | translate\"\n ></clr-icon>\n </button>\n </div>\n <div class=\"nav-list\" [ngStyle]=\"getStyleForSection(section)\">\n <ng-container *ngFor=\"let item of section.items\">\n <div\n *ngIf=\"shouldDisplayLink(item)\"\n class=\"nav-link px-4\"\n routerLinkActive=\"active\"\n >\n <a\n [attr.data-item-id]=\"section.id\"\n [routerLink]=\"getRouterLink(item)\"\n (click)=\"onItemClick(item, $event)\"\n >\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\n <vdr-status-badge\n *ngIf=\"itemBadge.type !== 'none'\"\n [type]=\"itemBadge.type\"\n ></vdr-status-badge>\n </ng-container>\n <clr-icon\n [attr.shape]=\"item.icon || 'block'\"\n size=\"16\"\n [title]=\"item.label | translate\"\n ></clr-icon>\n <span class=\"\">{{ item.label | translate }}</span>\n </a>\n </div>\n </ng-container>\n </div>\n </vdr-ui-extension-point>\n </section>\n </ng-container>\n </section>\n</nav>\n", styles: [":host{background-color:var(--clr-nav-background-color)}nav.main-nav{height:100%;border-right-color:var(--clr-sidenav-border-color)}.main-nav .nav-group{margin-bottom:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2) 0;overflow:hidden;transition:padding .2s ease-in-out,margin-bottom .2s ease-in-out}.main-nav .nav-group.collapsible.collapsed{padding:3px 0;margin-bottom:calc(var(--space-unit) * 1)}.main-nav .nav-group.active:not(.collapsible.collapsed){background-color:var(--color-weight-125)}.main-nav .nav-group .nav-list{margin:0;transition:max-height .2s ease-in-out,opacity .2s ease-in-out}.main-nav .nav-group .section-header{display:flex;align-items:flex-start;justify-content:space-between;padding-inline-end:calc(var(--space-unit) * 4)}.main-nav .nav-group .nav-group-header{display:block;margin:0 0 var(--space-unit);font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--color-weight-700);text-transform:uppercase}.main-nav .nav-group .nav-link{display:flex;align-items:center;line-height:100%;border-inline-end:2px solid transparent;padding:var(--space-unit) 0;transition:border .1s,color .1s}.main-nav .nav-group .nav-link a:link,.main-nav .nav-group .nav-link a:visited{color:var(--color-weight-700);font-size:var(--font-size-sm);line-height:14px}.main-nav .nav-group .nav-link:hover{color:var(--color-left-nav-text-hover);border-right-color:var(--color-weight-300)}.main-nav .nav-group .nav-link.active,.main-nav .nav-group .nav-link.active a:link,.main-nav .nav-group .nav-link.active a:visited{color:var(--color-text-active);border-right-color:var(--color-primary-500)}.main-nav .nav-group .nav-link.active clr-icon,.main-nav .nav-group .nav-link.active a:link clr-icon,.main-nav .nav-group .nav-link.active a:visited clr-icon{color:var(--color-primary-500)}.nav-list clr-icon{flex-shrink:0;margin-inline-end:var(--space-unit)}.nav-group{hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:27px;top:6px}.nav-group .section-header vdr-status-badge{left:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i4.StatusBadgeComponent, selector: "vdr-status-badge", inputs: ["type"] }, { kind: "component", type: i5.UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "metadata", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MainNavComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'vdr-main-nav', template: "<nav class=\"main-nav\">\n <section class=\"\">\n <ng-container *ngFor=\"let section of mainMenuConfig$ | async\">\n <section\n class=\"nav-group\"\n [attr.data-section-id]=\"section.id\"\n [class.collapsible]=\"section.collapsible\"\n [class.collapsed]=\"section.collapsible && !expandedSections.includes(section.id)\"\n routerLinkActive=\"active\"\n (isActiveChange)=\"setExpanded(section, $event)\"\n *ngIf=\"shouldDisplayLink(section)\"\n >\n <vdr-ui-extension-point\n [locationId]=\"section.id\"\n api=\"navMenu\"\n [topPx]=\"0\"\n [leftPx]=\"8\"\n display=\"block\"\n >\n <div class=\"section-header\">\n <ng-container\n *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\"\n >\n <vdr-status-badge\n *ngIf=\"sectionBadge !== 'none'\"\n [type]=\"sectionBadge\"\n ></vdr-status-badge>\n </ng-container>\n <label class=\"nav-group-header mx-4\" [for]=\"section.id\">{{\n section.label | translate\n }}</label>\n <button *ngIf=\"section.collapsible\" class=\"button-small bg-weight-150\" (click)=\"toggleExpand(section)\">\n <clr-icon\n [attr.shape]=\"expandedSections.includes(section.id) ? 'caret up' : 'caret down'\"\n size=\"12\"\n [title]=\"'common.expand-entries' | translate\"\n ></clr-icon>\n </button>\n </div>\n <div class=\"nav-list\" [ngStyle]=\"getStyleForSection(section)\">\n <ng-container *ngFor=\"let item of section.items\">\n <div\n *ngIf=\"shouldDisplayLink(item)\"\n class=\"nav-link px-4\"\n routerLinkActive=\"active\"\n >\n <a\n [attr.data-item-id]=\"section.id\"\n [routerLink]=\"getRouterLink(item)\"\n (click)=\"onItemClick(item, $event)\"\n >\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\n <vdr-status-badge\n *ngIf=\"itemBadge.type !== 'none'\"\n [type]=\"itemBadge.type\"\n ></vdr-status-badge>\n </ng-container>\n <clr-icon\n [attr.shape]=\"item.icon || 'block'\"\n size=\"16\"\n [title]=\"item.label | translate\"\n ></clr-icon>\n <span class=\"\">{{ item.label | translate }}</span>\n </a>\n </div>\n </ng-container>\n </div>\n </vdr-ui-extension-point>\n </section>\n </ng-container>\n </section>\n</nav>\n", styles: [":host{background-color:var(--clr-nav-background-color)}nav.main-nav{height:100%;border-right-color:var(--clr-sidenav-border-color)}.main-nav .nav-group{margin-bottom:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2) 0;overflow:hidden;transition:padding .2s ease-in-out,margin-bottom .2s ease-in-out}.main-nav .nav-group.collapsible.collapsed{padding:3px 0;margin-bottom:calc(var(--space-unit) * 1)}.main-nav .nav-group.active:not(.collapsible.collapsed){background-color:var(--color-weight-125)}.main-nav .nav-group .nav-list{margin:0;transition:max-height .2s ease-in-out,opacity .2s ease-in-out}.main-nav .nav-group .section-header{display:flex;align-items:flex-start;justify-content:space-between;padding-inline-end:calc(var(--space-unit) * 4)}.main-nav .nav-group .nav-group-header{display:block;margin:0 0 var(--space-unit);font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--color-weight-700);text-transform:uppercase}.main-nav .nav-group .nav-link{display:flex;align-items:center;line-height:100%;border-inline-end:2px solid transparent;padding:var(--space-unit) 0;transition:border .1s,color .1s}.main-nav .nav-group .nav-link a:link,.main-nav .nav-group .nav-link a:visited{color:var(--color-weight-700);font-size:var(--font-size-sm);line-height:14px}.main-nav .nav-group .nav-link:hover{color:var(--color-left-nav-text-hover);border-right-color:var(--color-weight-300)}.main-nav .nav-group .nav-link.active,.main-nav .nav-group .nav-link.active a:link,.main-nav .nav-group .nav-link.active a:visited{color:var(--color-text-active);border-right-color:var(--color-primary-500)}.main-nav .nav-group .nav-link.active clr-icon,.main-nav .nav-group .nav-link.active a:link clr-icon,.main-nav .nav-group .nav-link.active a:visited clr-icon{color:var(--color-primary-500)}.nav-list clr-icon{flex-shrink:0;margin-inline-end:var(--space-unit)}.nav-group{hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:27px;top:6px}.nav-group .section-header vdr-status-badge{left:20px}\n"] }]
57
+ }], propDecorators: { displayMode: [{
58
+ type: Input
59
+ }], itemClick: [{
60
+ type: Output
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21wb25lbnRzL21haW4tbmF2L21haW4tbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9tYWluLW5hdi9tYWluLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQUx0RDs7UUFPYyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUV0RCxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7S0E0Q25DO0lBMUNZLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ1gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FDekUsQ0FDSixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQXVCO1FBQ2hDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEYsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUF1QixFQUFFLFFBQWlCO1FBQ2xELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQXVCO1FBQ3RDLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzlGLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNsRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBaUIsRUFBRSxLQUFpQjtRQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0EvQ1EsZ0JBQWdCO21HQUFoQixnQkFBZ0Isd0pDWDdCLHV1SEF3RUE7OzRGRDdEYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0ksY0FBYzs4QkFLZixXQUFXO3NCQUFuQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOYXZNZW51SXRlbSwgTmF2TWVudVNlY3Rpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbmF2LWJ1aWxkZXIvbmF2LWJ1aWxkZXItdHlwZXMnO1xuaW1wb3J0IHsgQmFzZU5hdkNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtbmF2L2Jhc2UtbmF2LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLW1haW4tbmF2JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1uYXYuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21haW4tbmF2LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1haW5OYXZDb21wb25lbnQgZXh0ZW5kcyBCYXNlTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBkaXNwbGF5TW9kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdk1lbnVJdGVtPigpO1xuICAgIG1haW5NZW51Q29uZmlnJDogT2JzZXJ2YWJsZTxOYXZNZW51U2VjdGlvbltdPjtcbiAgICBleHBhbmRlZFNlY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5tYWluTWVudUNvbmZpZyQgPSB0aGlzLm5hdkJ1aWxkZXJTZXJ2aWNlLm1lbnVDb25maWckLnBpcGUoXG4gICAgICAgICAgICBtYXAoc2VjdGlvbnMgPT5cbiAgICAgICAgICAgICAgICBzZWN0aW9ucy5maWx0ZXIocyA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID8gcy5kaXNwbGF5TW9kZSA9PT0gdGhpcy5kaXNwbGF5TW9kZSA6ICFzLmRpc3BsYXlNb2RlLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHRvZ2dsZUV4cGFuZChzZWN0aW9uOiBOYXZNZW51U2VjdGlvbikge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZFNlY3Rpb25zLmluY2x1ZGVzKHNlY3Rpb24uaWQpKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkU2VjdGlvbnMgPSB0aGlzLmV4cGFuZGVkU2VjdGlvbnMuZmlsdGVyKGlkID0+IGlkICE9PSBzZWN0aW9uLmlkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRTZWN0aW9ucy5wdXNoKHNlY3Rpb24uaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RXhwYW5kZWQoc2VjdGlvbjogTmF2TWVudVNlY3Rpb24sIGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZFNlY3Rpb25zLnB1c2goc2VjdGlvbi5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkU2VjdGlvbnMgPSB0aGlzLmV4cGFuZGVkU2VjdGlvbnMuZmlsdGVyKGlkID0+IGlkICE9PSBzZWN0aW9uLmlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFN0eWxlRm9yU2VjdGlvbihzZWN0aW9uOiBOYXZNZW51U2VjdGlvbikge1xuICAgICAgICBpZiAoc2VjdGlvbi5jb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWRTZWN0aW9ucy5pbmNsdWRlcyhzZWN0aW9uLmlkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IG1heEhlaWdodDogYCR7c2VjdGlvbi5pdGVtcy5sZW5ndGggKiAzM31weGAsIG9wYWNpdHk6IDEsIHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBtYXhIZWlnaHQ6ICcwcHgnLCBvcGFjaXR5OiAwLCB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXRlbTogTmF2TWVudUl0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGl0ZW0ub25DbGljaz8uKGV2ZW50KTtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpdGVtKTtcbiAgICB9XG59XG4iLCI8bmF2IGNsYXNzPVwibWFpbi1uYXZcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cIlwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIG1haW5NZW51Q29uZmlnJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICA8c2VjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWdyb3VwXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXNlY3Rpb24taWRdPVwic2VjdGlvbi5pZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmNvbGxhcHNpYmxlXT1cInNlY3Rpb24uY29sbGFwc2libGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwic2VjdGlvbi5jb2xsYXBzaWJsZSAmJiAhZXhwYW5kZWRTZWN0aW9ucy5pbmNsdWRlcyhzZWN0aW9uLmlkKVwiXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgKGlzQWN0aXZlQ2hhbmdlKT1cInNldEV4cGFuZGVkKHNlY3Rpb24sICRldmVudClcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvdWxkRGlzcGxheUxpbmsoc2VjdGlvbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx2ZHItdWktZXh0ZW5zaW9uLXBvaW50XG4gICAgICAgICAgICAgICAgICAgIFtsb2NhdGlvbklkXT1cInNlY3Rpb24uaWRcIlxuICAgICAgICAgICAgICAgICAgICBhcGk9XCJuYXZNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW3RvcFB4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBbbGVmdFB4XT1cIjhcIlxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5PVwiYmxvY2tcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJuYXZCdWlsZGVyU2VydmljZS5zZWN0aW9uQmFkZ2VzW3NlY3Rpb24uaWRdIHwgYXN5bmMgYXMgc2VjdGlvbkJhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmRyLXN0YXR1cy1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNlY3Rpb25CYWRnZSAhPT0gJ25vbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwic2VjdGlvbkJhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItc3RhdHVzLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJuYXYtZ3JvdXAtaGVhZGVyIG14LTRcIiBbZm9yXT1cInNlY3Rpb24uaWRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24ubGFiZWwgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzZWN0aW9uLmNvbGxhcHNpYmxlXCIgY2xhc3M9XCJidXR0b24tc21hbGwgYmctd2VpZ2h0LTE1MFwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmQoc2VjdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc2hhcGVdPVwiZXhwYW5kZWRTZWN0aW9ucy5pbmNsdWRlcyhzZWN0aW9uLmlkKSA/ICdjYXJldCB1cCcgOiAnY2FyZXQgZG93bidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvbW1vbi5leHBhbmQtZW50cmllcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWxpc3RcIiBbbmdTdHlsZV09XCJnZXRTdHlsZUZvclNlY3Rpb24oc2VjdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VjdGlvbi5pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG91bGREaXNwbGF5TGluayhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgcHgtNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtaXRlbS1pZF09XCJzZWN0aW9uLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImdldFJvdXRlckxpbmsoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5zdGF0dXNCYWRnZSB8IGFzeW5jIGFzIGl0ZW1CYWRnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItc3RhdHVzLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbUJhZGdlLnR5cGUgIT09ICdub25lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIml0ZW1CYWRnZS50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC92ZHItc3RhdHVzLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaGFwZV09XCJpdGVtLmljb24gfHwgJ2Jsb2NrJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS5sYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiXCI+e3sgaXRlbS5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdmRyLXVpLWV4dGVuc2lvbi1wb2ludD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuPC9uYXY+XG4iXX0=