@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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtZ2FsbGVyeS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvYXNzZXQtZ2FsbGVyeS9hc3NldC1nYWxsZXJ5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtT2YgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYmFzZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZXRBc3NldExpc3RRdWVyeSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBBc3NldExpa2UgPSBJdGVtT2Y8R2V0QXNzZXRMaXN0UXVlcnksICdhc3NldHMnPjtcbiJdfQ==
@@ -0,0 +1,144 @@
1
+ import { ChangeDetectionStrategy, Component, ViewChild, } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import { BehaviorSubject, Subject } from 'rxjs';
4
+ import { debounceTime, delay, finalize, map, take as rxjsTake, takeUntil, tap } from 'rxjs/operators';
5
+ import { LogicalOperator, SortOrder, } from '../../../common/generated-types';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../data/providers/data.service";
8
+ import * as i2 from "../../../providers/notification/notification.service";
9
+ import * as i3 from "../asset-search-input/asset-search-input.component";
10
+ import * as i4 from "../items-per-page-controls/items-per-page-controls.component";
11
+ import * as i5 from "../pagination-controls/pagination-controls.component";
12
+ import * as i6 from "../modal-dialog/dialog-buttons.directive";
13
+ import * as i7 from "../modal-dialog/dialog-title.directive";
14
+ import * as i8 from "../asset-file-input/asset-file-input.component";
15
+ import * as i9 from "../asset-gallery/asset-gallery.component";
16
+ import * as i10 from "@angular/common";
17
+ import * as i11 from "ngx-pagination";
18
+ import * as i12 from "@ngx-translate/core";
19
+ /**
20
+ * @description
21
+ * A dialog which allows the creation and selection of assets.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * selectAssets() {
26
+ * this.modalService
27
+ * .fromComponent(AssetPickerDialogComponent, {
28
+ * size: 'xl',
29
+ * })
30
+ * .subscribe(result => {
31
+ * if (result && result.length) {
32
+ * // ...
33
+ * }
34
+ * });
35
+ * }
36
+ * ```
37
+ *
38
+ * @docsCategory components
39
+ */
40
+ export class AssetPickerDialogComponent {
41
+ constructor(dataService, notificationService) {
42
+ this.dataService = dataService;
43
+ this.notificationService = notificationService;
44
+ this.paginationConfig = {
45
+ currentPage: 1,
46
+ itemsPerPage: 25,
47
+ totalItems: 1,
48
+ };
49
+ this.multiSelect = true;
50
+ this.initialTags = [];
51
+ this.selection = [];
52
+ this.searchTerm$ = new BehaviorSubject(undefined);
53
+ this.filterByTags$ = new BehaviorSubject(undefined);
54
+ this.uploading = false;
55
+ this.destroy$ = new Subject();
56
+ }
57
+ ngOnInit() {
58
+ this.listQuery = this.dataService.product.getAssetList(this.paginationConfig.itemsPerPage, 0);
59
+ this.allTags$ = this.dataService.product.getTagList().mapSingle(data => data.tags.items);
60
+ this.assets$ = this.listQuery.stream$.pipe(tap(result => (this.paginationConfig.totalItems = result.assets.totalItems)), map(result => result.assets.items));
61
+ this.searchTerm$.pipe(debounceTime(250), takeUntil(this.destroy$)).subscribe(() => {
62
+ this.fetchPage(this.paginationConfig.currentPage, this.paginationConfig.itemsPerPage);
63
+ });
64
+ this.filterByTags$.pipe(debounceTime(100), takeUntil(this.destroy$)).subscribe(() => {
65
+ this.fetchPage(this.paginationConfig.currentPage, this.paginationConfig.itemsPerPage);
66
+ });
67
+ }
68
+ ngAfterViewInit() {
69
+ if (0 < this.initialTags.length) {
70
+ this.allTags$
71
+ .pipe(rxjsTake(1), map(allTags => allTags.filter(tag => this.initialTags.includes(tag.value))), tap(tags => this.filterByTags$.next(tags)), delay(1))
72
+ .subscribe(tags => this.assetSearchInputComponent.setTags(tags));
73
+ }
74
+ }
75
+ ngOnDestroy() {
76
+ this.destroy$.next();
77
+ this.destroy$.complete();
78
+ }
79
+ pageChange(page) {
80
+ this.paginationConfig.currentPage = page;
81
+ this.fetchPage(this.paginationConfig.currentPage, this.paginationConfig.itemsPerPage);
82
+ }
83
+ itemsPerPageChange(itemsPerPage) {
84
+ this.paginationConfig.itemsPerPage = itemsPerPage;
85
+ this.fetchPage(this.paginationConfig.currentPage, this.paginationConfig.itemsPerPage);
86
+ }
87
+ cancel() {
88
+ this.resolveWith();
89
+ }
90
+ select() {
91
+ this.resolveWith(this.selection);
92
+ }
93
+ createAssets(files) {
94
+ if (files.length) {
95
+ this.uploading = true;
96
+ this.dataService.product
97
+ .createAssets(files)
98
+ .pipe(finalize(() => (this.uploading = false)))
99
+ .subscribe(res => {
100
+ this.fetchPage(this.paginationConfig.currentPage, this.paginationConfig.itemsPerPage);
101
+ this.notificationService.success(_('asset.notify-create-assets-success'), {
102
+ count: files.length,
103
+ });
104
+ const assets = res.createAssets.filter(a => a.__typename === 'Asset');
105
+ this.assetGalleryComponent.selectMultiple(assets);
106
+ });
107
+ }
108
+ }
109
+ fetchPage(currentPage, itemsPerPage) {
110
+ const take = +itemsPerPage;
111
+ const skip = (currentPage - 1) * +itemsPerPage;
112
+ const searchTerm = this.searchTerm$.value;
113
+ const tags = this.filterByTags$.value?.map(t => t.value);
114
+ this.listQuery.ref.refetch({
115
+ options: {
116
+ skip,
117
+ take,
118
+ filter: {
119
+ name: {
120
+ contains: searchTerm,
121
+ },
122
+ },
123
+ sort: {
124
+ createdAt: SortOrder.DESC,
125
+ },
126
+ tags,
127
+ tagsOperator: LogicalOperator.AND,
128
+ },
129
+ });
130
+ }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssetPickerDialogComponent, deps: [{ token: i1.DataService }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AssetPickerDialogComponent, selector: "vdr-asset-picker-dialog", viewQueries: [{ propertyName: "assetSearchInputComponent", first: true, predicate: ["assetSearchInputComponent"], descendants: true }, { propertyName: "assetGalleryComponent", first: true, predicate: ["assetGalleryComponent"], descendants: true }], ngImport: i0, template: "<ng-template vdrDialogTitle>\n <div class=\"title-row\">\n <span>{{ 'asset.select-assets' | translate }}</span>\n <div class=\"flex-spacer\"></div>\n <vdr-asset-file-input\n class=\"ml3\"\n (selectFiles)=\"createAssets($event)\"\n [uploading]=\"uploading\"\n dropZoneTarget=\".modal-content\"\n ></vdr-asset-file-input>\n </div>\n</ng-template>\n<vdr-asset-search-input\n class=\"mb-2\"\n [tags]=\"allTags$ | async\"\n (searchTermChange)=\"searchTerm$.next($event)\"\n (tagsChange)=\"filterByTags$.next($event)\"\n #assetSearchInputComponent\n></vdr-asset-search-input>\n<vdr-asset-gallery\n [assets]=\"(assets$ | async)! | paginate: paginationConfig\"\n [multiSelect]=\"multiSelect\"\n (selectionChange)=\"selection = $event\"\n (editAssetClick)=\"cancel()\"\n #assetGalleryComponent\n></vdr-asset-gallery>\n\n<div class=\"paging-controls\">\n <vdr-items-per-page-controls\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\n ></vdr-items-per-page-controls>\n\n <vdr-pagination-controls\n [currentPage]=\"paginationConfig.currentPage\"\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\n [totalItems]=\"paginationConfig.totalItems\"\n (pageChange)=\"pageChange($event)\"\n ></vdr-pagination-controls>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"selection.length === 0\">\n {{ 'asset.add-asset-with-count' | translate: { count: selection.length } }}\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-y:auto}.title-row{display:flex;align-items:center;justify-content:space-between}vdr-asset-gallery{flex:1}.paging-controls{padding-top:6px;margin-top:12px;margin-bottom:12px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between;flex-shrink:0}\n"], dependencies: [{ kind: "component", type: i3.AssetSearchInputComponent, selector: "vdr-asset-search-input", inputs: ["tags"], outputs: ["searchTermChange", "tagsChange"] }, { kind: "component", type: i4.ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: i5.PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: i6.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i7.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: i8.AssetFileInputComponent, selector: "vdr-asset-file-input", inputs: ["dropZoneTarget", "uploading"], outputs: ["selectFiles"] }, { kind: "component", type: i9.AssetGalleryComponent, selector: "vdr-asset-gallery", inputs: ["assets", "multiSelect", "canDelete"], outputs: ["selectionChange", "deleteAssets", "editAssetClick"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
133
+ }
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssetPickerDialogComponent, decorators: [{
135
+ type: Component,
136
+ args: [{ selector: 'vdr-asset-picker-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\n <div class=\"title-row\">\n <span>{{ 'asset.select-assets' | translate }}</span>\n <div class=\"flex-spacer\"></div>\n <vdr-asset-file-input\n class=\"ml3\"\n (selectFiles)=\"createAssets($event)\"\n [uploading]=\"uploading\"\n dropZoneTarget=\".modal-content\"\n ></vdr-asset-file-input>\n </div>\n</ng-template>\n<vdr-asset-search-input\n class=\"mb-2\"\n [tags]=\"allTags$ | async\"\n (searchTermChange)=\"searchTerm$.next($event)\"\n (tagsChange)=\"filterByTags$.next($event)\"\n #assetSearchInputComponent\n></vdr-asset-search-input>\n<vdr-asset-gallery\n [assets]=\"(assets$ | async)! | paginate: paginationConfig\"\n [multiSelect]=\"multiSelect\"\n (selectionChange)=\"selection = $event\"\n (editAssetClick)=\"cancel()\"\n #assetGalleryComponent\n></vdr-asset-gallery>\n\n<div class=\"paging-controls\">\n <vdr-items-per-page-controls\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\n ></vdr-items-per-page-controls>\n\n <vdr-pagination-controls\n [currentPage]=\"paginationConfig.currentPage\"\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\n [totalItems]=\"paginationConfig.totalItems\"\n (pageChange)=\"pageChange($event)\"\n ></vdr-pagination-controls>\n</div>\n\n<ng-template vdrDialogButtons>\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"selection.length === 0\">\n {{ 'asset.add-asset-with-count' | translate: { count: selection.length } }}\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-y:auto}.title-row{display:flex;align-items:center;justify-content:space-between}vdr-asset-gallery{flex:1}.paging-controls{padding-top:6px;margin-top:12px;margin-bottom:12px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between;flex-shrink:0}\n"] }]
137
+ }], ctorParameters: () => [{ type: i1.DataService }, { type: i2.NotificationService }], propDecorators: { assetSearchInputComponent: [{
138
+ type: ViewChild,
139
+ args: ['assetSearchInputComponent']
140
+ }], assetGalleryComponent: [{
141
+ type: ViewChild,
142
+ args: ['assetGalleryComponent']
143
+ }] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXBpY2tlci1kaWFsb2cvYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXBpY2tlci1kaWFsb2cvYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRHLE9BQU8sRUFLSCxlQUFlLEVBQ2YsU0FBUyxHQUVaLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBU3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUF3Qm5DLFlBQW9CLFdBQXdCLEVBQVUsbUJBQXdDO1FBQTFFLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXJCOUYscUJBQWdCLEdBQXVCO1lBQ25DLFdBQVcsRUFBRSxDQUFDO1lBQ2QsWUFBWSxFQUFFLEVBQUU7WUFDaEIsVUFBVSxFQUFFLENBQUM7U0FDaEIs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QU50QyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTTtrSEFXdkMseUJBQXlCO3NCQURoQyxTQUFTO3VCQUFDLDJCQUEyQjtnQkFHOUIscUJBQXFCO3NCQUQ1QixTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkluc3RhbmNlIH0gZnJvbSAnbmd4LXBhZ2luYXRpb24nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRlbGF5LCBmaW5hbGl6ZSwgbWFwLCB0YWtlIGFzIHJ4anNUYWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBBc3NldCxcbiAgICBDcmVhdGVBc3NldHNNdXRhdGlvbixcbiAgICBHZXRBc3NldExpc3RRdWVyeSxcbiAgICBHZXRBc3NldExpc3RRdWVyeVZhcmlhYmxlcyxcbiAgICBMb2dpY2FsT3BlcmF0b3IsXG4gICAgU29ydE9yZGVyLFxuICAgIFRhZ0ZyYWdtZW50LFxufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXJ5UmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9xdWVyeS1yZXN1bHQnO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnR5cGVzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0R2FsbGVyeUNvbXBvbmVudCB9IGZyb20gJy4uL2Fzc2V0LWdhbGxlcnkvYXNzZXQtZ2FsbGVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXNzZXRMaWtlIH0gZnJvbSAnLi4vYXNzZXQtZ2FsbGVyeS9hc3NldC1nYWxsZXJ5LnR5cGVzJztcbmltcG9ydCB7IEFzc2V0U2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hc3NldC1zZWFyY2gtaW5wdXQvYXNzZXQtc2VhcmNoLWlucHV0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBIGRpYWxvZyB3aGljaCBhbGxvd3MgdGhlIGNyZWF0aW9uIGFuZCBzZWxlY3Rpb24gb2YgYXNzZXRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogc2VsZWN0QXNzZXRzKCkge1xuICogICB0aGlzLm1vZGFsU2VydmljZVxuICogICAgIC5mcm9tQ29tcG9uZW50KEFzc2V0UGlja2VyRGlhbG9nQ29tcG9uZW50LCB7XG4gKiAgICAgICAgIHNpemU6ICd4bCcsXG4gKiAgICAgfSlcbiAqICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gKiAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCkge1xuICogICAgICAgICAgICAgLy8gLi4uXG4gKiAgICAgICAgIH1cbiAqICAgICB9KTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1hc3NldC1waWNrZXItZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBEaWFsb2c8QXNzZXRbXT4ge1xuICAgIGFzc2V0cyQ6IE9ic2VydmFibGU8QXNzZXRMaWtlW10+O1xuICAgIGFsbFRhZ3MkOiBPYnNlcnZhYmxlPFRhZ0ZyYWdtZW50W10+O1xuICAgIHBhZ2luYXRpb25Db25maWc6IFBhZ2luYXRpb25JbnN0YW5jZSA9IHtcbiAgICAgICAgY3VycmVudFBhZ2U6IDEsXG4gICAgICAgIGl0ZW1zUGVyUGFnZTogMjUsXG4gICAgICAgIHRvdGFsSXRlbXM6IDEsXG4gICAgfTtcbiAgICBAVmlld0NoaWxkKCdhc3NldFNlYXJjaElucHV0Q29tcG9uZW50JylcbiAgICBwcml2YXRlIGFzc2V0U2VhcmNoSW5wdXRDb21wb25lbnQ6IEFzc2V0U2VhcmNoSW5wdXRDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnYXNzZXRHYWxsZXJ5Q29tcG9uZW50JylcbiAgICBwcml2YXRlIGFzc2V0R2FsbGVyeUNvbXBvbmVudDogQXNzZXRHYWxsZXJ5Q29tcG9uZW50O1xuXG4gICAgbXVsdGlTZWxlY3QgPSB0cnVlO1xuICAgIGluaXRpYWxUYWdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcmVzb2x2ZVdpdGg6IChyZXN1bHQ/OiBBc3NldFtdKSA9PiB2b2lkO1xuICAgIHNlbGVjdGlvbjogQXNzZXRbXSA9IFtdO1xuICAgIHNlYXJjaFRlcm0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgZmlsdGVyQnlUYWdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFnRnJhZ21lbnRbXSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgICB1cGxvYWRpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIGxpc3RRdWVyeTogUXVlcnlSZXN1bHQ8R2V0QXNzZXRMaXN0UXVlcnksIEdldEFzc2V0TGlzdFF1ZXJ5VmFyaWFibGVzPjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5saXN0UXVlcnkgPSB0aGlzLmRhdGFTZXJ2aWNlLnByb2R1Y3QuZ2V0QXNzZXRMaXN0KHRoaXMucGFnaW5hdGlvbkNvbmZpZy5pdGVtc1BlclBhZ2UsIDApO1xuICAgICAgICB0aGlzLmFsbFRhZ3MkID0gdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0LmdldFRhZ0xpc3QoKS5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnRhZ3MuaXRlbXMpO1xuICAgICAgICB0aGlzLmFzc2V0cyQgPSB0aGlzLmxpc3RRdWVyeS5zdHJlYW0kLnBpcGUoXG4gICAgICAgICAgICB0YXAocmVzdWx0ID0+ICh0aGlzLnBhZ2luYXRpb25Db25maWcudG90YWxJdGVtcyA9IHJlc3VsdC5hc3NldHMudG90YWxJdGVtcykpLFxuICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuYXNzZXRzLml0ZW1zKSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJC5waXBlKGRlYm91bmNlVGltZSgyNTApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZldGNoUGFnZSh0aGlzLnBhZ2luYXRpb25Db25maWcuY3VycmVudFBhZ2UsIHRoaXMucGFnaW5hdGlvbkNvbmZpZy5pdGVtc1BlclBhZ2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWx0ZXJCeVRhZ3MkLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hQYWdlKHRoaXMucGFnaW5hdGlvbkNvbmZpZy5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0aW9uQ29uZmlnLml0ZW1zUGVyUGFnZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKDAgPCB0aGlzLmluaXRpYWxUYWdzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hbGxUYWdzJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICByeGpzVGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKGFsbFRhZ3MgPT4gYWxsVGFncy5maWx0ZXIodGFnID0+IHRoaXMuaW5pdGlhbFRhZ3MuaW5jbHVkZXModGFnLnZhbHVlKSkpLFxuICAgICAgICAgICAgICAgICAgICB0YXAodGFncyA9PiB0aGlzLmZpbHRlckJ5VGFncyQubmV4dCh0YWdzKSksXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5KDEpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRhZ3MgPT4gdGhpcy5hc3NldFNlYXJjaElucHV0Q29tcG9uZW50LnNldFRhZ3ModGFncykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcGFnZUNoYW5nZShwYWdlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uQ29uZmlnLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICAgICAgdGhpcy5mZXRjaFBhZ2UodGhpcy5wYWdpbmF0aW9uQ29uZmlnLmN1cnJlbnRQYWdlLCB0aGlzLnBhZ2luYXRpb25Db25maWcuaXRlbXNQZXJQYWdlKTtcbiAgICB9XG5cbiAgICBpdGVtc1BlclBhZ2VDaGFuZ2UoaXRlbXNQZXJQYWdlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uQ29uZmlnLml0ZW1zUGVyUGFnZSA9IGl0ZW1zUGVyUGFnZTtcbiAgICAgICAgdGhpcy5mZXRjaFBhZ2UodGhpcy5wYWdpbmF0aW9uQ29uZmlnLmN1cnJlbnRQYWdlLCB0aGlzLnBhZ2luYXRpb25Db25maWcuaXRlbXNQZXJQYWdlKTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKSB7XG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoKTtcbiAgICB9XG5cbiAgICBzZWxlY3QoKSB7XG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgodGhpcy5zZWxlY3Rpb24pO1xuICAgIH1cblxuICAgIGNyZWF0ZUFzc2V0cyhmaWxlczogRmlsZVtdKSB7XG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UucHJvZHVjdFxuICAgICAgICAgICAgICAgIC5jcmVhdGVBc3NldHMoZmlsZXMpXG4gICAgICAgICAgICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMudXBsb2FkaW5nID0gZmFsc2UpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2hQYWdlKHRoaXMucGFnaW5hdGlvbkNvbmZpZy5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0aW9uQ29uZmlnLml0ZW1zUGVyUGFnZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKF8oJ2Fzc2V0Lm5vdGlmeS1jcmVhdGUtYXNzZXRzLXN1Y2Nlc3MnKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ6IGZpbGVzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0cyA9IHJlcy5jcmVhdGVBc3NldHMuZmlsdGVyKGEgPT4gYS5fX3R5cGVuYW1lID09PSAnQXNzZXQnKSBhcyBBc3NldExpa2VbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hc3NldEdhbGxlcnlDb21wb25lbnQuc2VsZWN0TXVsdGlwbGUoYXNzZXRzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZmV0Y2hQYWdlKGN1cnJlbnRQYWdlOiBudW1iZXIsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHRha2UgPSAraXRlbXNQZXJQYWdlO1xuICAgICAgICBjb25zdCBza2lwID0gKGN1cnJlbnRQYWdlIC0gMSkgKiAraXRlbXNQZXJQYWdlO1xuICAgICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hUZXJtJC52YWx1ZTtcbiAgICAgICAgY29uc3QgdGFncyA9IHRoaXMuZmlsdGVyQnlUYWdzJC52YWx1ZT8ubWFwKHQgPT4gdC52YWx1ZSk7XG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5LnJlZi5yZWZldGNoKHtcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBza2lwLFxuICAgICAgICAgICAgICAgIHRha2UsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zOiBzZWFyY2hUZXJtLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IFNvcnRPcmRlci5ERVNDLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGFncyxcbiAgICAgICAgICAgICAgICB0YWdzT3BlcmF0b3I6IExvZ2ljYWxPcGVyYXRvci5BTkQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgdmRyRGlhbG9nVGl0bGU+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLXJvd1wiPlxuICAgICAgICA8c3Bhbj57eyAnYXNzZXQuc2VsZWN0LWFzc2V0cycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNwYWNlclwiPjwvZGl2PlxuICAgICAgICA8dmRyLWFzc2V0LWZpbGUtaW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwibWwzXCJcbiAgICAgICAgICAgIChzZWxlY3RGaWxlcyk9XCJjcmVhdGVBc3NldHMoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdXBsb2FkaW5nXT1cInVwbG9hZGluZ1wiXG4gICAgICAgICAgICBkcm9wWm9uZVRhcmdldD1cIi5tb2RhbC1jb250ZW50XCJcbiAgICAgICAgPjwvdmRyLWFzc2V0LWZpbGUtaW5wdXQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPHZkci1hc3NldC1zZWFyY2gtaW5wdXRcbiAgICBjbGFzcz1cIm1iLTJcIlxuICAgIFt0YWdzXT1cImFsbFRhZ3MkIHwgYXN5bmNcIlxuICAgIChzZWFyY2hUZXJtQ2hhbmdlKT1cInNlYXJjaFRlcm0kLm5leHQoJGV2ZW50KVwiXG4gICAgKHRhZ3NDaGFuZ2UpPVwiZmlsdGVyQnlUYWdzJC5uZXh0KCRldmVudClcIlxuICAgICNhc3NldFNlYXJjaElucHV0Q29tcG9uZW50XG4+PC92ZHItYXNzZXQtc2VhcmNoLWlucHV0PlxuPHZkci1hc3NldC1nYWxsZXJ5XG4gICAgW2Fzc2V0c109XCIoYXNzZXRzJCB8IGFzeW5jKSEgfCBwYWdpbmF0ZTogcGFnaW5hdGlvbkNvbmZpZ1wiXG4gICAgW211bHRpU2VsZWN0XT1cIm11bHRpU2VsZWN0XCJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbiA9ICRldmVudFwiXG4gICAgKGVkaXRBc3NldENsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAjYXNzZXRHYWxsZXJ5Q29tcG9uZW50XG4+PC92ZHItYXNzZXQtZ2FsbGVyeT5cblxuPGRpdiBjbGFzcz1cInBhZ2luZy1jb250cm9sc1wiPlxuICAgIDx2ZHItaXRlbXMtcGVyLXBhZ2UtY29udHJvbHNcbiAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJwYWdpbmF0aW9uQ29uZmlnLml0ZW1zUGVyUGFnZVwiXG4gICAgICAgIChpdGVtc1BlclBhZ2VDaGFuZ2UpPVwiaXRlbXNQZXJQYWdlQ2hhbmdlKCRldmVudClcIlxuICAgID48L3Zkci1pdGVtcy1wZXItcGFnZS1jb250cm9scz5cblxuICAgIDx2ZHItcGFnaW5hdGlvbi1jb250cm9sc1xuICAgICAgICBbY3VycmVudFBhZ2VdPVwicGFnaW5hdGlvbkNvbmZpZy5jdXJyZW50UGFnZVwiXG4gICAgICAgIFtpdGVtc1BlclBhZ2VdPVwicGFnaW5hdGlvbkNvbmZpZy5pdGVtc1BlclBhZ2VcIlxuICAgICAgICBbdG90YWxJdGVtc109XCJwYWdpbmF0aW9uQ29uZmlnLnRvdGFsSXRlbXNcIlxuICAgICAgICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlKCRldmVudClcIlxuICAgID48L3Zkci1wYWdpbmF0aW9uLWNvbnRyb2xzPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dCdXR0b25zPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInNlbGVjdCgpXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbZGlzYWJsZWRdPVwic2VsZWN0aW9uLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICB7eyAnYXNzZXQuYWRkLWFzc2V0LXdpdGgtY291bnQnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiBzZWxlY3Rpb24ubGVuZ3RoIH0gfX1cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,229 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import { fromEvent } from 'rxjs';
4
+ import { debounceTime } from 'rxjs/operators';
5
+ import { ManageTagsDialogComponent } from '../manage-tags-dialog/manage-tags-dialog.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "../../../data/providers/data.service";
9
+ import * as i3 from "../../../providers/notification/notification.service";
10
+ import * as i4 from "../../../providers/modal/modal.service";
11
+ import * as i5 from "@clr/angular";
12
+ import * as i6 from "@angular/common";
13
+ import * as i7 from "@angular/router";
14
+ import * as i8 from "../chip/chip.component";
15
+ import * as i9 from "../form-field/form-field.component";
16
+ import * as i10 from "../form-field/form-field-control.directive";
17
+ import * as i11 from "../labeled-data/labeled-data.component";
18
+ import * as i12 from "../focal-point-control/focal-point-control.component";
19
+ import * as i13 from "../tag-selector/tag-selector.component";
20
+ import * as i14 from "../tabbed-custom-fields/tabbed-custom-fields.component";
21
+ import * as i15 from "../asset-preview-links/asset-preview-links.component";
22
+ import * as i16 from "../page-entity-info/page-entity-info.component";
23
+ import * as i17 from "../page-detail-layout/page-detail-layout.component";
24
+ import * as i18 from "../page-detail-layout/page-detail-sidebar.component";
25
+ import * as i19 from "../card/card.component";
26
+ import * as i20 from "@ngx-translate/core";
27
+ import * as i21 from "../../pipes/file-size.pipe";
28
+ import * as i22 from "../../pipes/has-permission.pipe";
29
+ import * as i23 from "../../pipes/asset-preview.pipe";
30
+ export class AssetPreviewComponent {
31
+ constructor(formBuilder, dataService, notificationService, changeDetector, modalService) {
32
+ this.formBuilder = formBuilder;
33
+ this.dataService = dataService;
34
+ this.notificationService = notificationService;
35
+ this.changeDetector = changeDetector;
36
+ this.modalService = modalService;
37
+ this.editable = false;
38
+ this.customFields = [];
39
+ this.assetChange = new EventEmitter();
40
+ this.editClick = new EventEmitter();
41
+ this.form = this.formBuilder.group({
42
+ name: '',
43
+ tags: [[]],
44
+ });
45
+ this.size = 'medium';
46
+ this.width = 0;
47
+ this.height = 0;
48
+ this.centered = true;
49
+ this.settingFocalPoint = false;
50
+ this.previewAssetIndex = 0;
51
+ this.disableNextButton = false;
52
+ this.disablePreviousButton = false;
53
+ this.showSlideButtons = false;
54
+ }
55
+ get fpx() {
56
+ return this.asset.focalPoint ? this.asset.focalPoint.x : null;
57
+ }
58
+ get fpy() {
59
+ return this.asset.focalPoint ? this.asset.focalPoint.y : null;
60
+ }
61
+ ngOnInit() {
62
+ const { focalPoint } = this.asset;
63
+ if (this.assets?.length) {
64
+ this.showSlideButtons = true;
65
+ this.previewAssetIndex = this.assets.findIndex(asset => asset.id === this.asset.id) || 0;
66
+ }
67
+ else {
68
+ this.showSlideButtons = false;
69
+ this.updateButtonAccessibility();
70
+ }
71
+ this.updateButtonAccessibility();
72
+ this.form.get('name')?.setValue(this.asset.name);
73
+ this.form.get('tags')?.setValue(this.asset.tags?.map(t => t.value));
74
+ this.subscription = this.form.valueChanges.subscribe(value => {
75
+ this.assetChange.emit({
76
+ id: this.asset.id,
77
+ name: value.name,
78
+ tags: value.tags,
79
+ });
80
+ });
81
+ this.subscription.add(fromEvent(window, 'resize')
82
+ .pipe(debounceTime(50))
83
+ .subscribe(() => {
84
+ this.updateDimensions();
85
+ this.changeDetector.markForCheck();
86
+ }));
87
+ }
88
+ ngOnDestroy() {
89
+ if (this.subscription) {
90
+ this.subscription.unsubscribe();
91
+ }
92
+ }
93
+ getSourceFileName() {
94
+ const parts = this.asset.source.split(/[\\\/]/g);
95
+ return parts[parts.length - 1];
96
+ }
97
+ onImageLoad() {
98
+ this.updateDimensions();
99
+ this.changeDetector.markForCheck();
100
+ }
101
+ updateDimensions() {
102
+ const img = this.imageElementRef.nativeElement;
103
+ const container = this.previewDivRef.nativeElement;
104
+ const imgWidth = img.naturalWidth;
105
+ const imgHeight = img.naturalHeight;
106
+ const containerWidth = container.offsetWidth;
107
+ const containerHeight = container.offsetHeight;
108
+ const constrainToContainer = this.settingFocalPoint;
109
+ if (constrainToContainer) {
110
+ const controlsMarginPx = 48 * 2;
111
+ const availableHeight = containerHeight - controlsMarginPx;
112
+ const availableWidth = containerWidth;
113
+ const hRatio = imgHeight / availableHeight;
114
+ const wRatio = imgWidth / availableWidth;
115
+ const imageExceedsAvailableDimensions = 1 < hRatio || 1 < wRatio;
116
+ if (imageExceedsAvailableDimensions) {
117
+ const factor = hRatio < wRatio ? wRatio : hRatio;
118
+ this.width = Math.round(imgWidth / factor);
119
+ this.height = Math.round(imgHeight / factor);
120
+ this.centered = true;
121
+ return;
122
+ }
123
+ }
124
+ this.width = imgWidth;
125
+ this.height = imgHeight;
126
+ this.centered = imgWidth <= containerWidth && imgHeight <= containerHeight;
127
+ }
128
+ setFocalPointStart() {
129
+ this.sizePriorToSettingFocalPoint = this.size;
130
+ this.size = 'medium';
131
+ this.settingFocalPoint = true;
132
+ this.lastFocalPoint = this.asset.focalPoint || { x: 0.5, y: 0.5 };
133
+ this.updateDimensions();
134
+ }
135
+ removeFocalPoint() {
136
+ this.dataService.product
137
+ .updateAsset({
138
+ id: this.asset.id,
139
+ focalPoint: null,
140
+ })
141
+ .subscribe(() => {
142
+ this.notificationService.success(_('asset.update-focal-point-success'));
143
+ this.asset = { ...this.asset, focalPoint: null };
144
+ this.changeDetector.markForCheck();
145
+ }, () => this.notificationService.error(_('asset.update-focal-point-error')));
146
+ }
147
+ onFocalPointChange(point) {
148
+ this.lastFocalPoint = point;
149
+ }
150
+ setFocalPointCancel() {
151
+ this.settingFocalPoint = false;
152
+ this.lastFocalPoint = undefined;
153
+ this.size = this.sizePriorToSettingFocalPoint;
154
+ }
155
+ setFocalPointEnd() {
156
+ this.settingFocalPoint = false;
157
+ this.size = this.sizePriorToSettingFocalPoint;
158
+ if (this.lastFocalPoint) {
159
+ const { x, y } = this.lastFocalPoint;
160
+ this.lastFocalPoint = undefined;
161
+ this.dataService.product
162
+ .updateAsset({
163
+ id: this.asset.id,
164
+ focalPoint: { x, y },
165
+ })
166
+ .subscribe(() => {
167
+ this.notificationService.success(_('asset.update-focal-point-success'));
168
+ this.asset = { ...this.asset, focalPoint: { x, y } };
169
+ this.changeDetector.markForCheck();
170
+ }, () => this.notificationService.error(_('asset.update-focal-point-error')));
171
+ }
172
+ }
173
+ manageTags() {
174
+ this.modalService
175
+ .fromComponent(ManageTagsDialogComponent, {
176
+ size: 'sm',
177
+ })
178
+ .subscribe(result => {
179
+ if (result) {
180
+ this.notificationService.success(_('common.notify-updated-tags-success'));
181
+ }
182
+ });
183
+ }
184
+ nextImage() {
185
+ this.previewAssetIndex = this.previewAssetIndex + 1;
186
+ if (Array.isArray(this.assets)) {
187
+ this.asset = this.assets[this.previewAssetIndex];
188
+ this.updateButtonAccessibility();
189
+ }
190
+ }
191
+ previousImage() {
192
+ this.previewAssetIndex = this.previewAssetIndex - 1;
193
+ if (Array.isArray(this.assets)) {
194
+ this.asset = this.assets[this.previewAssetIndex];
195
+ this.updateButtonAccessibility();
196
+ }
197
+ }
198
+ updateButtonAccessibility() {
199
+ this.disableNextButton = this.assets?.[this.previewAssetIndex + 1]?.id ? false : true;
200
+ this.disablePreviousButton = this.assets?.[this.previewAssetIndex - 1]?.id ? false : true;
201
+ }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssetPreviewComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DataService }, { token: i3.NotificationService }, { token: i0.ChangeDetectorRef }, { token: i4.ModalService }], target: i0.ɵɵFactoryTarget.Component }); }
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AssetPreviewComponent, selector: "vdr-asset-preview", inputs: { asset: "asset", assets: "assets", editable: "editable", customFields: "customFields", customFieldsForm: "customFieldsForm" }, outputs: { assetChange: "assetChange", editClick: "editClick" }, viewQueries: [{ propertyName: "imageElementRef", first: true, predicate: ["imageElement"], descendants: true, static: true }, { propertyName: "previewDivRef", first: true, predicate: ["previewDiv"], descendants: true, static: true }], ngImport: i0, template: "<vdr-page-detail-layout>\n <vdr-page-detail-sidebar>\n <vdr-card>\n <div *ngIf=\"!editable\" class=\"mb-2\">\n <a\n class=\"button-ghost\"\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\n (click)=\"editClick.emit()\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n {{ 'common.edit' | translate }}\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </div>\n <vdr-form-field *ngIf=\"editable\" [label]=\"'common.name' | translate\" class=\"mb-2\">\n <input\n type=\"text\"\n [formControl]=\"form.get('name')\"\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\n />\n </vdr-form-field>\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\n <span class=\"elide\">\n {{ asset.name }}\n </span>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\n getSourceFileName()\n }}</a>\n </vdr-labeled-data>\n\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\n {{ asset.fileSize | filesize }}\n </vdr-labeled-data>\n\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\n {{ asset.width }} x {{ asset.height }}\n </vdr-labeled-data>\n\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\n <span *ngIf=\"fpx\"\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number : '1.2-2' }}, y:\n {{ fpy | number : '1.2-2' }}</span\n >\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\n <div class=\"flex mt-1\">\n <button\n class=\"button-small mr-1\"\n [disabled]=\"settingFocalPoint\"\n (click)=\"setFocalPointStart()\"\n >\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\n </button>\n <button\n class=\"button-small\"\n [disabled]=\"settingFocalPoint\"\n *ngIf=\"!!fpx\"\n (click)=\"removeFocalPoint()\"\n >\n {{ 'asset.unset-focal-point' | translate }}\n </button>\n </div>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\n <ng-container *ngIf=\"editable\">\n <vdr-tag-selector [formControl]=\"form.get('tags')\"></vdr-tag-selector>\n <button class=\"button-small mt-1\" (click)=\"manageTags()\">\n <clr-icon shape=\"tags\"></clr-icon>\n {{ 'common.manage-tags' | translate }}\n </button>\n </ng-container>\n <div *ngIf=\"!editable\">\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\n {{ tag.value }}</vdr-chip\n >\n </div>\n </vdr-labeled-data>\n </vdr-card>\n <vdr-card *ngIf=\"customFields.length\" [title]=\"'common.custom-fields' | translate\">\n <vdr-tabbed-custom-fields\n entityName=\"Asset\"\n [compact]=\"true\"\n [customFields]=\"customFields\"\n [customFieldsFormGroup]=\"customFieldsForm\"\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\n ></vdr-tabbed-custom-fields>\n </vdr-card>\n <vdr-card [title]=\"'asset.preview' | translate\">\n <vdr-form-field>\n <select name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\n <option value=\"tiny\">tiny</option>\n <option value=\"thumb\">thumb</option>\n <option value=\"small\">small</option>\n <option value=\"medium\">medium</option>\n <option value=\"large\">large</option>\n <option value=\"\">full size</option>\n </select>\n </vdr-form-field>\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\n <vdr-asset-preview-links [asset]=\"asset\"></vdr-asset-preview-links>\n </vdr-card>\n <vdr-card>\n <vdr-page-entity-info *ngIf=\"asset as entity\" [entity]=\"entity\"></vdr-page-entity-info>\n </vdr-card>\n </vdr-page-detail-sidebar>\n <div class=\"carousel-container\">\n <button *ngIf=\"showSlideButtons\" (click)=\"previousImage()\" class=\"carousel-button\" [class.disabled]=\"disablePreviousButton\">\n <clr-icon shape=\"caret left\" class=\"color-weight-800\"></clr-icon>\n </button>\n <div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\n <div class=\"image-wrapper\">\n <vdr-focal-point-control\n [width]=\"width\"\n [height]=\"height\"\n [fpx]=\"fpx\"\n [fpy]=\"fpy\"\n [editable]=\"settingFocalPoint\"\n (focalPointChange)=\"onFocalPointChange($event)\"\n >\n <img\n class=\"asset-image\"\n [src]=\"asset | assetPreview : size\"\n [ngClass]=\"size\"\n #imageElement\n (load)=\"onImageLoad()\"\n />\n </vdr-focal-point-control>\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\n <clr-icon shape=\"times\"></clr-icon>\n </button>\n <button\n class=\"btn btn-primary btn-sm\"\n (click)=\"setFocalPointEnd()\"\n [disabled]=\"!lastFocalPoint\"\n >\n <clr-icon shape=\"crosshairs\"></clr-icon>\n {{ 'asset.set-focal-point' | translate }}\n </button>\n </div>\n </div>\n </div>\n <button *ngIf=\"showSlideButtons\" (click)=\"nextImage()\" class=\"carousel-button\" [class.disabled]=\"disableNextButton\">\n <clr-icon shape=\"caret right\" class=\"color-weight-800\"></clr-icon>\n </button>\n </div>\n</vdr-page-detail-layout>\n", styles: [":host{height:100%}.preview-image{width:100%;max-width:750px;height:100%;min-height:60vh;overflow:auto;text-align:center;box-shadow:inset 0 0 5px #0000001a;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACuoAAArqAVDM774AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAK0lEQVQ4T2P4jwP8xgFGNSADqDwGIF0DlMYAUH0YYFQDMoDKYwASNfz/DwB/JvcficphowAAAABJRU5ErkJggg==);margin-top:var(--space-unit);flex:1}.preview-image.centered{display:flex;align-items:center;justify-content:center}.preview-image vdr-focal-point-control{position:relative;box-shadow:0 0 10px -3px #00000026}.preview-image .image-wrapper{position:relative}.preview-image .asset-image{width:100%}.preview-image .asset-image.tiny{max-width:50px;max-height:50px}.preview-image .asset-image.thumb{max-width:150px;max-height:150px}.preview-image .asset-image.small{max-width:300px;max-height:300px}.preview-image .asset-image.medium{max-width:500px;max-height:500px}.preview-image .asset-image.large{max-width:800px;max-height:800px}.preview-image .focal-point-info{position:absolute;display:flex;right:0}.controls{display:flex;flex-direction:column;margin-inline-start:12px;min-width:15vw;max-width:25vw;transition:opacity .3s}.controls.fade{opacity:.5}.controls .name-input{margin-bottom:24px}.controls ::ng-deep .clr-control-container{width:100%}.controls ::ng-deep .clr-control-container .clr-input{width:100%}.controls .elide{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.controls .source-link{direction:rtl}.controls .preview-select{display:flex;align-items:center}.controls .preview-select clr-select-container{margin-inline-end:12px}.carousel-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.carousel-container button.carousel-button{cursor:pointer;width:30px;height:30px;border:none;border-radius:50%;text-align:center;background-color:var(--color-grey-300)}.carousel-container button.carousel-button:hover{background-color:var(--color-grey-400)}.carousel-container .disabled{pointer-events:none;opacity:.4}\n"], dependencies: [{ kind: "directive", type: i5.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i9.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"], outputs: ["readOnlyToggleChange"] }, { kind: "directive", type: i10.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i11.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "component", type: i12.FocalPointControlComponent, selector: "vdr-focal-point-control", inputs: ["visible", "editable", "width", "height", "fpx", "fpy"], outputs: ["focalPointChange"] }, { kind: "component", type: i13.TagSelectorComponent, selector: "vdr-tag-selector", inputs: ["placeholder"] }, { kind: "component", type: i14.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { kind: "component", type: i15.AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: ["asset"] }, { kind: "component", type: i16.PageEntityInfoComponent, selector: "vdr-page-entity-info", inputs: ["entity"] }, { kind: "component", type: i17.PageDetailLayoutComponent, selector: "vdr-page-detail-layout" }, { kind: "component", type: i18.PageDetailSidebarComponent, selector: "vdr-page-detail-sidebar" }, { kind: "component", type: i19.CardComponent, selector: "vdr-card", inputs: ["title", "paddingX"] }, { kind: "pipe", type: i6.DecimalPipe, name: "number" }, { kind: "pipe", type: i20.TranslatePipe, name: "translate" }, { kind: "pipe", type: i21.FileSizePipe, name: "filesize" }, { kind: "pipe", type: i22.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i23.AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
204
+ }
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssetPreviewComponent, decorators: [{
206
+ type: Component,
207
+ args: [{ selector: 'vdr-asset-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-detail-layout>\n <vdr-page-detail-sidebar>\n <vdr-card>\n <div *ngIf=\"!editable\" class=\"mb-2\">\n <a\n class=\"button-ghost\"\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\n (click)=\"editClick.emit()\"\n >\n <clr-icon shape=\"edit\"></clr-icon>\n {{ 'common.edit' | translate }}\n <clr-icon shape=\"arrow right\"></clr-icon>\n </a>\n </div>\n <vdr-form-field *ngIf=\"editable\" [label]=\"'common.name' | translate\" class=\"mb-2\">\n <input\n type=\"text\"\n [formControl]=\"form.get('name')\"\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\n />\n </vdr-form-field>\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\n <span class=\"elide\">\n {{ asset.name }}\n </span>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\n getSourceFileName()\n }}</a>\n </vdr-labeled-data>\n\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\n {{ asset.fileSize | filesize }}\n </vdr-labeled-data>\n\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\n {{ asset.width }} x {{ asset.height }}\n </vdr-labeled-data>\n\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\n <span *ngIf=\"fpx\"\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number : '1.2-2' }}, y:\n {{ fpy | number : '1.2-2' }}</span\n >\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\n <div class=\"flex mt-1\">\n <button\n class=\"button-small mr-1\"\n [disabled]=\"settingFocalPoint\"\n (click)=\"setFocalPointStart()\"\n >\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\n </button>\n <button\n class=\"button-small\"\n [disabled]=\"settingFocalPoint\"\n *ngIf=\"!!fpx\"\n (click)=\"removeFocalPoint()\"\n >\n {{ 'asset.unset-focal-point' | translate }}\n </button>\n </div>\n </vdr-labeled-data>\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\n <ng-container *ngIf=\"editable\">\n <vdr-tag-selector [formControl]=\"form.get('tags')\"></vdr-tag-selector>\n <button class=\"button-small mt-1\" (click)=\"manageTags()\">\n <clr-icon shape=\"tags\"></clr-icon>\n {{ 'common.manage-tags' | translate }}\n </button>\n </ng-container>\n <div *ngIf=\"!editable\">\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\n {{ tag.value }}</vdr-chip\n >\n </div>\n </vdr-labeled-data>\n </vdr-card>\n <vdr-card *ngIf=\"customFields.length\" [title]=\"'common.custom-fields' | translate\">\n <vdr-tabbed-custom-fields\n entityName=\"Asset\"\n [compact]=\"true\"\n [customFields]=\"customFields\"\n [customFieldsFormGroup]=\"customFieldsForm\"\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\n ></vdr-tabbed-custom-fields>\n </vdr-card>\n <vdr-card [title]=\"'asset.preview' | translate\">\n <vdr-form-field>\n <select name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\n <option value=\"tiny\">tiny</option>\n <option value=\"thumb\">thumb</option>\n <option value=\"small\">small</option>\n <option value=\"medium\">medium</option>\n <option value=\"large\">large</option>\n <option value=\"\">full size</option>\n </select>\n </vdr-form-field>\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\n <vdr-asset-preview-links [asset]=\"asset\"></vdr-asset-preview-links>\n </vdr-card>\n <vdr-card>\n <vdr-page-entity-info *ngIf=\"asset as entity\" [entity]=\"entity\"></vdr-page-entity-info>\n </vdr-card>\n </vdr-page-detail-sidebar>\n <div class=\"carousel-container\">\n <button *ngIf=\"showSlideButtons\" (click)=\"previousImage()\" class=\"carousel-button\" [class.disabled]=\"disablePreviousButton\">\n <clr-icon shape=\"caret left\" class=\"color-weight-800\"></clr-icon>\n </button>\n <div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\n <div class=\"image-wrapper\">\n <vdr-focal-point-control\n [width]=\"width\"\n [height]=\"height\"\n [fpx]=\"fpx\"\n [fpy]=\"fpy\"\n [editable]=\"settingFocalPoint\"\n (focalPointChange)=\"onFocalPointChange($event)\"\n >\n <img\n class=\"asset-image\"\n [src]=\"asset | assetPreview : size\"\n [ngClass]=\"size\"\n #imageElement\n (load)=\"onImageLoad()\"\n />\n </vdr-focal-point-control>\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\n <clr-icon shape=\"times\"></clr-icon>\n </button>\n <button\n class=\"btn btn-primary btn-sm\"\n (click)=\"setFocalPointEnd()\"\n [disabled]=\"!lastFocalPoint\"\n >\n <clr-icon shape=\"crosshairs\"></clr-icon>\n {{ 'asset.set-focal-point' | translate }}\n </button>\n </div>\n </div>\n </div>\n <button *ngIf=\"showSlideButtons\" (click)=\"nextImage()\" class=\"carousel-button\" [class.disabled]=\"disableNextButton\">\n <clr-icon shape=\"caret right\" class=\"color-weight-800\"></clr-icon>\n </button>\n </div>\n</vdr-page-detail-layout>\n", styles: [":host{height:100%}.preview-image{width:100%;max-width:750px;height:100%;min-height:60vh;overflow:auto;text-align:center;box-shadow:inset 0 0 5px #0000001a;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACuoAAArqAVDM774AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAK0lEQVQ4T2P4jwP8xgFGNSADqDwGIF0DlMYAUH0YYFQDMoDKYwASNfz/DwB/JvcficphowAAAABJRU5ErkJggg==);margin-top:var(--space-unit);flex:1}.preview-image.centered{display:flex;align-items:center;justify-content:center}.preview-image vdr-focal-point-control{position:relative;box-shadow:0 0 10px -3px #00000026}.preview-image .image-wrapper{position:relative}.preview-image .asset-image{width:100%}.preview-image .asset-image.tiny{max-width:50px;max-height:50px}.preview-image .asset-image.thumb{max-width:150px;max-height:150px}.preview-image .asset-image.small{max-width:300px;max-height:300px}.preview-image .asset-image.medium{max-width:500px;max-height:500px}.preview-image .asset-image.large{max-width:800px;max-height:800px}.preview-image .focal-point-info{position:absolute;display:flex;right:0}.controls{display:flex;flex-direction:column;margin-inline-start:12px;min-width:15vw;max-width:25vw;transition:opacity .3s}.controls.fade{opacity:.5}.controls .name-input{margin-bottom:24px}.controls ::ng-deep .clr-control-container{width:100%}.controls ::ng-deep .clr-control-container .clr-input{width:100%}.controls .elide{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.controls .source-link{direction:rtl}.controls .preview-select{display:flex;align-items:center}.controls .preview-select clr-select-container{margin-inline-end:12px}.carousel-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.carousel-container button.carousel-button{cursor:pointer;width:30px;height:30px;border:none;border-radius:50%;text-align:center;background-color:var(--color-grey-300)}.carousel-container button.carousel-button:hover{background-color:var(--color-grey-400)}.carousel-container .disabled{pointer-events:none;opacity:.4}\n"] }]
208
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DataService }, { type: i3.NotificationService }, { type: i0.ChangeDetectorRef }, { type: i4.ModalService }], propDecorators: { asset: [{
209
+ type: Input
210
+ }], assets: [{
211
+ type: Input
212
+ }], editable: [{
213
+ type: Input
214
+ }], customFields: [{
215
+ type: Input
216
+ }], customFieldsForm: [{
217
+ type: Input
218
+ }], assetChange: [{
219
+ type: Output
220
+ }], editClick: [{
221
+ type: Output
222
+ }], imageElementRef: [{
223
+ type: ViewChild,
224
+ args: ['imageElement', { static: true }]
225
+ }], previewDivRef: [{
226
+ type: ViewChild,
227
+ args: ['previewDiv', { static: true }]
228
+ }] } });
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXcvYXNzZXQtcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXcvYXNzZXQtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFROUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVL0YsTUFBTSxPQUFPLHFCQUFxQjtJQTZCOUIsWUFDWSxXQUF3QixFQUN4QixXQUF3QixFQUN4QixtQkFBd0MsRUFDeEMsY0FBaUMsRUFDakMsWUFBMEI7UUFKMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWM7UUEvQjdCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBRXRDLGdCQUFXLEdBQUcsSUFB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QU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFpQjhDLGVBQWU7c0JBQW5FLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDUSxhQUFhO3NCQUEvRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnLCBVcGRhdGVBc3NldElucHV0IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBc3NldExpa2UgfSBmcm9tICcuLi9hc3NldC1nYWxsZXJ5L2Fzc2V0LWdhbGxlcnkudHlwZXMnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9mb2NhbC1wb2ludC1jb250cm9sL2ZvY2FsLXBvaW50LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IE1hbmFnZVRhZ3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9tYW5hZ2UtdGFncy1kaWFsb2cvbWFuYWdlLXRhZ3MtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFByZXZpZXdQcmVzZXQgPSAndGlueScgfCAndGh1bWInIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1hc3NldC1wcmV2aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXNzZXQtcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgYXNzZXQ6IEFzc2V0TGlrZTtcbiAgICBASW5wdXQoKSBhc3NldHM/OiBBc3NldExpa2VbXTtcbiAgICBASW5wdXQoKSBlZGl0YWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRDb25maWdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkc0Zvcm06IFVudHlwZWRGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XG4gICAgQE91dHB1dCgpIGFzc2V0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPbWl0PFVwZGF0ZUFzc2V0SW5wdXQsICdmb2NhbFBvaW50Jz4+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHRhZ3M6IFtbXSBhcyBzdHJpbmdbXV0sXG4gICAgfSk7XG5cbiAgICBzaXplOiBQcmV2aWV3UHJlc2V0ID0gJ21lZGl1bSc7XG4gICAgd2lkdGggPSAwO1xuICAgIGhlaWdodCA9IDA7XG4gICAgY2VudGVyZWQgPSB0cnVlO1xuICAgIHNldHRpbmdGb2NhbFBvaW50ID0gZmFsc2U7XG4gICAgbGFzdEZvY2FsUG9pbnQ/OiBQb2ludDtcbiAgICBwcmV2aWV3QXNzZXRJbmRleCA9IDA7XG4gICAgZGlzYWJsZU5leHRCdXR0b24gPSBmYWxzZTtcbiAgICBkaXNhYmxlUHJldmlvdXNCdXR0b24gPSBmYWxzZTtcbiAgICBzaG93U2xpZGVCdXR0b25zID0gZmFsc2U7XG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VFbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBpbWFnZUVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgncHJldmlld0RpdicsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgcHJldmlld0RpdlJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHNpemVQcmlvclRvU2V0dGluZ0ZvY2FsUG9pbnQ6IFByZXZpZXdQcmVzZXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgICkgeyB9XG5cbiAgICBnZXQgZnB4KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5hc3NldC5mb2NhbFBvaW50ID8gdGhpcy5hc3NldC5mb2NhbFBvaW50LnggOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmcHkoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmFzc2V0LmZvY2FsUG9pbnQgPyB0aGlzLmFzc2V0LmZvY2FsUG9pbnQueSA6IG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IHsgZm9jYWxQb2ludCB9ID0gdGhpcy5hc3NldDtcbiAgICAgICAgaWYgKHRoaXMuYXNzZXRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1NsaWRlQnV0dG9ucyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnByZXZpZXdBc3NldEluZGV4ID0gdGhpcy5hc3NldHMuZmluZEluZGV4KGFzc2V0ID0+IGFzc2V0LmlkID09PSB0aGlzLmFzc2V0LmlkKSB8fCAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93U2xpZGVCdXR0b25zID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvbkFjY2Vzc2liaWxpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvbkFjY2Vzc2liaWxpdHkoKTtcbiAgICAgICAgdGhpcy5mb3JtLmdldCgnbmFtZScpPy5zZXRWYWx1ZSh0aGlzLmFzc2V0Lm5hbWUpO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCd0YWdzJyk/LnNldFZhbHVlKHRoaXMuYXNzZXQudGFncz8ubWFwKHQgPT4gdC52YWx1ZSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXNzZXRDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuYXNzZXQuaWQsXG4gICAgICAgICAgICAgICAgbmFtZTogdmFsdWUubmFtZSxcbiAgICAgICAgICAgICAgICB0YWdzOiB2YWx1ZS50YWdzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRGltZW5zaW9ucygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTb3VyY2VGaWxlTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHRoaXMuYXNzZXQuc291cmNlLnNwbGl0KC9bXFxcXFxcL10vZyk7XG4gICAgICAgIHJldHVybiBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBvbkltYWdlTG9hZCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVEaW1lbnNpb25zKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlRGltZW5zaW9ucygpIHtcbiAgICAgICAgY29uc3QgaW1nID0gdGhpcy5pbWFnZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5wcmV2aWV3RGl2UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGltZ1dpZHRoID0gaW1nLm5hdHVyYWxXaWR0aDtcbiAgICAgICAgY29uc3QgaW1nSGVpZ2h0ID0gaW1nLm5hdHVyYWxIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyLm9mZnNldFdpZHRoO1xuICAgICAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXIub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgIGNvbnN0IGNvbnN0cmFpblRvQ29udGFpbmVyID0gdGhpcy5zZXR0aW5nRm9jYWxQb2ludDtcbiAgICAgICAgaWYgKGNvbnN0cmFpblRvQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sc01hcmdpblB4ID0gNDggKiAyO1xuICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0ID0gY29udGFpbmVySGVpZ2h0IC0gY29udHJvbHNNYXJnaW5QeDtcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZVdpZHRoID0gY29udGFpbmVyV2lkdGg7XG4gICAgICAgICAgICBjb25zdCBoUmF0aW8gPSBpbWdIZWlnaHQgLyBhdmFpbGFibGVIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCB3UmF0aW8gPSBpbWdXaWR0aCAvIGF2YWlsYWJsZVdpZHRoO1xuXG4gICAgICAgICAgICBjb25zdCBpbWFnZUV4Y2VlZHNBdmFpbGFibGVEaW1lbnNpb25zID0gMSA8IGhSYXRpbyB8fCAxIDwgd1JhdGlvO1xuICAgICAgICAgICAgaWYgKGltYWdlRXhjZWVkc0F2YWlsYWJsZURpbWVuc2lvbnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmYWN0b3IgPSBoUmF0aW8gPCB3UmF0aW8gPyB3UmF0aW8gOiBoUmF0aW87XG4gICAgICAgICAgICAgICAgdGhpcy53aWR0aCA9IE1hdGgucm91bmQoaW1nV2lkdGggLyBmYWN0b3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gTWF0aC5yb3VuZChpbWdIZWlnaHQgLyBmYWN0b3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2VudGVyZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLndpZHRoID0gaW1nV2lkdGg7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gaW1nSGVpZ2h0O1xuICAgICAgICB0aGlzLmNlbnRlcmVkID0gaW1nV2lkdGggPD0gY29udGFpbmVyV2lkdGggJiYgaW1nSGVpZ2h0IDw9IGNvbnRhaW5lckhlaWdodDtcbiAgICB9XG5cbiAgICBzZXRGb2NhbFBvaW50U3RhcnQoKSB7XG4gICAgICAgIHRoaXMuc2l6ZVByaW9yVG9TZXR0aW5nRm9jYWxQb2ludCA9IHRoaXMuc2l6ZTtcbiAgICAgICAgdGhpcy5zaXplID0gJ21lZGl1bSc7XG4gICAgICAgIHRoaXMuc2V0dGluZ0ZvY2FsUG9pbnQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxhc3RGb2NhbFBvaW50ID0gdGhpcy5hc3NldC5mb2NhbFBvaW50IHx8IHsgeDogMC41LCB5OiAwLjUgfTtcbiAgICAgICAgdGhpcy51cGRhdGVEaW1lbnNpb25zKCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlRm9jYWxQb2ludCgpIHtcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0XG4gICAgICAgICAgICAudXBkYXRlQXNzZXQoe1xuICAgICAgICAgICAgICAgIGlkOiB0aGlzLmFzc2V0LmlkLFxuICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQ6IG51bGwsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKF8oJ2Fzc2V0LnVwZGF0ZS1mb2NhbC1wb2ludC1zdWNjZXNzJykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFzc2V0ID0geyAuLi50aGlzLmFzc2V0LCBmb2NhbFBvaW50OiBudWxsIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LWVycm9yJykpLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkZvY2FsUG9pbnRDaGFuZ2UocG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSBwb2ludDtcbiAgICB9XG5cbiAgICBzZXRGb2NhbFBvaW50Q2FuY2VsKCkge1xuICAgICAgICB0aGlzLnNldHRpbmdGb2NhbFBvaW50ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuc2l6ZVByaW9yVG9TZXR0aW5nRm9jYWxQb2ludDtcbiAgICB9XG5cbiAgICBzZXRGb2NhbFBvaW50RW5kKCkge1xuICAgICAgICB0aGlzLnNldHRpbmdGb2NhbFBvaW50ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMuc2l6ZVByaW9yVG9TZXR0aW5nRm9jYWxQb2ludDtcbiAgICAgICAgaWYgKHRoaXMubGFzdEZvY2FsUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gdGhpcy5sYXN0Rm9jYWxQb2ludDtcbiAgICAgICAgICAgIHRoaXMubGFzdEZvY2FsUG9pbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnByb2R1Y3RcbiAgICAgICAgICAgICAgICAudXBkYXRlQXNzZXQoe1xuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5hc3NldC5pZCxcbiAgICAgICAgICAgICAgICAgICAgZm9jYWxQb2ludDogeyB4LCB5IH0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdhc3NldC51cGRhdGUtZm9jYWwtcG9pbnQtc3VjY2VzcycpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXNzZXQgPSB7IC4uLnRoaXMuYXNzZXQsIGZvY2FsUG9pbnQ6IHsgeCwgeSB9IH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnYXNzZXQudXBkYXRlLWZvY2FsLXBvaW50LWVycm9yJykpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYW5hZ2VUYWdzKCkge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxuICAgICAgICAgICAgLmZyb21Db21wb25lbnQoTWFuYWdlVGFnc0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIHNpemU6ICdzbScsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS11cGRhdGVkLXRhZ3Mtc3VjY2VzcycpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZXh0SW1hZ2UoKSB7XG4gICAgICAgIHRoaXMucHJldmlld0Fzc2V0SW5kZXggPSB0aGlzLnByZXZpZXdBc3NldEluZGV4ICsgMTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5hc3NldHMpKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2V0ID0gdGhpcy5hc3NldHNbdGhpcy5wcmV2aWV3QXNzZXRJbmRleF07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvbkFjY2Vzc2liaWxpdHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByZXZpb3VzSW1hZ2UoKSB7XG4gICAgICAgIHRoaXMucHJldmlld0Fzc2V0SW5kZXggPSB0aGlzLnByZXZpZXdBc3NldEluZGV4IC0gMTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5hc3NldHMpKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2V0ID0gdGhpcy5hc3NldHNbdGhpcy5wcmV2aWV3QXNzZXRJbmRleF07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvbkFjY2Vzc2liaWxpdHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUJ1dHRvbkFjY2Vzc2liaWxpdHkoKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZU5leHRCdXR0b24gPSB0aGlzLmFzc2V0cz8uW3RoaXMucHJldmlld0Fzc2V0SW5kZXggKyAxXT8uaWQgPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIHRoaXMuZGlzYWJsZVByZXZpb3VzQnV0dG9uID0gdGhpcy5hc3NldHM/Llt0aGlzLnByZXZpZXdBc3NldEluZGV4IC0gMV0/LmlkID8gZmFsc2UgOiB0cnVlO1xuICAgIH1cblxufVxuIiwiPHZkci1wYWdlLWRldGFpbC1sYXlvdXQ+XG4gICAgPHZkci1wYWdlLWRldGFpbC1zaWRlYmFyPlxuICAgICAgICA8dmRyLWNhcmQ+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWVkaXRhYmxlXCIgY2xhc3M9XCJtYi0yXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9jYXRhbG9nJywgJ2Fzc2V0cycsIGFzc2V0LmlkXVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0Q2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImVkaXRcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmVkaXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImFycm93IHJpZ2h0XCI+PC9jbHItaWNvbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDx2ZHItZm9ybS1maWVsZCAqbmdJZj1cImVkaXRhYmxlXCIgW2xhYmVsXT1cIidjb21tb24ubmFtZScgfCB0cmFuc2xhdGVcIiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ25hbWUnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhKFsnVXBkYXRlQ2F0YWxvZycsICdVcGRhdGVBc3NldCddIHwgaGFzUGVybWlzc2lvbikgfHwgc2V0dGluZ0ZvY2FsUG9pbnRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3Zkci1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidjb21tb24ubmFtZScgfCB0cmFuc2xhdGVcIiAqbmdJZj1cIiFlZGl0YWJsZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxpZGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgYXNzZXQubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdmRyLWxhYmVsZWQtZGF0YT5cbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInYXNzZXQuc291cmNlLWZpbGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiYXNzZXQuc291cmNlXCIgW3RpdGxlXT1cImFzc2V0LnNvdXJjZVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiZWxpZGUgc291cmNlLWxpbmtcIj57e1xuICAgICAgICAgICAgICAgICAgICBnZXRTb3VyY2VGaWxlTmFtZSgpXG4gICAgICAgICAgICAgICAgfX08L2E+XG4gICAgICAgICAgICA8L3Zkci1sYWJlbGVkLWRhdGE+XG5cbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInYXNzZXQub3JpZ2luYWwtYXNzZXQtc2l6ZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICB7eyBhc3NldC5maWxlU2l6ZSB8IGZpbGVzaXplIH19XG4gICAgICAgICAgICA8L3Zkci1sYWJlbGVkLWRhdGE+XG5cbiAgICAgICAgICAgIDx2ZHItbGFiZWxlZC1kYXRhIFtsYWJlbF09XCInYXNzZXQuZGltZW5zaW9ucycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICB7eyBhc3NldC53aWR0aCB9fSB4IHt7IGFzc2V0LmhlaWdodCB9fVxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxuXG4gICAgICAgICAgICA8dmRyLWxhYmVsZWQtZGF0YSBbbGFiZWxdPVwiJ2Fzc2V0LmZvY2FsLXBvaW50JyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZnB4XCJcbiAgICAgICAgICAgICAgICAgICAgPjxjbHItaWNvbiBzaGFwZT1cImNyb3NzaGFpcnNcIj48L2Nsci1pY29uPiB4OiB7eyBmcHggfCBudW1iZXIgOiAnMS4yLTInIH19LCB5OlxuICAgICAgICAgICAgICAgICAgICB7eyBmcHkgfCBudW1iZXIgOiAnMS4yLTInIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWZweFwiPnt7ICdjb21tb24ubm90LXNldCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggbXQtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1zbWFsbCBtci0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZXR0aW5nRm9jYWxQb2ludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0Rm9jYWxQb2ludFN0YXJ0KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZweFwiPnt7ICdhc3NldC5zZXQtZm9jYWwtcG9pbnQnIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZnB4XCI+e3sgJ2Fzc2V0LnVwZGF0ZS1mb2NhbC1wb2ludCcgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZXR0aW5nRm9jYWxQb2ludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEhZnB4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVGb2NhbFBvaW50KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnYXNzZXQudW5zZXQtZm9jYWwtcG9pbnQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxuICAgICAgICAgICAgPHZkci1sYWJlbGVkLWRhdGEgW2xhYmVsXT1cIidjb21tb24udGFncycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZkci10YWctc2VsZWN0b3IgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCd0YWdzJylcIj48L3Zkci10YWctc2VsZWN0b3I+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24tc21hbGwgbXQtMVwiIChjbGljayk9XCJtYW5hZ2VUYWdzKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRhZ3NcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2NvbW1vbi5tYW5hZ2UtdGFncycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlZGl0YWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXAgKm5nRm9yPVwibGV0IHRhZyBvZiBhc3NldC50YWdzXCIgW2NvbG9yRnJvbV09XCJ0YWcudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRhZ1wiIGNsYXNzPVwibXIyXCI+PC9jbHItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRhZy52YWx1ZSB9fTwvdmRyLWNoaXBcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC92ZHItbGFiZWxlZC1kYXRhPlxuICAgICAgICA8L3Zkci1jYXJkPlxuICAgICAgICA8dmRyLWNhcmQgKm5nSWY9XCJjdXN0b21GaWVsZHMubGVuZ3RoXCIgW3RpdGxlXT1cIidjb21tb24uY3VzdG9tLWZpZWxkcycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDx2ZHItdGFiYmVkLWN1c3RvbS1maWVsZHNcbiAgICAgICAgICAgICAgICBlbnRpdHlOYW1lPVwiQXNzZXRcIlxuICAgICAgICAgICAgICAgIFtjb21wYWN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtjdXN0b21GaWVsZHNdPVwiY3VzdG9tRmllbGRzXCJcbiAgICAgICAgICAgICAgICBbY3VzdG9tRmllbGRzRm9ybUdyb3VwXT1cImN1c3RvbUZpZWxkc0Zvcm1cIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhKFsnVXBkYXRlQ2F0YWxvZycsICdVcGRhdGVBc3NldCddIHwgaGFzUGVybWlzc2lvbilcIlxuICAgICAgICAgICAgPjwvdmRyLXRhYmJlZC1jdXN0b20tZmllbGRzPlxuICAgICAgICA8L3Zkci1jYXJkPlxuICAgICAgICA8dmRyLWNhcmQgW3RpdGxlXT1cIidhc3NldC5wcmV2aWV3JyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPHZkci1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT1cIm9wdGlvbnNcIiBbKG5nTW9kZWwpXT1cInNpemVcIiBbZGlzYWJsZWRdPVwic2V0dGluZ0ZvY2FsUG9pbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRpbnlcIj50aW55PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ0aHVtYlwiPnRodW1iPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPnNtYWxsPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtZWRpdW1cIj5tZWRpdW08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImxhcmdlXCI+bGFyZ2U8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPmZ1bGwgc2l6ZTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC92ZHItZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhc3NldC1kZXRhaWxcIj57eyB3aWR0aCB9fSB4IHt7IGhlaWdodCB9fTwvZGl2PlxuICAgICAgICAgICAgPHZkci1hc3NldC1wcmV2aWV3LWxpbmtzIFthc3NldF09XCJhc3NldFwiPjwvdmRyLWFzc2V0LXByZXZpZXctbGlua3M+XG4gICAgICAgIDwvdmRyLWNhcmQ+XG4gICAgICAgIDx2ZHItY2FyZD5cbiAgICAgICAgICAgIDx2ZHItcGFnZS1lbnRpdHktaW5mbyAqbmdJZj1cImFzc2V0IGFzIGVudGl0eVwiIFtlbnRpdHldPVwiZW50aXR5XCI+PC92ZHItcGFnZS1lbnRpdHktaW5mbz5cbiAgICAgICAgPC92ZHItY2FyZD5cbiAgICA8L3Zkci1wYWdlLWRldGFpbC1zaWRlYmFyPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1jb250YWluZXJcIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dTbGlkZUJ1dHRvbnNcIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCIgY2xhc3M9XCJjYXJvdXNlbC1idXR0b25cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZVByZXZpb3VzQnV0dG9uXCI+XG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjYXJldCBsZWZ0XCIgY2xhc3M9XCJjb2xvci13ZWlnaHQtODAwXCI+PC9jbHItaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWltYWdlXCIgI3ByZXZpZXdEaXYgW2NsYXNzLmNlbnRlcmVkXT1cImNlbnRlcmVkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDx2ZHItZm9jYWwtcG9pbnQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwid2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIFtmcHhdPVwiZnB4XCJcbiAgICAgICAgICAgICAgICAgICAgW2ZweV09XCJmcHlcIlxuICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwic2V0dGluZ0ZvY2FsUG9pbnRcIlxuICAgICAgICAgICAgICAgICAgICAoZm9jYWxQb2ludENoYW5nZSk9XCJvbkZvY2FsUG9pbnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFzc2V0LWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYXNzZXQgfCBhc3NldFByZXZpZXcgOiBzaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2ltYWdlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWQpPVwib25JbWFnZUxvYWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC92ZHItZm9jYWwtcG9pbnQtY29udHJvbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9jYWwtcG9pbnQtaW5mb1wiICpuZ0lmPVwic2V0dGluZ0ZvY2FsUG9pbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZvY2FsUG9pbnRDYW5jZWwoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidGltZXNcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRGb2NhbFBvaW50RW5kKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFsYXN0Rm9jYWxQb2ludFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImNyb3NzaGFpcnNcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2Fzc2V0LnNldC1mb2NhbC1wb2ludCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93U2xpZGVCdXR0b25zXCIgKGNsaWNrKT1cIm5leHRJbWFnZSgpXCIgY2xhc3M9XCJjYXJvdXNlbC1idXR0b25cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZU5leHRCdXR0b25cIj5cbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImNhcmV0IHJpZ2h0XCIgY2xhc3M9XCJjb2xvci13ZWlnaHQtODAwXCI+PC9jbHItaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L3Zkci1wYWdlLWRldGFpbC1sYXlvdXQ+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { gql } from 'apollo-angular';
3
+ import { of } from 'rxjs';
4
+ import { mergeMap } from 'rxjs/operators';
5
+ import { ASSET_FRAGMENT, TAG_FRAGMENT } from '../../../data/definitions/product-definitions';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../data/providers/data.service";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "../asset-preview/asset-preview.component";
10
+ import * as i4 from "../modal-dialog/dialog-title.directive";
11
+ export const ASSET_PREVIEW_QUERY = gql `
12
+ query AssetPreviewQuery($id: ID!) {
13
+ asset(id: $id) {
14
+ ...Asset
15
+ tags {
16
+ ...Tag
17
+ }
18
+ }
19
+ }
20
+ ${ASSET_FRAGMENT}
21
+ ${TAG_FRAGMENT}
22
+ `;
23
+ export class AssetPreviewDialogComponent {
24
+ constructor(dataService) {
25
+ this.dataService = dataService;
26
+ }
27
+ ngOnInit() {
28
+ this.assetWithTags$ = of(this.asset).pipe(mergeMap(asset => {
29
+ if (this.hasTags(asset)) {
30
+ return of(asset);
31
+ }
32
+ else {
33
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
34
+ return this.dataService.product.getAsset(asset.id).mapSingle(data => data.asset);
35
+ }
36
+ }));
37
+ this.assetsWithTags$ = of(this.assets ?? []);
38
+ }
39
+ hasTags(asset) {
40
+ return asset.hasOwnProperty('tags');
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssetPreviewDialogComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AssetPreviewDialogComponent, selector: "vdr-asset-preview-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\n <div class=\"title-row\">\n {{ asset.name }}\n </div>\n</ng-template>\n\n<vdr-asset-preview\n *ngIf=\"assetWithTags$ | async as assetWithTags\"\n [asset]=\"assetWithTags\"\n (assetChange)=\"assetChanges = $event\"\n (editClick)=\"resolveWith()\"\n [assets]=\"assetsWithTags$ | async\"\n></vdr-asset-preview>\n", styles: [":host{height:70vh;overflow:auto}.update-button.hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AssetPreviewComponent, selector: "vdr-asset-preview", inputs: ["asset", "assets", "editable", "customFields", "customFieldsForm"], outputs: ["assetChange", "editClick"] }, { kind: "directive", type: i4.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AssetPreviewDialogComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'vdr-asset-preview-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\n <div class=\"title-row\">\n {{ asset.name }}\n </div>\n</ng-template>\n\n<vdr-asset-preview\n *ngIf=\"assetWithTags$ | async as assetWithTags\"\n [asset]=\"assetWithTags\"\n (assetChange)=\"assetChanges = $event\"\n (editClick)=\"resolveWith()\"\n [assets]=\"assetsWithTags$ | async\"\n></vdr-asset-preview>\n", styles: [":host{height:70vh;overflow:auto}.update-button.hidden{visibility:hidden}\n"] }]
48
+ }], ctorParameters: () => [{ type: i1.DataService }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJldmlldy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9hc3NldC1wcmV2aWV3LWRpYWxvZy9hc3NldC1wcmV2aWV3LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXctZGlhbG9nL2Fzc2V0LXByZXZpZXctZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFPLFFBQVEsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBR3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7OztBQUs3RixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVNoQyxjQUFjO01BQ2QsWUFBWTtDQUNqQixDQUFDO0FBUUYsTUFBTSxPQUFPLDJCQUEyQjtJQUNwQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFJLENBQUM7SUFRakQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3JDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osb0VBQW9FO2dCQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxDQUFDO1lBQ3RGLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWdCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQTFCUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixnRUM5QnhDLGtYQWFBOzs0RkRpQmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgR2V0QXNzZXRRdWVyeSwgVXBkYXRlQXNzZXRJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgQVNTRVRfRlJBR01FTlQsIFRBR19GUkFHTUVOVCB9IGZyb20gJy4uLy4uLy4uL2RhdGEvZGVmaW5pdGlvbnMvcHJvZHVjdC1kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwudHlwZXMnO1xuaW1wb3J0IHsgQXNzZXRMaWtlIH0gZnJvbSAnLi4vYXNzZXQtZ2FsbGVyeS9hc3NldC1nYWxsZXJ5LnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IEFTU0VUX1BSRVZJRVdfUVVFUlkgPSBncWxgXG4gICAgcXVlcnkgQXNzZXRQcmV2aWV3UXVlcnkoJGlkOiBJRCEpIHtcbiAgICAgICAgYXNzZXQoaWQ6ICRpZCkge1xuICAgICAgICAgICAgLi4uQXNzZXRcbiAgICAgICAgICAgIHRhZ3Mge1xuICAgICAgICAgICAgICAgIC4uLlRhZ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7QVNTRVRfRlJBR01FTlR9XG4gICAgJHtUQUdfRlJBR01FTlR9XG5gO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1hc3NldC1wcmV2aWV3LWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LXByZXZpZXctZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hc3NldC1wcmV2aWV3LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFByZXZpZXdEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBEaWFsb2c8dm9pZD4sIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHsgfVxuICAgIGFzc2V0OiBBc3NldExpa2U7XG4gICAgYXNzZXRzPzogQXNzZXRMaWtlW107XG4gICAgYXNzZXRDaGFuZ2VzPzogVXBkYXRlQXNzZXRJbnB1dDtcbiAgICByZXNvbHZlV2l0aDogKHJlc3VsdD86IHZvaWQpID0+IHZvaWQ7XG4gICAgYXNzZXRXaXRoVGFncyQ6IE9ic2VydmFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXT47XG4gICAgYXNzZXRzV2l0aFRhZ3MkOiBPYnNlcnZhYmxlPEFycmF5PEdldEFzc2V0UXVlcnlbJ2Fzc2V0J10+PjtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmFzc2V0V2l0aFRhZ3MkID0gb2YodGhpcy5hc3NldCkucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKGFzc2V0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNUYWdzKGFzc2V0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoYXNzZXQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnByb2R1Y3QuZ2V0QXNzZXQoYXNzZXQuaWQpLm1hcFNpbmdsZShkYXRhID0+IGRhdGEuYXNzZXQhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmFzc2V0c1dpdGhUYWdzJCA9IG9mKHRoaXMuYXNzZXRzID8/IFtdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1RhZ3MoYXNzZXQ6IEFzc2V0TGlrZSk6IGFzc2V0IGlzIEFzc2V0TGlrZSAmIHsgdGFnczogc3RyaW5nW10gfSB7XG4gICAgICAgIHJldHVybiBhc3NldC5oYXNPd25Qcm9wZXJ0eSgndGFncycpO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSB2ZHJEaWFsb2dUaXRsZT5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGUtcm93XCI+XG4gICAgICAgIHt7IGFzc2V0Lm5hbWUgfX1cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjx2ZHItYXNzZXQtcHJldmlld1xuICAgICpuZ0lmPVwiYXNzZXRXaXRoVGFncyQgfCBhc3luYyBhcyBhc3NldFdpdGhUYWdzXCJcbiAgICBbYXNzZXRdPVwiYXNzZXRXaXRoVGFnc1wiXG4gICAgKGFzc2V0Q2hhbmdlKT1cImFzc2V0Q2hhbmdlcyA9ICRldmVudFwiXG4gICAgKGVkaXRDbGljayk9XCJyZXNvbHZlV2l0aCgpXCJcbiAgICBbYXNzZXRzXT1cImFzc2V0c1dpdGhUYWdzJCB8IGFzeW5jXCJcbj48L3Zkci1hc3NldC1wcmV2aWV3PlxuIl19