@vendure/admin-ui 2.0.0-beta.0 → 2.0.0-beta.2

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 (364) hide show
  1. package/catalog/components/product-options-editor/product-options-editor.component.d.ts +5 -2
  2. package/core/common/generated-types.d.ts +174 -38
  3. package/core/common/version.d.ts +1 -1
  4. package/esm2020/catalog/catalog.module.mjs +4 -4
  5. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +3 -3
  6. package/esm2020/catalog/components/asset-detail/asset-detail.component.mjs +3 -3
  7. package/esm2020/catalog/components/asset-list/asset-list.component.mjs +3 -3
  8. package/esm2020/catalog/components/assets/assets.component.mjs +3 -3
  9. package/esm2020/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +3 -3
  10. package/esm2020/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +3 -3
  11. package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +3 -3
  12. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +3 -3
  13. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +3 -3
  14. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +3 -3
  15. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +3 -3
  16. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +3 -3
  17. package/esm2020/catalog/components/collection-tree/collection-tree.service.mjs +3 -3
  18. package/esm2020/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +3 -3
  19. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
  20. package/esm2020/catalog/components/facet-list/facet-list.component.mjs +3 -3
  21. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +3 -3
  22. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +3 -3
  23. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +3 -3
  24. package/esm2020/catalog/components/product-list/product-list.component.mjs +3 -3
  25. package/esm2020/catalog/components/product-options-editor/product-options-editor.component.mjs +72 -29
  26. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +3 -3
  27. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +3 -3
  28. package/esm2020/catalog/components/product-variants-table/product-variants-table.component.mjs +3 -3
  29. package/esm2020/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +3 -3
  30. package/esm2020/catalog/components/variant-price-detail/variant-price-detail.component.mjs +3 -3
  31. package/esm2020/catalog/providers/product-detail/product-detail.service.mjs +3 -3
  32. package/esm2020/catalog/providers/routing/asset-resolver.mjs +3 -3
  33. package/esm2020/catalog/providers/routing/collection-resolver.mjs +3 -3
  34. package/esm2020/catalog/providers/routing/facet-resolver.mjs +3 -3
  35. package/esm2020/catalog/providers/routing/product-resolver.mjs +3 -3
  36. package/esm2020/catalog/providers/routing/product-variants-resolver.mjs +3 -3
  37. package/esm2020/core/app.component.mjs +3 -3
  38. package/esm2020/core/app.component.module.mjs +4 -4
  39. package/esm2020/core/common/base-list.component.mjs +3 -3
  40. package/esm2020/core/common/generated-types.mjs +1 -1
  41. package/esm2020/core/common/introspection-result.mjs +229 -305
  42. package/esm2020/core/common/version.mjs +2 -2
  43. package/esm2020/core/components/app-shell/app-shell.component.mjs +4 -4
  44. package/esm2020/core/components/base-nav/base-nav.component.mjs +3 -3
  45. package/esm2020/core/components/breadcrumb/breadcrumb.component.mjs +3 -3
  46. package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +3 -3
  47. package/esm2020/core/components/main-nav/main-nav.component.mjs +3 -3
  48. package/esm2020/core/components/notification/notification.component.mjs +3 -3
  49. package/esm2020/core/components/overlay-host/overlay-host.component.mjs +3 -3
  50. package/esm2020/core/components/page-title/page-title.component.mjs +3 -3
  51. package/esm2020/core/components/settings-nav/settings-nav.component.mjs +3 -3
  52. package/esm2020/core/components/theme-switcher/theme-switcher.component.mjs +3 -3
  53. package/esm2020/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +3 -3
  54. package/esm2020/core/components/user-menu/user-menu.component.mjs +3 -3
  55. package/esm2020/core/core.module.mjs +4 -4
  56. package/esm2020/core/data/data.module.mjs +4 -4
  57. package/esm2020/core/data/definitions/settings-definitions.mjs +4 -4
  58. package/esm2020/core/data/providers/base-data.service.mjs +3 -3
  59. package/esm2020/core/data/providers/data.service.mjs +3 -3
  60. package/esm2020/core/data/providers/fetch-adapter.mjs +3 -3
  61. package/esm2020/core/data/providers/interceptor.mjs +3 -3
  62. package/esm2020/core/data/server-config.mjs +3 -3
  63. package/esm2020/core/providers/auth/auth.service.mjs +3 -3
  64. package/esm2020/core/providers/breadcrumb/breadcrumb.service.mjs +3 -3
  65. package/esm2020/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +3 -3
  66. package/esm2020/core/providers/channel/channel.service.mjs +3 -3
  67. package/esm2020/core/providers/component-registry/component-registry.service.mjs +3 -3
  68. package/esm2020/core/providers/custom-detail-component/custom-detail-component.service.mjs +3 -3
  69. package/esm2020/core/providers/custom-field-component/custom-field-component.service.mjs +3 -3
  70. package/esm2020/core/providers/custom-history-entry-component/history-entry-component.service.mjs +3 -3
  71. package/esm2020/core/providers/dashboard-widget/dashboard-widget.service.mjs +3 -3
  72. package/esm2020/core/providers/guard/auth.guard.mjs +3 -3
  73. package/esm2020/core/providers/health-check/health-check.service.mjs +3 -3
  74. package/esm2020/core/providers/i18n/custom-message-format-compiler.mjs +3 -3
  75. package/esm2020/core/providers/i18n/i18n.service.mjs +3 -3
  76. package/esm2020/core/providers/job-queue/job-queue.service.mjs +3 -3
  77. package/esm2020/core/providers/local-storage/local-storage.service.mjs +3 -3
  78. package/esm2020/core/providers/modal/modal.service.mjs +3 -3
  79. package/esm2020/core/providers/nav-builder/nav-builder.service.mjs +3 -3
  80. package/esm2020/core/providers/notification/notification.service.mjs +3 -3
  81. package/esm2020/core/providers/overlay-host/overlay-host.service.mjs +3 -3
  82. package/esm2020/core/shared/components/action-bar/action-bar.component.mjs +9 -9
  83. package/esm2020/core/shared/components/action-bar-items/action-bar-items.component.mjs +3 -3
  84. package/esm2020/core/shared/components/address-form/address-form.component.mjs +3 -3
  85. package/esm2020/core/shared/components/affixed-input/affixed-input.component.mjs +3 -3
  86. package/esm2020/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +3 -3
  87. package/esm2020/core/shared/components/asset-file-input/asset-file-input.component.mjs +3 -3
  88. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +3 -3
  89. package/esm2020/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +3 -3
  90. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +3 -3
  91. package/esm2020/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +3 -3
  92. package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +3 -3
  93. package/esm2020/core/shared/components/asset-search-input/asset-search-input.component.mjs +3 -3
  94. package/esm2020/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +3 -3
  95. package/esm2020/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +3 -3
  96. package/esm2020/core/shared/components/channel-badge/channel-badge.component.mjs +3 -3
  97. package/esm2020/core/shared/components/chip/chip.component.mjs +3 -3
  98. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +3 -3
  99. package/esm2020/core/shared/components/currency-input/currency-input.component.mjs +3 -3
  100. package/esm2020/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +3 -3
  101. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +3 -3
  102. package/esm2020/core/shared/components/customer-label/customer-label.component.mjs +3 -3
  103. package/esm2020/core/shared/components/data-table/data-table-column.component.mjs +3 -3
  104. package/esm2020/core/shared/components/data-table/data-table.component.mjs +3 -3
  105. package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +3 -3
  106. package/esm2020/core/shared/components/datetime-picker/datetime-picker.service.mjs +3 -3
  107. package/esm2020/core/shared/components/dropdown/dropdown-item.directive.mjs +3 -3
  108. package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +3 -3
  109. package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +3 -3
  110. package/esm2020/core/shared/components/dropdown/dropdown.component.mjs +4 -4
  111. package/esm2020/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +3 -3
  112. package/esm2020/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +3 -3
  113. package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +3 -3
  114. package/esm2020/core/shared/components/extension-host/extension-host.component.mjs +3 -3
  115. package/esm2020/core/shared/components/extension-host/extension-host.service.mjs +3 -3
  116. package/esm2020/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +3 -3
  117. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +3 -3
  118. package/esm2020/core/shared/components/focal-point-control/focal-point-control.component.mjs +3 -3
  119. package/esm2020/core/shared/components/form-field/form-field-control.directive.mjs +3 -3
  120. package/esm2020/core/shared/components/form-field/form-field.component.mjs +3 -3
  121. package/esm2020/core/shared/components/form-item/form-item.component.mjs +3 -3
  122. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +3 -3
  123. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +3 -3
  124. package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +3 -3
  125. package/esm2020/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +3 -3
  126. package/esm2020/core/shared/components/labeled-data/labeled-data.component.mjs +3 -3
  127. package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +3 -3
  128. package/esm2020/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +3 -3
  129. package/esm2020/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +3 -3
  130. package/esm2020/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +3 -3
  131. package/esm2020/core/shared/components/modal-dialog/dialog-title.directive.mjs +3 -3
  132. package/esm2020/core/shared/components/modal-dialog/modal-dialog.component.mjs +3 -3
  133. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +3 -3
  134. package/esm2020/core/shared/components/order-state-label/order-state-label.component.mjs +3 -3
  135. package/esm2020/core/shared/components/pagination-controls/pagination-controls.component.mjs +3 -3
  136. package/esm2020/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +3 -3
  137. package/esm2020/core/shared/components/product-search-input/product-search-input.component.mjs +3 -3
  138. package/esm2020/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +3 -3
  139. package/esm2020/core/shared/components/radio-card/radio-card-fieldset.component.mjs +3 -3
  140. package/esm2020/core/shared/components/radio-card/radio-card.component.mjs +3 -3
  141. package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +3 -3
  142. package/esm2020/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +3 -3
  143. package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +3 -3
  144. package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +3 -3
  145. package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +3 -3
  146. package/esm2020/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +3 -3
  147. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +3 -3
  148. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +3 -3
  149. package/esm2020/core/shared/components/simple-dialog/simple-dialog.component.mjs +3 -3
  150. package/esm2020/core/shared/components/status-badge/status-badge.component.mjs +3 -3
  151. package/esm2020/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +3 -3
  152. package/esm2020/core/shared/components/table-row-action/table-row-action.component.mjs +3 -3
  153. package/esm2020/core/shared/components/tag-selector/tag-selector.component.mjs +3 -3
  154. package/esm2020/core/shared/components/timeline-entry/timeline-entry.component.mjs +3 -3
  155. package/esm2020/core/shared/components/title-input/title-input.component.mjs +3 -3
  156. package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +3 -3
  157. package/esm2020/core/shared/directives/disabled.directive.mjs +3 -3
  158. package/esm2020/core/shared/directives/if-default-channel-active.directive.mjs +3 -3
  159. package/esm2020/core/shared/directives/if-directive-base.mjs +3 -3
  160. package/esm2020/core/shared/directives/if-multichannel.directive.mjs +3 -3
  161. package/esm2020/core/shared/directives/if-permissions.directive.mjs +3 -3
  162. package/esm2020/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +3 -3
  163. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +3 -3
  164. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +3 -3
  165. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +3 -3
  166. package/esm2020/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +3 -3
  167. package/esm2020/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +3 -3
  168. package/esm2020/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +3 -3
  169. package/esm2020/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +3 -3
  170. package/esm2020/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +3 -3
  171. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +3 -3
  172. package/esm2020/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +3 -3
  173. package/esm2020/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +3 -3
  174. package/esm2020/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +3 -3
  175. package/esm2020/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +3 -3
  176. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +3 -3
  177. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +3 -3
  178. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +3 -3
  179. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +3 -3
  180. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +3 -3
  181. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +9 -9
  182. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +3 -3
  183. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +3 -3
  184. package/esm2020/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +3 -3
  185. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +3 -3
  186. package/esm2020/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +3 -3
  187. package/esm2020/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +3 -3
  188. package/esm2020/core/shared/pipes/asset-preview.pipe.mjs +3 -3
  189. package/esm2020/core/shared/pipes/channel-label.pipe.mjs +3 -3
  190. package/esm2020/core/shared/pipes/custom-field-description.pipe.mjs +3 -3
  191. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +3 -3
  192. package/esm2020/core/shared/pipes/duration.pipe.mjs +3 -3
  193. package/esm2020/core/shared/pipes/file-size.pipe.mjs +3 -3
  194. package/esm2020/core/shared/pipes/has-permission.pipe.mjs +3 -3
  195. package/esm2020/core/shared/pipes/locale-base.pipe.mjs +3 -3
  196. package/esm2020/core/shared/pipes/locale-currency-name.pipe.mjs +3 -3
  197. package/esm2020/core/shared/pipes/locale-currency.pipe.mjs +3 -3
  198. package/esm2020/core/shared/pipes/locale-date.pipe.mjs +3 -3
  199. package/esm2020/core/shared/pipes/locale-language-name.pipe.mjs +3 -3
  200. package/esm2020/core/shared/pipes/locale-region-name.pipe.mjs +3 -3
  201. package/esm2020/core/shared/pipes/sentence-case.pipe.mjs +3 -3
  202. package/esm2020/core/shared/pipes/sort.pipe.mjs +3 -3
  203. package/esm2020/core/shared/pipes/state-i18n-token.pipe.mjs +3 -3
  204. package/esm2020/core/shared/pipes/string-to-color.pipe.mjs +3 -3
  205. package/esm2020/core/shared/pipes/time-ago.pipe.mjs +3 -3
  206. package/esm2020/core/shared/providers/routing/can-deactivate-detail-guard.mjs +3 -3
  207. package/esm2020/core/shared/shared.module.mjs +4 -4
  208. package/esm2020/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +3 -3
  209. package/esm2020/customer/components/address-card/address-card.component.mjs +3 -3
  210. package/esm2020/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +3 -3
  211. package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +3 -3
  212. package/esm2020/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +3 -3
  213. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +3 -3
  214. package/esm2020/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
  215. package/esm2020/customer/components/customer-history/customer-history-entry-host.component.mjs +3 -3
  216. package/esm2020/customer/components/customer-history/customer-history.component.mjs +3 -3
  217. package/esm2020/customer/components/customer-list/customer-list.component.mjs +3 -3
  218. package/esm2020/customer/components/customer-status-label/customer-status-label.component.mjs +3 -3
  219. package/esm2020/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +3 -3
  220. package/esm2020/customer/customer.module.mjs +4 -4
  221. package/esm2020/customer/providers/routing/customer-resolver.mjs +3 -3
  222. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +3 -3
  223. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +3 -3
  224. package/esm2020/dashboard/dashboard.module.mjs +4 -4
  225. package/esm2020/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +7 -7
  226. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +7 -7
  227. package/esm2020/dashboard/widgets/test-widget/test-widget.component.mjs +7 -7
  228. package/esm2020/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +7 -7
  229. package/esm2020/login/components/login/login.component.mjs +5 -5
  230. package/esm2020/login/login.module.mjs +4 -4
  231. package/esm2020/login/providers/login.guard.mjs +3 -3
  232. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  233. package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +3 -3
  234. package/esm2020/marketing/marketing.module.mjs +4 -4
  235. package/esm2020/marketing/providers/routing/promotion-resolver.mjs +3 -3
  236. package/esm2020/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +3 -3
  237. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +3 -3
  238. package/esm2020/order/components/coupon-code-selector/coupon-code-selector.component.mjs +3 -3
  239. package/esm2020/order/components/draft-order-detail/draft-order-detail.component.mjs +3 -3
  240. package/esm2020/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +3 -3
  241. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +3 -3
  242. package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +3 -3
  243. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +3 -3
  244. package/esm2020/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +3 -3
  245. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +3 -3
  246. package/esm2020/order/components/line-refunds/line-refunds.component.mjs +3 -3
  247. package/esm2020/order/components/modification-detail/modification-detail.component.mjs +3 -3
  248. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +3 -3
  249. package/esm2020/order/components/order-detail/order-detail.component.mjs +3 -3
  250. package/esm2020/order/components/order-editor/order-editor.component.mjs +3 -3
  251. package/esm2020/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +3 -3
  252. package/esm2020/order/components/order-history/order-history-entry-host.component.mjs +3 -3
  253. package/esm2020/order/components/order-history/order-history.component.mjs +3 -3
  254. package/esm2020/order/components/order-list/order-list.component.mjs +3 -3
  255. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +3 -3
  256. package/esm2020/order/components/order-process-graph/order-process-edge.component.mjs +3 -3
  257. package/esm2020/order/components/order-process-graph/order-process-graph.component.mjs +3 -3
  258. package/esm2020/order/components/order-process-graph/order-process-node.component.mjs +3 -3
  259. package/esm2020/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +3 -3
  260. package/esm2020/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +3 -3
  261. package/esm2020/order/components/order-table/order-table.component.mjs +3 -3
  262. package/esm2020/order/components/payment-detail/payment-detail.component.mjs +3 -3
  263. package/esm2020/order/components/payment-state-label/payment-state-label.component.mjs +3 -3
  264. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +3 -3
  265. package/esm2020/order/components/refund-state-label/refund-state-label.component.mjs +3 -3
  266. package/esm2020/order/components/select-address-dialog/select-address-dialog.component.mjs +3 -3
  267. package/esm2020/order/components/select-customer-dialog/select-customer-dialog.component.mjs +3 -3
  268. package/esm2020/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +3 -3
  269. package/esm2020/order/components/seller-orders-card/seller-orders-card.component.mjs +3 -3
  270. package/esm2020/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +3 -3
  271. package/esm2020/order/components/simple-item-list/simple-item-list.component.mjs +3 -3
  272. package/esm2020/order/order.module.mjs +4 -4
  273. package/esm2020/order/providers/order-transition.service.mjs +3 -3
  274. package/esm2020/order/providers/routing/order-resolver.mjs +3 -3
  275. package/esm2020/order/providers/routing/order.guard.mjs +3 -3
  276. package/esm2020/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +3 -3
  277. package/esm2020/settings/components/admin-detail/admin-detail.component.mjs +3 -3
  278. package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +54 -11
  279. package/esm2020/settings/components/channel-detail/channel-detail.component.mjs +3 -3
  280. package/esm2020/settings/components/channel-list/channel-list.component.mjs +3 -3
  281. package/esm2020/settings/components/country-detail/country-detail.component.mjs +5 -5
  282. package/esm2020/settings/components/country-list/country-list.component.mjs +3 -3
  283. package/esm2020/settings/components/global-settings/global-settings.component.mjs +3 -3
  284. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +3 -3
  285. package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +3 -3
  286. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +3 -3
  287. package/esm2020/settings/components/profile/profile.component.mjs +3 -3
  288. package/esm2020/settings/components/role-detail/role-detail.component.mjs +3 -3
  289. package/esm2020/settings/components/role-list/role-list.component.mjs +3 -3
  290. package/esm2020/settings/components/seller-detail/seller-detail.component.mjs +3 -3
  291. package/esm2020/settings/components/seller-list/seller-list.component.mjs +3 -3
  292. package/esm2020/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +3 -3
  293. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
  294. package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +3 -3
  295. package/esm2020/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +3 -3
  296. package/esm2020/settings/components/tax-category-detail/tax-category-detail.component.mjs +3 -3
  297. package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +3 -3
  298. package/esm2020/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +3 -3
  299. package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +3 -3
  300. package/esm2020/settings/components/test-address-form/test-address-form.component.mjs +3 -3
  301. package/esm2020/settings/components/test-order-builder/test-order-builder.component.mjs +3 -3
  302. package/esm2020/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +3 -3
  303. package/esm2020/settings/components/zone-list/zone-list.component.mjs +3 -3
  304. package/esm2020/settings/components/zone-member-list/zone-member-controls.directive.mjs +3 -3
  305. package/esm2020/settings/components/zone-member-list/zone-member-list-header.directive.mjs +3 -3
  306. package/esm2020/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
  307. package/esm2020/settings/providers/routing/administrator-resolver.mjs +3 -3
  308. package/esm2020/settings/providers/routing/channel-resolver.mjs +3 -3
  309. package/esm2020/settings/providers/routing/country-resolver.mjs +3 -3
  310. package/esm2020/settings/providers/routing/global-settings-resolver.mjs +3 -3
  311. package/esm2020/settings/providers/routing/payment-method-resolver.mjs +3 -3
  312. package/esm2020/settings/providers/routing/profile-resolver.mjs +3 -3
  313. package/esm2020/settings/providers/routing/role-resolver.mjs +3 -3
  314. package/esm2020/settings/providers/routing/seller-resolver.mjs +3 -3
  315. package/esm2020/settings/providers/routing/shipping-method-resolver.mjs +3 -3
  316. package/esm2020/settings/providers/routing/tax-category-resolver.mjs +3 -3
  317. package/esm2020/settings/providers/routing/tax-rate-resolver.mjs +3 -3
  318. package/esm2020/settings/settings.module.mjs +4 -4
  319. package/esm2020/system/components/health-check/health-check.component.mjs +3 -3
  320. package/esm2020/system/components/job-list/job-list.component.mjs +3 -3
  321. package/esm2020/system/components/job-state-label/job-state-label.component.mjs +3 -3
  322. package/esm2020/system/system.module.mjs +4 -4
  323. package/fesm2015/vendure-admin-ui-catalog.mjs +173 -128
  324. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
  325. package/fesm2015/vendure-admin-ui-core.mjs +737 -813
  326. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
  327. package/fesm2015/vendure-admin-ui-customer.mjs +43 -43
  328. package/fesm2015/vendure-admin-ui-dashboard.mjs +38 -38
  329. package/fesm2015/vendure-admin-ui-login.mjs +11 -11
  330. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -1
  331. package/fesm2015/vendure-admin-ui-marketing.mjs +13 -13
  332. package/fesm2015/vendure-admin-ui-order.mjs +121 -121
  333. package/fesm2015/vendure-admin-ui-settings.mjs +176 -137
  334. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
  335. package/fesm2015/vendure-admin-ui-system.mjs +13 -13
  336. package/fesm2020/vendure-admin-ui-catalog.mjs +168 -125
  337. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
  338. package/fesm2020/vendure-admin-ui-core.mjs +737 -813
  339. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
  340. package/fesm2020/vendure-admin-ui-customer.mjs +43 -43
  341. package/fesm2020/vendure-admin-ui-dashboard.mjs +38 -38
  342. package/fesm2020/vendure-admin-ui-login.mjs +11 -11
  343. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -1
  344. package/fesm2020/vendure-admin-ui-marketing.mjs +13 -13
  345. package/fesm2020/vendure-admin-ui-order.mjs +121 -121
  346. package/fesm2020/vendure-admin-ui-settings.mjs +178 -137
  347. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
  348. package/fesm2020/vendure-admin-ui-system.mjs +13 -13
  349. package/package.json +2 -2
  350. package/settings/components/administrator-list/administrator-list.component.d.ts +17 -2
  351. package/static/i18n-messages/cs.json +2 -1
  352. package/static/i18n-messages/de.json +5 -2
  353. package/static/i18n-messages/en.json +5 -2
  354. package/static/i18n-messages/es.json +2 -1
  355. package/static/i18n-messages/fr.json +2 -1
  356. package/static/i18n-messages/it.json +2 -1
  357. package/static/i18n-messages/pl.json +2 -1
  358. package/static/i18n-messages/pt_BR.json +2 -1
  359. package/static/i18n-messages/pt_PT.json +2 -1
  360. package/static/i18n-messages/ru.json +2 -1
  361. package/static/i18n-messages/uk.json +2 -1
  362. package/static/i18n-messages/zh_Hans.json +2 -1
  363. package/static/i18n-messages/zh_Hant.json +2 -1
  364. package/static/theme.min.css +1 -1
@@ -4619,9 +4619,6 @@ const GET_SERVER_CONFIG = gql `
4619
4619
  Collection {
4620
4620
  ...CustomFields
4621
4621
  }
4622
- Country {
4623
- ...CustomFields
4624
- }
4625
4622
  Customer {
4626
4623
  ...CustomFields
4627
4624
  }
@@ -4664,6 +4661,9 @@ const GET_SERVER_CONFIG = gql `
4664
4661
  Promotion {
4665
4662
  ...CustomFields
4666
4663
  }
4664
+ Region {
4665
+ ...CustomFields
4666
+ }
4667
4667
  Seller {
4668
4668
  ...CustomFields
4669
4669
  }
@@ -5947,9 +5947,9 @@ class LocalStorageService {
5947
5947
  return PREFIX + key;
5948
5948
  }
5949
5949
  }
5950
- LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocalStorageService, deps: [{ token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
5951
- LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
5952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocalStorageService, decorators: [{
5950
+ LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocalStorageService, deps: [{ token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
5951
+ LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
5952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocalStorageService, decorators: [{
5953
5953
  type: Injectable,
5954
5954
  args: [{
5955
5955
  providedIn: 'root',
@@ -6019,9 +6019,9 @@ class ServerConfigService {
6019
6019
  return this._serverConfig;
6020
6020
  }
6021
6021
  }
6022
- ServerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ServerConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
6023
- ServerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ServerConfigService });
6024
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ServerConfigService, decorators: [{
6022
+ ServerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ServerConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
6023
+ ServerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ServerConfigService });
6024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ServerConfigService, decorators: [{
6025
6025
  type: Injectable
6026
6026
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
6027
6027
 
@@ -6076,9 +6076,9 @@ class BaseDataService {
6076
6076
  return variables;
6077
6077
  }
6078
6078
  }
6079
- BaseDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseDataService, deps: [{ token: i1.Apollo }, { token: i1$1.HttpClient }, { token: LocalStorageService }, { token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
6080
- BaseDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseDataService });
6081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseDataService, decorators: [{
6079
+ BaseDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseDataService, deps: [{ token: i1.Apollo }, { token: i1$1.HttpClient }, { token: LocalStorageService }, { token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
6080
+ BaseDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseDataService });
6081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseDataService, decorators: [{
6082
6082
  type: Injectable
6083
6083
  }], ctorParameters: function () { return [{ type: i1.Apollo }, { type: i1$1.HttpClient }, { type: LocalStorageService }, { type: ServerConfigService }]; } });
6084
6084
 
@@ -6152,9 +6152,9 @@ class DataService {
6152
6152
  return this.baseDataService.mutate(mutation, variables, update);
6153
6153
  }
6154
6154
  }
6155
- DataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataService, deps: [{ token: BaseDataService }], target: i0.ɵɵFactoryTarget.Injectable });
6156
- DataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataService });
6157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataService, decorators: [{
6155
+ DataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataService, deps: [{ token: BaseDataService }], target: i0.ɵɵFactoryTarget.Injectable });
6156
+ DataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataService });
6157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataService, decorators: [{
6158
6158
  type: Injectable
6159
6159
  }], ctorParameters: function () { return [{ type: BaseDataService }]; } });
6160
6160
 
@@ -6195,9 +6195,9 @@ class OverlayHostService {
6195
6195
  this.promiseResolveFns = [];
6196
6196
  }
6197
6197
  }
6198
- OverlayHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OverlayHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6199
- OverlayHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OverlayHostService, providedIn: 'root' });
6200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OverlayHostService, decorators: [{
6198
+ OverlayHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OverlayHostService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6199
+ OverlayHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OverlayHostService, providedIn: 'root' });
6200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OverlayHostService, decorators: [{
6201
6201
  type: Injectable,
6202
6202
  args: [{
6203
6203
  providedIn: 'root',
@@ -6213,9 +6213,9 @@ class OverlayHostComponent {
6213
6213
  overlayHostService.registerHostView(viewContainerRef);
6214
6214
  }
6215
6215
  }
6216
- OverlayHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OverlayHostComponent, deps: [{ token: i0.ViewContainerRef }, { token: OverlayHostService }], target: i0.ɵɵFactoryTarget.Component });
6217
- OverlayHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: OverlayHostComponent, selector: "vdr-overlay-host", ngImport: i0, template: '<!-- -->', isInline: true });
6218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OverlayHostComponent, decorators: [{
6216
+ OverlayHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OverlayHostComponent, deps: [{ token: i0.ViewContainerRef }, { token: OverlayHostService }], target: i0.ɵɵFactoryTarget.Component });
6217
+ OverlayHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: OverlayHostComponent, selector: "vdr-overlay-host", ngImport: i0, template: '<!-- -->', isInline: true });
6218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OverlayHostComponent, decorators: [{
6219
6219
  type: Component,
6220
6220
  args: [{
6221
6221
  selector: 'vdr-overlay-host',
@@ -6275,9 +6275,9 @@ class AppComponent {
6275
6275
  }
6276
6276
  }
6277
6277
  }
6278
- AppComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppComponent, deps: [{ token: DataService }, { token: ServerConfigService }, { token: LocalStorageService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
6279
- AppComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AppComponent, selector: "vdr-root", host: { listeners: { "window:keydown": "handleGlobalHotkeys($event)" } }, ngImport: i0, template: "<div class=\"progress loop\" [class.visible]=\"loading$ | async\"></div>\r\n<router-outlet></router-outlet>\r\n<vdr-overlay-host></vdr-overlay-host>\r\n", styles: [".progress{position:absolute;overflow:hidden;height:4px;background-color:var(--color-grey-500);opacity:0;transition:opacity .1s}.progress.visible{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: OverlayHostComponent, selector: "vdr-overlay-host" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
6280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppComponent, decorators: [{
6278
+ AppComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppComponent, deps: [{ token: DataService }, { token: ServerConfigService }, { token: LocalStorageService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
6279
+ AppComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AppComponent, selector: "vdr-root", host: { listeners: { "window:keydown": "handleGlobalHotkeys($event)" } }, ngImport: i0, template: "<div class=\"progress loop\" [class.visible]=\"loading$ | async\"></div>\r\n<router-outlet></router-outlet>\r\n<vdr-overlay-host></vdr-overlay-host>\r\n", styles: [".progress{position:absolute;overflow:hidden;height:4px;background-color:var(--color-grey-500);opacity:0;transition:opacity .1s}.progress.visible{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: OverlayHostComponent, selector: "vdr-overlay-host" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
6280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppComponent, decorators: [{
6281
6281
  type: Component,
6282
6282
  args: [{ selector: 'vdr-root', template: "<div class=\"progress loop\" [class.visible]=\"loading$ | async\"></div>\r\n<router-outlet></router-outlet>\r\n<vdr-overlay-host></vdr-overlay-host>\r\n", styles: [".progress{position:absolute;overflow:hidden;height:4px;background-color:var(--color-grey-500);opacity:0;transition:opacity .1s}.progress.visible{opacity:1}\n"] }]
6283
6283
  }], ctorParameters: function () { return [{ type: DataService }, { type: ServerConfigService }, { type: LocalStorageService }, { type: undefined, decorators: [{
@@ -6336,9 +6336,9 @@ class FormFieldControlDirective {
6336
6336
  }
6337
6337
  }
6338
6338
  }
6339
- FormFieldControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormFieldControlDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6340
- FormFieldControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: FormFieldControlDirective, selector: "input, textarea, select", ngImport: i0 });
6341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormFieldControlDirective, decorators: [{
6339
+ FormFieldControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldControlDirective, deps: [{ token: i0.ElementRef }, { token: i1$3.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6340
+ FormFieldControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldControlDirective, selector: "input, textarea, select", ngImport: i0 });
6341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldControlDirective, decorators: [{
6342
6342
  type: Directive,
6343
6343
  args: [{ selector: 'input, textarea, select' }]
6344
6344
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$3.NgControl, decorators: [{
@@ -6363,9 +6363,9 @@ class DialogComponentOutletComponent {
6363
6363
  this.create.emit(componentRef.instance);
6364
6364
  }
6365
6365
  }
6366
- DialogComponentOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DialogComponentOutletComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
6367
- DialogComponentOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DialogComponentOutletComponent, selector: "vdr-dialog-component-outlet", inputs: { component: "component" }, outputs: { create: "create" }, ngImport: i0, template: ``, isInline: true });
6368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DialogComponentOutletComponent, decorators: [{
6366
+ DialogComponentOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DialogComponentOutletComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
6367
+ DialogComponentOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DialogComponentOutletComponent, selector: "vdr-dialog-component-outlet", inputs: { component: "component" }, outputs: { create: "create" }, ngImport: i0, template: ``, isInline: true });
6368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DialogComponentOutletComponent, decorators: [{
6369
6369
  type: Component,
6370
6370
  args: [{
6371
6371
  selector: 'vdr-dialog-component-outlet',
@@ -6424,9 +6424,9 @@ class ModalDialogComponent {
6424
6424
  }
6425
6425
  }
6426
6426
  }
6427
- ModalDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6428
- ModalDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ModalDialogComponent, selector: "vdr-modal-dialog", ngImport: i0, template: "<clr-modal\r\n [clrModalOpen]=\"true\"\r\n (clrModalOpenChange)=\"modalOpenChange($event)\"\r\n [clrModalClosable]=\"options?.closable\"\r\n [clrModalSize]=\"options?.size\"\r\n [ngClass]=\"'modal-valign-' + (options?.verticalAlign || 'center')\"\r\n>\r\n <h3 class=\"modal-title\"><ng-container *ngTemplateOutlet=\"(titleTemplateRef$ | async)\"></ng-container></h3>\r\n <div class=\"modal-body\">\r\n <vdr-dialog-component-outlet\r\n [component]=\"childComponentType\"\r\n (create)=\"onCreate($event)\"\r\n ></vdr-dialog-component-outlet>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"(buttonsTemplateRef$ | async)\"></ng-container>\r\n </div>\r\n</clr-modal>\r\n", styles: ["::ng-deep clr-modal.modal-valign-top .modal{justify-content:flex-start}::ng-deep clr-modal.modal-valign-bottom .modal{justify-content:flex-end}.modal-body{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i1$4.ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalCloseButtonAriaLabel", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalPreventClose", "clrModalLabelledById"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { kind: "directive", type: i1$4.ClrModalBody, selector: ".modal-body" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogComponentOutletComponent, selector: "vdr-dialog-component-outlet", inputs: ["component"], outputs: ["create"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
6429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ModalDialogComponent, decorators: [{
6427
+ ModalDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ModalDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6428
+ ModalDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ModalDialogComponent, selector: "vdr-modal-dialog", ngImport: i0, template: "<clr-modal\r\n [clrModalOpen]=\"true\"\r\n (clrModalOpenChange)=\"modalOpenChange($event)\"\r\n [clrModalClosable]=\"options?.closable\"\r\n [clrModalSize]=\"options?.size\"\r\n [ngClass]=\"'modal-valign-' + (options?.verticalAlign || 'center')\"\r\n>\r\n <h3 class=\"modal-title\"><ng-container *ngTemplateOutlet=\"(titleTemplateRef$ | async)\"></ng-container></h3>\r\n <div class=\"modal-body\">\r\n <vdr-dialog-component-outlet\r\n [component]=\"childComponentType\"\r\n (create)=\"onCreate($event)\"\r\n ></vdr-dialog-component-outlet>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"(buttonsTemplateRef$ | async)\"></ng-container>\r\n </div>\r\n</clr-modal>\r\n", styles: ["::ng-deep clr-modal.modal-valign-top .modal{justify-content:flex-start}::ng-deep clr-modal.modal-valign-bottom .modal{justify-content:flex-end}.modal-body{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: i1$4.ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalCloseButtonAriaLabel", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalPreventClose", "clrModalLabelledById"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { kind: "directive", type: i1$4.ClrModalBody, selector: ".modal-body" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DialogComponentOutletComponent, selector: "vdr-dialog-component-outlet", inputs: ["component"], outputs: ["create"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
6429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ModalDialogComponent, decorators: [{
6430
6430
  type: Component,
6431
6431
  args: [{ selector: 'vdr-modal-dialog', template: "<clr-modal\r\n [clrModalOpen]=\"true\"\r\n (clrModalOpenChange)=\"modalOpenChange($event)\"\r\n [clrModalClosable]=\"options?.closable\"\r\n [clrModalSize]=\"options?.size\"\r\n [ngClass]=\"'modal-valign-' + (options?.verticalAlign || 'center')\"\r\n>\r\n <h3 class=\"modal-title\"><ng-container *ngTemplateOutlet=\"(titleTemplateRef$ | async)\"></ng-container></h3>\r\n <div class=\"modal-body\">\r\n <vdr-dialog-component-outlet\r\n [component]=\"childComponentType\"\r\n (create)=\"onCreate($event)\"\r\n ></vdr-dialog-component-outlet>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"(buttonsTemplateRef$ | async)\"></ng-container>\r\n </div>\r\n</clr-modal>\r\n", styles: ["::ng-deep clr-modal.modal-valign-top .modal{justify-content:flex-start}::ng-deep clr-modal.modal-valign-bottom .modal{justify-content:flex-end}.modal-body{display:flex;flex-direction:column}\n"] }]
6432
6432
  }] });
@@ -6444,9 +6444,9 @@ class DialogButtonsDirective {
6444
6444
  setTimeout(() => this.modal.registerButtonsTemplate(this.templateRef));
6445
6445
  }
6446
6446
  }
6447
- DialogButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: ModalDialogComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6448
- DialogButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: DialogButtonsDirective, selector: "[vdrDialogButtons]", ngImport: i0 });
6449
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DialogButtonsDirective, decorators: [{
6447
+ DialogButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: ModalDialogComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6448
+ DialogButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DialogButtonsDirective, selector: "[vdrDialogButtons]", ngImport: i0 });
6449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DialogButtonsDirective, decorators: [{
6450
6450
  type: Directive,
6451
6451
  args: [{ selector: '[vdrDialogButtons]' }]
6452
6452
  }], ctorParameters: function () { return [{ type: ModalDialogComponent }, { type: i0.TemplateRef }]; } });
@@ -6464,18 +6464,18 @@ class DialogTitleDirective {
6464
6464
  setTimeout(() => this.modal.registerTitleTemplate(this.templateRef));
6465
6465
  }
6466
6466
  }
6467
- DialogTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DialogTitleDirective, deps: [{ token: ModalDialogComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6468
- DialogTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: DialogTitleDirective, selector: "[vdrDialogTitle]", ngImport: i0 });
6469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DialogTitleDirective, decorators: [{
6467
+ DialogTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DialogTitleDirective, deps: [{ token: ModalDialogComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6468
+ DialogTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DialogTitleDirective, selector: "[vdrDialogTitle]", ngImport: i0 });
6469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DialogTitleDirective, decorators: [{
6470
6470
  type: Directive,
6471
6471
  args: [{ selector: '[vdrDialogTitle]' }]
6472
6472
  }], ctorParameters: function () { return [{ type: ModalDialogComponent }, { type: i0.TemplateRef }]; } });
6473
6473
 
6474
6474
  class LabeledDataComponent {
6475
6475
  }
6476
- LabeledDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LabeledDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6477
- LabeledDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: { label: "label" }, ngImport: i0, template: "<div class=\"label-title\">{{ label }}</div>\r\n<ng-content></ng-content>\r\n", styles: [":host{display:block;margin-bottom:6px}.label-title{font-size:12px;color:var(--color-text-300);line-height:12px;margin-bottom:-4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LabeledDataComponent, decorators: [{
6476
+ LabeledDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LabeledDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6477
+ LabeledDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: { label: "label" }, ngImport: i0, template: "<div class=\"label-title\">{{ label }}</div>\r\n<ng-content></ng-content>\r\n", styles: [":host{display:block;margin-bottom:6px}.label-title{font-size:12px;color:var(--color-text-300);line-height:12px;margin-bottom:-4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LabeledDataComponent, decorators: [{
6479
6479
  type: Component,
6480
6480
  args: [{ selector: 'vdr-labeled-data', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"label-title\">{{ label }}</div>\r\n<ng-content></ng-content>\r\n", styles: [":host{display:block;margin-bottom:6px}.label-title{font-size:12px;color:var(--color-text-300);line-height:12px;margin-bottom:-4px}\n"] }]
6481
6481
  }], propDecorators: { label: [{
@@ -6528,9 +6528,9 @@ class LocaleBasePipe {
6528
6528
  }
6529
6529
  }
6530
6530
  }
6531
- LocaleBasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleBasePipe, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
6532
- LocaleBasePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleBasePipe });
6533
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleBasePipe, decorators: [{
6531
+ LocaleBasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleBasePipe, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
6532
+ LocaleBasePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleBasePipe });
6533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleBasePipe, decorators: [{
6534
6534
  type: Injectable
6535
6535
  }], ctorParameters: function () { return [{ type: DataService }, { type: i0.ChangeDetectorRef }]; } });
6536
6536
 
@@ -6577,9 +6577,9 @@ class LocaleCurrencyNamePipe extends LocaleBasePipe {
6577
6577
  return display === 'full' ? `${name} (${symbol})` : display === 'name' ? name : symbol;
6578
6578
  }
6579
6579
  }
6580
- LocaleCurrencyNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleCurrencyNamePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6581
- LocaleCurrencyNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: LocaleCurrencyNamePipe, name: "localeCurrencyName", pure: false });
6582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleCurrencyNamePipe, decorators: [{
6580
+ LocaleCurrencyNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleCurrencyNamePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6581
+ LocaleCurrencyNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: LocaleCurrencyNamePipe, name: "localeCurrencyName", pure: false });
6582
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleCurrencyNamePipe, decorators: [{
6583
6583
  type: Pipe,
6584
6584
  args: [{
6585
6585
  name: 'localeCurrencyName',
@@ -6614,9 +6614,9 @@ class SortPipe {
6614
6614
  });
6615
6615
  }
6616
6616
  }
6617
- SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6618
- SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: SortPipe, name: "sort" });
6619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SortPipe, decorators: [{
6617
+ SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
6618
+ SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SortPipe, name: "sort" });
6619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SortPipe, decorators: [{
6620
6620
  type: Pipe,
6621
6621
  args: [{
6622
6622
  name: 'sort',
@@ -6689,9 +6689,9 @@ class LocaleDatePipe extends LocaleBasePipe {
6689
6689
  }
6690
6690
  }
6691
6691
  }
6692
- LocaleDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleDatePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6693
- LocaleDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: LocaleDatePipe, name: "localeDate", pure: false });
6694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleDatePipe, decorators: [{
6692
+ LocaleDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleDatePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6693
+ LocaleDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: LocaleDatePipe, name: "localeDate", pure: false });
6694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleDatePipe, decorators: [{
6695
6695
  type: Pipe,
6696
6696
  args: [{
6697
6697
  name: 'localeDate',
@@ -6737,9 +6737,9 @@ class LocaleCurrencyPipe extends LocaleBasePipe {
6737
6737
  return value;
6738
6738
  }
6739
6739
  }
6740
- LocaleCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleCurrencyPipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6741
- LocaleCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: LocaleCurrencyPipe, name: "localeCurrency", pure: false });
6742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleCurrencyPipe, decorators: [{
6740
+ LocaleCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleCurrencyPipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6741
+ LocaleCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: LocaleCurrencyPipe, name: "localeCurrency", pure: false });
6742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleCurrencyPipe, decorators: [{
6743
6743
  type: Pipe,
6744
6744
  args: [{
6745
6745
  name: 'localeCurrency',
@@ -6784,9 +6784,9 @@ class LocaleLanguageNamePipe extends LocaleBasePipe {
6784
6784
  }
6785
6785
  }
6786
6786
  }
6787
- LocaleLanguageNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleLanguageNamePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6788
- LocaleLanguageNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: LocaleLanguageNamePipe, name: "localeLanguageName", pure: false });
6789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleLanguageNamePipe, decorators: [{
6787
+ LocaleLanguageNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleLanguageNamePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6788
+ LocaleLanguageNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: LocaleLanguageNamePipe, name: "localeLanguageName", pure: false });
6789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleLanguageNamePipe, decorators: [{
6790
6790
  type: Pipe,
6791
6791
  args: [{
6792
6792
  name: 'localeLanguageName',
@@ -6831,9 +6831,9 @@ class LocaleRegionNamePipe extends LocaleBasePipe {
6831
6831
  }
6832
6832
  }
6833
6833
  }
6834
- LocaleRegionNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleRegionNamePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6835
- LocaleRegionNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: LocaleRegionNamePipe, name: "localeRegionName", pure: false });
6836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LocaleRegionNamePipe, decorators: [{
6834
+ LocaleRegionNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleRegionNamePipe, deps: [{ token: DataService, optional: true }, { token: i0.ChangeDetectorRef, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
6835
+ LocaleRegionNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: LocaleRegionNamePipe, name: "localeRegionName", pure: false });
6836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LocaleRegionNamePipe, decorators: [{
6837
6837
  type: Pipe,
6838
6838
  args: [{
6839
6839
  name: 'localeRegionName',
@@ -7126,9 +7126,9 @@ class UiLanguageSwitcherDialogComponent {
7126
7126
  return [languageCode, region.toUpperCase()].join('-');
7127
7127
  }
7128
7128
  }
7129
- UiLanguageSwitcherDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiLanguageSwitcherDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7130
- UiLanguageSwitcherDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UiLanguageSwitcherDialogComponent, selector: "vdr-ui-language-switcher", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'common.select-display-language' | translate }}</ng-template>\r\n<div class=\"clr-row\">\r\n <div class=\"clr-col-md-6\">\r\n <clr-select-container>\r\n <label>{{ 'common.language' | translate }}</label>\r\n <select\r\n clrSelect\r\n name=\"options\"\r\n [(ngModel)]=\"currentLanguage\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n >\r\n <option *ngFor=\"let code of availableLanguages | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeLanguageName }})\r\n </option>\r\n </select>\r\n </clr-select-container>\r\n </div>\r\n <div class=\"clr-col-md-6\">\r\n <clr-datalist-container>\r\n <label>{{ 'common.locale' | translate }}</label>\r\n <input\r\n clrDatalistInput\r\n [(ngModel)]=\"currentLocale\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n [placeholder]=\"'common.browser-default' | translate\"\r\n class=\"locale\"\r\n name=\"Locale\"\r\n />\r\n <datalist>\r\n <option *ngFor=\"let locale of availableLocales\" [value]=\"locale\">\r\n {{ locale }} ({{ locale | localeRegionName }})\r\n </option>\r\n </datalist>\r\n </clr-datalist-container>\r\n </div>\r\n</div>\r\n<div class=\"card\">\r\n <div class=\"card-header\">\r\n <span class=\"p2\">{{ 'common.sample-formatting' | translate }}:</span><strong>{{ previewLocale | localeLanguageName:previewLocale }}</strong>\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.medium-date' | translate\">\r\n {{ now | localeDate: 'medium':previewLocale }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.short-date' | translate\">\r\n {{ now | localeDate: 'short':previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <select clrSelect name=\"currency\" class=\"currency\" [(ngModel)]=\"selectedCurrencyCode\">\r\n <option *ngFor=\"let code of availableCurrencyCodes | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeCurrencyName: 'full':previewLocale }})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.price' | translate\">\r\n {{ 12345 | localeCurrency: selectedCurrencyCode:previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"setLanguage()\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.set-language' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: ["select.currency{max-width:200px}input.locale{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "component", type: i1$4.ClrSelectContainer, selector: "clr-select-container" }, { kind: "directive", type: i1$4.ClrDatalist, selector: "datalist", inputs: ["id"] }, { kind: "directive", type: i1$4.ClrDatalistInput, selector: "[clrDatalistInput]" }, { kind: "component", type: i1$4.ClrDatalistContainer, selector: "clr-datalist-container" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleCurrencyNamePipe, name: "localeCurrencyName" }, { kind: "pipe", type: SortPipe, name: "sort" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: LocaleCurrencyPipe, name: "localeCurrency" }, { kind: "pipe", type: LocaleLanguageNamePipe, name: "localeLanguageName" }, { kind: "pipe", type: LocaleRegionNamePipe, name: "localeRegionName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiLanguageSwitcherDialogComponent, decorators: [{
7129
+ UiLanguageSwitcherDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: UiLanguageSwitcherDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7130
+ UiLanguageSwitcherDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: UiLanguageSwitcherDialogComponent, selector: "vdr-ui-language-switcher", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'common.select-display-language' | translate }}</ng-template>\r\n<div class=\"clr-row\">\r\n <div class=\"clr-col-md-6\">\r\n <clr-select-container>\r\n <label>{{ 'common.language' | translate }}</label>\r\n <select\r\n clrSelect\r\n name=\"options\"\r\n [(ngModel)]=\"currentLanguage\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n >\r\n <option *ngFor=\"let code of availableLanguages | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeLanguageName }})\r\n </option>\r\n </select>\r\n </clr-select-container>\r\n </div>\r\n <div class=\"clr-col-md-6\">\r\n <clr-datalist-container>\r\n <label>{{ 'common.locale' | translate }}</label>\r\n <input\r\n clrDatalistInput\r\n [(ngModel)]=\"currentLocale\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n [placeholder]=\"'common.browser-default' | translate\"\r\n class=\"locale\"\r\n name=\"Locale\"\r\n />\r\n <datalist>\r\n <option *ngFor=\"let locale of availableLocales\" [value]=\"locale\">\r\n {{ locale }} ({{ locale | localeRegionName }})\r\n </option>\r\n </datalist>\r\n </clr-datalist-container>\r\n </div>\r\n</div>\r\n<div class=\"card\">\r\n <div class=\"card-header\">\r\n <span class=\"p2\">{{ 'common.sample-formatting' | translate }}:</span><strong>{{ previewLocale | localeLanguageName:previewLocale }}</strong>\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.medium-date' | translate\">\r\n {{ now | localeDate: 'medium':previewLocale }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.short-date' | translate\">\r\n {{ now | localeDate: 'short':previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <select clrSelect name=\"currency\" class=\"currency\" [(ngModel)]=\"selectedCurrencyCode\">\r\n <option *ngFor=\"let code of availableCurrencyCodes | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeCurrencyName: 'full':previewLocale }})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.price' | translate\">\r\n {{ 12345 | localeCurrency: selectedCurrencyCode:previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"setLanguage()\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.set-language' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: ["select.currency{max-width:200px}input.locale{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "component", type: i1$4.ClrSelectContainer, selector: "clr-select-container" }, { kind: "directive", type: i1$4.ClrDatalist, selector: "datalist", inputs: ["id"] }, { kind: "directive", type: i1$4.ClrDatalistInput, selector: "[clrDatalistInput]" }, { kind: "component", type: i1$4.ClrDatalistContainer, selector: "clr-datalist-container" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleCurrencyNamePipe, name: "localeCurrencyName" }, { kind: "pipe", type: SortPipe, name: "sort" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: LocaleCurrencyPipe, name: "localeCurrency" }, { kind: "pipe", type: LocaleLanguageNamePipe, name: "localeLanguageName" }, { kind: "pipe", type: LocaleRegionNamePipe, name: "localeRegionName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: UiLanguageSwitcherDialogComponent, decorators: [{
7132
7132
  type: Component,
7133
7133
  args: [{ selector: 'vdr-ui-language-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'common.select-display-language' | translate }}</ng-template>\r\n<div class=\"clr-row\">\r\n <div class=\"clr-col-md-6\">\r\n <clr-select-container>\r\n <label>{{ 'common.language' | translate }}</label>\r\n <select\r\n clrSelect\r\n name=\"options\"\r\n [(ngModel)]=\"currentLanguage\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n >\r\n <option *ngFor=\"let code of availableLanguages | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeLanguageName }})\r\n </option>\r\n </select>\r\n </clr-select-container>\r\n </div>\r\n <div class=\"clr-col-md-6\">\r\n <clr-datalist-container>\r\n <label>{{ 'common.locale' | translate }}</label>\r\n <input\r\n clrDatalistInput\r\n [(ngModel)]=\"currentLocale\"\r\n (ngModelChange)=\"updatePreviewLocale()\"\r\n [placeholder]=\"'common.browser-default' | translate\"\r\n class=\"locale\"\r\n name=\"Locale\"\r\n />\r\n <datalist>\r\n <option *ngFor=\"let locale of availableLocales\" [value]=\"locale\">\r\n {{ locale }} ({{ locale | localeRegionName }})\r\n </option>\r\n </datalist>\r\n </clr-datalist-container>\r\n </div>\r\n</div>\r\n<div class=\"card\">\r\n <div class=\"card-header\">\r\n <span class=\"p2\">{{ 'common.sample-formatting' | translate }}:</span><strong>{{ previewLocale | localeLanguageName:previewLocale }}</strong>\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.medium-date' | translate\">\r\n {{ now | localeDate: 'medium':previewLocale }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.short-date' | translate\">\r\n {{ now | localeDate: 'short':previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <select clrSelect name=\"currency\" class=\"currency\" [(ngModel)]=\"selectedCurrencyCode\">\r\n <option *ngFor=\"let code of availableCurrencyCodes | sort\" [value]=\"code\">\r\n {{ code | uppercase }} ({{ code | localeCurrencyName: 'full':previewLocale }})\r\n </option>\r\n </select>\r\n </div>\r\n <div class=\"clr-col-sm-4\">\r\n <vdr-labeled-data [label]=\"'common.price' | translate\">\r\n {{ 12345 | localeCurrency: selectedCurrencyCode:previewLocale }}\r\n </vdr-labeled-data>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"setLanguage()\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.set-language' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: ["select.currency{max-width:200px}input.locale{text-transform:uppercase}\n"] }]
7134
7134
  }], ctorParameters: function () { return []; } });
@@ -7220,9 +7220,9 @@ class AuthService {
7220
7220
  this.localStorageService.set('activeChannelToken', this.getActiveChannel(userChannels).token);
7221
7221
  }
7222
7222
  }
7223
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AuthService, deps: [{ token: LocalStorageService }, { token: DataService }, { token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
7224
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AuthService, providedIn: 'root' });
7225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AuthService, decorators: [{
7223
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthService, deps: [{ token: LocalStorageService }, { token: DataService }, { token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
7224
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthService, providedIn: 'root' });
7225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthService, decorators: [{
7226
7226
  type: Injectable,
7227
7227
  args: [{
7228
7228
  providedIn: 'root',
@@ -7267,9 +7267,9 @@ class I18nService {
7267
7267
  return this.ngxTranslate.instant(key, params);
7268
7268
  }
7269
7269
  }
7270
- I18nService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: I18nService, deps: [{ token: i3.TranslateService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
7271
- I18nService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: I18nService, providedIn: 'root' });
7272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: I18nService, decorators: [{
7270
+ I18nService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: I18nService, deps: [{ token: i3.TranslateService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
7271
+ I18nService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: I18nService, providedIn: 'root' });
7272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: I18nService, decorators: [{
7273
7273
  type: Injectable,
7274
7274
  args: [{
7275
7275
  providedIn: 'root',
@@ -7290,9 +7290,9 @@ class SimpleDialogComponent {
7290
7290
  this.buttons = [];
7291
7291
  }
7292
7292
  }
7293
- SimpleDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SimpleDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7294
- SimpleDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: SimpleDialogComponent, selector: "vdr-simple-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ title | translate:translationVars }}</ng-template>\r\n<div style=\"white-space: pre-wrap;\">{{ body | translate:translationVars }}</div>\r\n<ng-template vdrDialogButtons>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <button\r\n class=\"btn\"\r\n [class.btn-primary]=\"button.type === 'primary'\"\r\n [class.btn-danger]=\"button.type === 'danger'\"\r\n (click)=\"resolveWith(button.returnValue)\"\r\n >\r\n {{ button.label | translate: (button.translationVars || {}) }}\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SimpleDialogComponent, decorators: [{
7293
+ SimpleDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SimpleDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7294
+ SimpleDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SimpleDialogComponent, selector: "vdr-simple-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ title | translate:translationVars }}</ng-template>\r\n<div style=\"white-space: pre-wrap;\">{{ body | translate:translationVars }}</div>\r\n<ng-template vdrDialogButtons>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <button\r\n class=\"btn\"\r\n [class.btn-primary]=\"button.type === 'primary'\"\r\n [class.btn-danger]=\"button.type === 'danger'\"\r\n (click)=\"resolveWith(button.returnValue)\"\r\n >\r\n {{ button.label | translate: (button.translationVars || {}) }}\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SimpleDialogComponent, decorators: [{
7296
7296
  type: Component,
7297
7297
  args: [{ selector: 'vdr-simple-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ title | translate:translationVars }}</ng-template>\r\n<div style=\"white-space: pre-wrap;\">{{ body | translate:translationVars }}</div>\r\n<ng-template vdrDialogButtons>\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <button\r\n class=\"btn\"\r\n [class.btn-primary]=\"button.type === 'primary'\"\r\n [class.btn-danger]=\"button.type === 'danger'\"\r\n (click)=\"resolveWith(button.returnValue)\"\r\n >\r\n {{ button.label | translate: (button.translationVars || {}) }}\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n" }]
7298
7298
  }] });
@@ -7379,9 +7379,9 @@ class ModalService {
7379
7379
  });
7380
7380
  }
7381
7381
  }
7382
- ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ModalService, deps: [{ token: i0.ComponentFactoryResolver }, { token: OverlayHostService }], target: i0.ɵɵFactoryTarget.Injectable });
7383
- ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ModalService, providedIn: 'root' });
7384
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ModalService, decorators: [{
7382
+ ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ModalService, deps: [{ token: i0.ComponentFactoryResolver }, { token: OverlayHostService }], target: i0.ɵɵFactoryTarget.Injectable });
7383
+ ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ModalService, providedIn: 'root' });
7384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ModalService, decorators: [{
7385
7385
  type: Injectable,
7386
7386
  args: [{
7387
7387
  providedIn: 'root',
@@ -7471,9 +7471,9 @@ class BreadcrumbService {
7471
7471
  return clone.filter(segment => segment !== '');
7472
7472
  }
7473
7473
  }
7474
- BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: DataService }], target: i0.ɵɵFactoryTarget.Injectable });
7475
- BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
7476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BreadcrumbService, decorators: [{
7474
+ BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: DataService }], target: i0.ɵɵFactoryTarget.Injectable });
7475
+ BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
7476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BreadcrumbService, decorators: [{
7477
7477
  type: Injectable,
7478
7478
  args: [{
7479
7479
  providedIn: 'root',
@@ -7555,9 +7555,9 @@ class IfDirectiveBase {
7555
7555
  }
7556
7556
  }
7557
7557
  }
7558
- IfDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfDirectiveBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
7559
- IfDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: IfDirectiveBase, ngImport: i0 });
7560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfDirectiveBase, decorators: [{
7558
+ IfDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfDirectiveBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
7559
+ IfDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: IfDirectiveBase, ngImport: i0 });
7560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfDirectiveBase, decorators: [{
7561
7561
  type: Directive
7562
7562
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: undefined }]; } });
7563
7563
 
@@ -7589,9 +7589,9 @@ class IfMultichannelDirective extends IfDirectiveBase {
7589
7589
  this.setElseTemplate(templateRef);
7590
7590
  }
7591
7591
  }
7592
- IfMultichannelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfMultichannelDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: DataService }], target: i0.ɵɵFactoryTarget.Directive });
7593
- IfMultichannelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: { vdrIfMultichannelElse: "vdrIfMultichannelElse" }, usesInheritance: true, ngImport: i0 });
7594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfMultichannelDirective, decorators: [{
7592
+ IfMultichannelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfMultichannelDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: DataService }], target: i0.ɵɵFactoryTarget.Directive });
7593
+ IfMultichannelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: { vdrIfMultichannelElse: "vdrIfMultichannelElse" }, usesInheritance: true, ngImport: i0 });
7594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfMultichannelDirective, decorators: [{
7595
7595
  type: Directive,
7596
7596
  args: [{
7597
7597
  selector: '[vdrIfMultichannel]',
@@ -7647,9 +7647,9 @@ class DropdownComponent {
7647
7647
  this.trigger = elementRef;
7648
7648
  }
7649
7649
  }
7650
- DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7651
- DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DropdownComponent, selector: "vdr-dropdown", inputs: { manualToggle: "manualToggle" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownComponent, decorators: [{
7650
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7651
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DropdownComponent, selector: "vdr-dropdown", inputs: { manualToggle: "manualToggle" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7652
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownComponent, decorators: [{
7653
7653
  type: Component,
7654
7654
  args: [{ selector: 'vdr-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n" }]
7655
7655
  }], propDecorators: { manualToggle: [{
@@ -7745,8 +7745,8 @@ class DropdownMenuComponent {
7745
7745
  return inverted;
7746
7746
  }
7747
7747
  }
7748
- DropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownMenuComponent, deps: [{ token: i1$5.Overlay }, { token: i0.ViewContainerRef }, { token: DropdownComponent }], target: i0.ɵɵFactoryTarget.Component });
7749
- DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: { position: ["vdrPosition", "position"], customClasses: "customClasses" }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: `
7748
+ DropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownMenuComponent, deps: [{ token: i1$5.Overlay }, { token: i0.ViewContainerRef }, { token: DropdownComponent }], target: i0.ɵɵFactoryTarget.Component });
7749
+ DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: { position: ["vdrPosition", "position"], customClasses: "customClasses" }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: `
7750
7750
  <ng-template #menu>
7751
7751
  <div class="dropdown open">
7752
7752
  <div class="dropdown-menu" [ngClass]="customClasses">
@@ -7757,7 +7757,7 @@ DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
7757
7757
  </div>
7758
7758
  </ng-template>
7759
7759
  `, isInline: true, styles: [".clear-backdrop{background-color:#ff69b4}::ng-deep .dropdown-menu .dropdown-item{display:flex;align-items:center}::ng-deep .dropdown-menu .dropdown-item clr-icon{margin-right:3px}.dropdown.open>.dropdown-menu{position:relative;top:0;height:100%;overflow-y:auto}:host{opacity:1;transition:opacity .3s}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7760
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownMenuComponent, decorators: [{
7760
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownMenuComponent, decorators: [{
7761
7761
  type: Component,
7762
7762
  args: [{ selector: 'vdr-dropdown-menu', template: `
7763
7763
  <ng-template #menu>
@@ -7790,9 +7790,9 @@ class DropdownTriggerDirective {
7790
7790
  this.dropdown.toggleOpen();
7791
7791
  }
7792
7792
  }
7793
- DropdownTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownTriggerDirective, deps: [{ token: DropdownComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
7794
- DropdownTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]", host: { listeners: { "click": "onDropdownTriggerClick($event)" } }, ngImport: i0 });
7795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownTriggerDirective, decorators: [{
7793
+ DropdownTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownTriggerDirective, deps: [{ token: DropdownComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
7794
+ DropdownTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]", host: { listeners: { "click": "onDropdownTriggerClick($event)" } }, ngImport: i0 });
7795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownTriggerDirective, decorators: [{
7796
7796
  type: Directive,
7797
7797
  args: [{
7798
7798
  selector: '[vdrDropdownTrigger]',
@@ -7810,9 +7810,9 @@ class DropdownItemDirective {
7810
7810
  this.dropdown.onClick();
7811
7811
  }
7812
7812
  }
7813
- DropdownItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownItemDirective, deps: [{ token: DropdownComponent }], target: i0.ɵɵFactoryTarget.Directive });
7814
- DropdownItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: DropdownItemDirective, selector: "[vdrDropdownItem]", host: { listeners: { "click": "onDropdownItemClick($event)" }, properties: { "class.dropdown-item": "true" } }, ngImport: i0 });
7815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DropdownItemDirective, decorators: [{
7813
+ DropdownItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownItemDirective, deps: [{ token: DropdownComponent }], target: i0.ɵɵFactoryTarget.Directive });
7814
+ DropdownItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DropdownItemDirective, selector: "[vdrDropdownItem]", host: { listeners: { "click": "onDropdownItemClick($event)" }, properties: { "class.dropdown-item": "true" } }, ngImport: i0 });
7815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DropdownItemDirective, decorators: [{
7816
7816
  type: Directive,
7817
7817
  args: [{
7818
7818
  selector: '[vdrDropdownItem]',
@@ -7839,9 +7839,9 @@ class ThemeSwitcherComponent {
7839
7839
  });
7840
7840
  }
7841
7841
  }
7842
- ThemeSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ThemeSwitcherComponent, deps: [{ token: DataService }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Component });
7843
- ThemeSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ThemeSwitcherComponent, selector: "vdr-theme-switcher", ngImport: i0, template: "<button *ngIf=\"activeTheme$ | async as activeTheme\" class=\"theme-toggle\" (click)=\"toggleTheme(activeTheme)\">\r\n <span>{{ 'common.theme' | translate }}</span>\r\n <div class=\"theme-icon default\" [class.active]=\"activeTheme === 'default'\">\r\n <clr-icon shape=\"sun\" class=\"is-solid\"></clr-icon>\r\n </div>\r\n <div class=\"theme-icon dark\" [class.active]=\"activeTheme === 'dark'\">\r\n <clr-icon shape=\"moon\" class=\"is-solid\"></clr-icon>\r\n </div>\r\n</button>\r\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center}button.theme-toggle{position:relative;padding-left:20px;border:none;background:transparent;color:var(--clr-dropdown-item-color);cursor:pointer}.theme-icon{position:absolute;top:0;left:6px;z-index:0;opacity:.2;color:var(--color-text-300);transition:opacity .3s,left .3s}.theme-icon.active{z-index:1;left:0;opacity:1}.theme-icon.default.active{color:#d6ae3f}.theme-icon.dark.active{color:#ffdf3a}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ThemeSwitcherComponent, decorators: [{
7842
+ ThemeSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThemeSwitcherComponent, deps: [{ token: DataService }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Component });
7843
+ ThemeSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ThemeSwitcherComponent, selector: "vdr-theme-switcher", ngImport: i0, template: "<button *ngIf=\"activeTheme$ | async as activeTheme\" class=\"theme-toggle\" (click)=\"toggleTheme(activeTheme)\">\r\n <span>{{ 'common.theme' | translate }}</span>\r\n <div class=\"theme-icon default\" [class.active]=\"activeTheme === 'default'\">\r\n <clr-icon shape=\"sun\" class=\"is-solid\"></clr-icon>\r\n </div>\r\n <div class=\"theme-icon dark\" [class.active]=\"activeTheme === 'dark'\">\r\n <clr-icon shape=\"moon\" class=\"is-solid\"></clr-icon>\r\n </div>\r\n</button>\r\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center}button.theme-toggle{position:relative;padding-left:20px;border:none;background:transparent;color:var(--clr-dropdown-item-color);cursor:pointer}.theme-icon{position:absolute;top:0;left:6px;z-index:0;opacity:.2;color:var(--color-text-300);transition:opacity .3s,left .3s}.theme-icon.active{z-index:1;left:0;opacity:1}.theme-icon.default.active{color:#d6ae3f}.theme-icon.dark.active{color:#ffdf3a}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7844
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ThemeSwitcherComponent, decorators: [{
7845
7845
  type: Component,
7846
7846
  args: [{ selector: 'vdr-theme-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button *ngIf=\"activeTheme$ | async as activeTheme\" class=\"theme-toggle\" (click)=\"toggleTheme(activeTheme)\">\r\n <span>{{ 'common.theme' | translate }}</span>\r\n <div class=\"theme-icon default\" [class.active]=\"activeTheme === 'default'\">\r\n <clr-icon shape=\"sun\" class=\"is-solid\"></clr-icon>\r\n </div>\r\n <div class=\"theme-icon dark\" [class.active]=\"activeTheme === 'dark'\">\r\n <clr-icon shape=\"moon\" class=\"is-solid\"></clr-icon>\r\n </div>\r\n</button>\r\n", styles: [":host{display:inline-flex;justify-content:center;align-items:center}button.theme-toggle{position:relative;padding-left:20px;border:none;background:transparent;color:var(--clr-dropdown-item-color);cursor:pointer}.theme-icon{position:absolute;top:0;left:6px;z-index:0;opacity:.2;color:var(--color-text-300);transition:opacity .3s,left .3s}.theme-icon.active{z-index:1;left:0;opacity:1}.theme-icon.default.active{color:#d6ae3f}.theme-icon.dark.active{color:#ffdf3a}\n"] }]
7847
7847
  }], ctorParameters: function () { return [{ type: DataService }, { type: LocalStorageService }]; } });
@@ -7854,9 +7854,9 @@ class UserMenuComponent {
7854
7854
  this.selectUiLanguage = new EventEmitter();
7855
7855
  }
7856
7856
  }
7857
- UserMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7858
- UserMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UserMenuComponent, selector: "vdr-user-menu", inputs: { userName: "userName", availableLanguages: "availableLanguages", uiLanguageAndLocale: "uiLanguageAndLocale" }, outputs: { logOut: "logOut", selectUiLanguage: "selectUiLanguage" }, ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"trigger user-menu-btn\" vdrDropdownTrigger>\r\n <div class=\"user-circle\">\r\n <clr-icon shape=\"user\" size=\"16\"></clr-icon>\r\n </div>\r\n <span class=\"user-name\">{{ userName }}</span>\r\n <clr-icon class=\"md:hidden\" shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a [routerLink]=\"['/settings', 'profile']\" vdrDropdownItem>\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon> {{ 'settings.profile' | translate }}\r\n </a>\r\n <ng-container *ngIf=\"1 < availableLanguages.length\">\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectUiLanguage.emit()\"\r\n [title]=\"'common.select-display-language' | translate\"\r\n >\r\n <clr-icon shape=\"language\"></clr-icon> {{ uiLanguageAndLocale?.[0] | localeLanguageName }}\r\n </button>\r\n </ng-container>\r\n <div class=\"dropdown-item\">\r\n <vdr-theme-switcher></vdr-theme-switcher>\r\n </div>\r\n <div class=\"dropdown-divider\"></div>\r\n <button type=\"button\" vdrDropdownItem (click)=\"logOut.emit()\">\r\n <clr-icon shape=\"logout\"></clr-icon> {{ 'common.log-out' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:flex;align-items:center;height:2.5rem;width:100%;padding:var(--space-unit);padding-left:0}@media screen and (max-width: 992px){:host{margin:0}}:host vdr-dropdown{width:100%}.user-menu-btn{display:flex;align-items:center;justify-content:space-between;border:none;border-radius:var(--border-radius);text-transform:uppercase;font-size:var(--font-size-xs);width:100%;background-color:transparent;color:var(--color-text-200);cursor:pointer}.user-menu-btn:hover{color:var(--color-text-300)}.user-circle{display:inline-flex;align-items:center;justify-content:center;border-radius:100%;background-color:var(--color-primary-600);width:24px;height:24px;margin-right:6px}@media screen and (max-width: 992px){.user-circle{margin-right:0}}.user-circle clr-icon{color:var(--color-text-inverse)}.user-name{margin-right:var(--space-unit);overflow:hidden;max-width:100px;text-overflow:ellipsis}@media screen and (max-width: 992px){.user-name{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: ThemeSwitcherComponent, selector: "vdr-theme-switcher" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleLanguageNamePipe, name: "localeLanguageName" }] });
7859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UserMenuComponent, decorators: [{
7857
+ UserMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: UserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7858
+ UserMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: UserMenuComponent, selector: "vdr-user-menu", inputs: { userName: "userName", availableLanguages: "availableLanguages", uiLanguageAndLocale: "uiLanguageAndLocale" }, outputs: { logOut: "logOut", selectUiLanguage: "selectUiLanguage" }, ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"trigger user-menu-btn\" vdrDropdownTrigger>\r\n <div class=\"user-circle\">\r\n <clr-icon shape=\"user\" size=\"16\"></clr-icon>\r\n </div>\r\n <span class=\"user-name\">{{ userName }}</span>\r\n <clr-icon class=\"md:hidden\" shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a [routerLink]=\"['/settings', 'profile']\" vdrDropdownItem>\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon> {{ 'settings.profile' | translate }}\r\n </a>\r\n <ng-container *ngIf=\"1 < availableLanguages.length\">\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectUiLanguage.emit()\"\r\n [title]=\"'common.select-display-language' | translate\"\r\n >\r\n <clr-icon shape=\"language\"></clr-icon> {{ uiLanguageAndLocale?.[0] | localeLanguageName }}\r\n </button>\r\n </ng-container>\r\n <div class=\"dropdown-item\">\r\n <vdr-theme-switcher></vdr-theme-switcher>\r\n </div>\r\n <div class=\"dropdown-divider\"></div>\r\n <button type=\"button\" vdrDropdownItem (click)=\"logOut.emit()\">\r\n <clr-icon shape=\"logout\"></clr-icon> {{ 'common.log-out' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:flex;align-items:center;height:2.5rem;width:100%;padding:var(--space-unit);padding-left:0}@media screen and (max-width: 992px){:host{margin:0}}:host vdr-dropdown{width:100%}.user-menu-btn{display:flex;align-items:center;justify-content:space-between;border:none;border-radius:var(--border-radius);text-transform:uppercase;font-size:var(--font-size-xs);width:100%;background-color:transparent;color:var(--color-text-200);cursor:pointer}.user-menu-btn:hover{color:var(--color-text-300)}.user-circle{display:inline-flex;align-items:center;justify-content:center;border-radius:100%;background-color:var(--color-primary-600);width:24px;height:24px;margin-right:6px}@media screen and (max-width: 992px){.user-circle{margin-right:0}}.user-circle clr-icon{color:var(--color-text-inverse)}.user-name{margin-right:var(--space-unit);overflow:hidden;max-width:100px;text-overflow:ellipsis}@media screen and (max-width: 992px){.user-name{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: ThemeSwitcherComponent, selector: "vdr-theme-switcher" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleLanguageNamePipe, name: "localeLanguageName" }] });
7859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: UserMenuComponent, decorators: [{
7860
7860
  type: Component,
7861
7861
  args: [{ selector: 'vdr-user-menu', template: "<vdr-dropdown>\r\n <button class=\"trigger user-menu-btn\" vdrDropdownTrigger>\r\n <div class=\"user-circle\">\r\n <clr-icon shape=\"user\" size=\"16\"></clr-icon>\r\n </div>\r\n <span class=\"user-name\">{{ userName }}</span>\r\n <clr-icon class=\"md:hidden\" shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a [routerLink]=\"['/settings', 'profile']\" vdrDropdownItem>\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon> {{ 'settings.profile' | translate }}\r\n </a>\r\n <ng-container *ngIf=\"1 < availableLanguages.length\">\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectUiLanguage.emit()\"\r\n [title]=\"'common.select-display-language' | translate\"\r\n >\r\n <clr-icon shape=\"language\"></clr-icon> {{ uiLanguageAndLocale?.[0] | localeLanguageName }}\r\n </button>\r\n </ng-container>\r\n <div class=\"dropdown-item\">\r\n <vdr-theme-switcher></vdr-theme-switcher>\r\n </div>\r\n <div class=\"dropdown-divider\"></div>\r\n <button type=\"button\" vdrDropdownItem (click)=\"logOut.emit()\">\r\n <clr-icon shape=\"logout\"></clr-icon> {{ 'common.log-out' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:flex;align-items:center;height:2.5rem;width:100%;padding:var(--space-unit);padding-left:0}@media screen and (max-width: 992px){:host{margin:0}}:host vdr-dropdown{width:100%}.user-menu-btn{display:flex;align-items:center;justify-content:space-between;border:none;border-radius:var(--border-radius);text-transform:uppercase;font-size:var(--font-size-xs);width:100%;background-color:transparent;color:var(--color-text-200);cursor:pointer}.user-menu-btn:hover{color:var(--color-text-300)}.user-circle{display:inline-flex;align-items:center;justify-content:center;border-radius:100%;background-color:var(--color-primary-600);width:24px;height:24px;margin-right:6px}@media screen and (max-width: 992px){.user-circle{margin-right:0}}.user-circle clr-icon{color:var(--color-text-inverse)}.user-name{margin-right:var(--space-unit);overflow:hidden;max-width:100px;text-overflow:ellipsis}@media screen and (max-width: 992px){.user-name{display:none}}\n"] }]
7862
7862
  }], propDecorators: { userName: [{
@@ -8124,9 +8124,9 @@ class NavBuilderService {
8124
8124
  this.actionBarConfig$ = of(this.addedActionBarItems);
8125
8125
  }
8126
8126
  }
8127
- NavBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NavBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8128
- NavBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NavBuilderService, providedIn: 'root' });
8129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NavBuilderService, decorators: [{
8127
+ NavBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NavBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8128
+ NavBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NavBuilderService, providedIn: 'root' });
8129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NavBuilderService, decorators: [{
8130
8130
  type: Injectable,
8131
8131
  args: [{
8132
8132
  providedIn: 'root',
@@ -8168,9 +8168,9 @@ class HealthCheckService {
8168
8168
  return this.httpClient.get(this.healthCheckEndpoint).pipe(catchError(err => of(err.error)), map(res => ({ ...res, lastChecked: new Date() })));
8169
8169
  }
8170
8170
  }
8171
- HealthCheckService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HealthCheckService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
8172
- HealthCheckService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HealthCheckService, providedIn: 'root' });
8173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HealthCheckService, decorators: [{
8171
+ HealthCheckService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HealthCheckService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
8172
+ HealthCheckService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HealthCheckService, providedIn: 'root' });
8173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HealthCheckService, decorators: [{
8174
8174
  type: Injectable,
8175
8175
  args: [{
8176
8176
  providedIn: 'root',
@@ -8253,9 +8253,9 @@ class JobQueueService {
8253
8253
  return jobMap;
8254
8254
  }
8255
8255
  }
8256
- JobQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: JobQueueService, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Injectable });
8257
- JobQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: JobQueueService, providedIn: 'root' });
8258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: JobQueueService, decorators: [{
8256
+ JobQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: JobQueueService, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Injectable });
8257
+ JobQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: JobQueueService, providedIn: 'root' });
8258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: JobQueueService, decorators: [{
8259
8259
  type: Injectable,
8260
8260
  args: [{
8261
8261
  providedIn: 'root',
@@ -8521,9 +8521,9 @@ class BaseNavComponent {
8521
8521
  ]);
8522
8522
  }
8523
8523
  }
8524
- BaseNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseNavComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: NavBuilderService }, { token: HealthCheckService }, { token: JobQueueService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Directive });
8525
- BaseNavComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: BaseNavComponent, selector: "[vdrBaseNav]", ngImport: i0 });
8526
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseNavComponent, decorators: [{
8524
+ BaseNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseNavComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: NavBuilderService }, { token: HealthCheckService }, { token: JobQueueService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Directive });
8525
+ BaseNavComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BaseNavComponent, selector: "[vdrBaseNav]", ngImport: i0 });
8526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseNavComponent, decorators: [{
8527
8527
  type: Directive,
8528
8528
  args: [{
8529
8529
  selector: '[vdrBaseNav]',
@@ -8535,9 +8535,9 @@ class StatusBadgeComponent {
8535
8535
  this.type = 'info';
8536
8536
  }
8537
8537
  }
8538
- StatusBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StatusBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8539
- StatusBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: StatusBadgeComponent, selector: "vdr-status-badge", inputs: { type: "type" }, ngImport: i0, template: "<div class=\"status-badge\" [class]=\"type\"></div>\r\n", styles: [":host{display:block;position:absolute}.status-badge{width:10px;height:10px;border-radius:50%;border:1px solid var(--color-component-border-100)}.status-badge.info{background-color:var(--color-primary-600)}.status-badge.success{background-color:var(--color-success-500)}.status-badge.warning{background-color:var(--color-warning-500)}.status-badge.error{background-color:var(--color-error-400)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StatusBadgeComponent, decorators: [{
8538
+ StatusBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: StatusBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8539
+ StatusBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: StatusBadgeComponent, selector: "vdr-status-badge", inputs: { type: "type" }, ngImport: i0, template: "<div class=\"status-badge\" [class]=\"type\"></div>\r\n", styles: [":host{display:block;position:absolute}.status-badge{width:10px;height:10px;border-radius:50%;border:1px solid var(--color-component-border-100)}.status-badge.info{background-color:var(--color-primary-600)}.status-badge.success{background-color:var(--color-success-500)}.status-badge.warning{background-color:var(--color-warning-500)}.status-badge.error{background-color:var(--color-error-400)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: StatusBadgeComponent, decorators: [{
8541
8541
  type: Component,
8542
8542
  args: [{ selector: 'vdr-status-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"status-badge\" [class]=\"type\"></div>\r\n", styles: [":host{display:block;position:absolute}.status-badge{width:10px;height:10px;border-radius:50%;border:1px solid var(--color-component-border-100)}.status-badge.info{background-color:var(--color-primary-600)}.status-badge.success{background-color:var(--color-success-500)}.status-badge.warning{background-color:var(--color-warning-500)}.status-badge.error{background-color:var(--color-error-400)}\n"] }]
8543
8543
  }], propDecorators: { type: [{
@@ -8556,9 +8556,9 @@ class UiExtensionPointComponent {
8556
8556
  .mapStream(({ uiState }) => uiState.displayUiExtensionPoints);
8557
8557
  }
8558
8558
  }
8559
- UiExtensionPointComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiExtensionPointComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
8560
- UiExtensionPointComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: { locationId: "locationId", topPx: "topPx", leftPx: "leftPx", display: "display", api: "api" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<div [class.highlight]=\"isDevMode && (display$ | async)\" class=\"wrapper\" [style.display]=\"display\">\r\n <vdr-dropdown *ngIf=\"isDevMode && (display$ | async)\">\r\n <button class=\"btn btn-icon btn-link extension-point-info-trigger\"\r\n [style.top.px]=\"topPx ?? 0\"\r\n [style.left.px]=\"leftPx ?? 0\"\r\n vdrDropdownTrigger>\r\n <clr-icon shape=\"plugin\" class=\"\" size=\"16\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"extension-info\">\r\n <pre *ngIf=\"api === 'actionBar'\">\r\naddActionBarItem({{ '{' }}\r\n id: 'my-button',\r\n label: 'My Action',\r\n locationId: '{{ locationId }}',\r\n{{ '}' }})</pre>\r\n <pre *ngIf=\"api === 'navMenu'\">\r\naddNavMenuItem({{ '{' }}\r\n id: 'my-menu-item',\r\n label: 'My Menu Item',\r\n routerLink: ['/extensions/my-plugin'],\r\n {{ '}' }},\r\n '{{ locationId }}'\r\n)</pre>\r\n <pre *ngIf=\"api === 'detailComponent'\">\r\nregisterCustomDetailComponent({{ '{' }}\r\n locationId: '{{ locationId }}',\r\n component: MyCustomComponent,\r\n{{ '}' }})</pre>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{position:relative}.wrapper{height:100%}.extension-point-info-trigger{position:absolute;margin:0;padding:0;z-index:100}.extension-point-info-trigger clr-icon{color:var(--color-success-500)}.extension-info{padding:12px}pre{padding:6px;font-family:Source Code Pro,Lucida Console,Monaco,monospace;background-color:var(--color-grey-200)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8561
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiExtensionPointComponent, decorators: [{
8559
+ UiExtensionPointComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: UiExtensionPointComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
8560
+ UiExtensionPointComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: { locationId: "locationId", topPx: "topPx", leftPx: "leftPx", display: "display", api: "api" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<div [class.highlight]=\"isDevMode && (display$ | async)\" class=\"wrapper\" [style.display]=\"display\">\r\n <vdr-dropdown *ngIf=\"isDevMode && (display$ | async)\">\r\n <button class=\"btn btn-icon btn-link extension-point-info-trigger\"\r\n [style.top.px]=\"topPx ?? 0\"\r\n [style.left.px]=\"leftPx ?? 0\"\r\n vdrDropdownTrigger>\r\n <clr-icon shape=\"plugin\" class=\"\" size=\"16\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"extension-info\">\r\n <pre *ngIf=\"api === 'actionBar'\">\r\naddActionBarItem({{ '{' }}\r\n id: 'my-button',\r\n label: 'My Action',\r\n locationId: '{{ locationId }}',\r\n{{ '}' }})</pre>\r\n <pre *ngIf=\"api === 'navMenu'\">\r\naddNavMenuItem({{ '{' }}\r\n id: 'my-menu-item',\r\n label: 'My Menu Item',\r\n routerLink: ['/extensions/my-plugin'],\r\n {{ '}' }},\r\n '{{ locationId }}'\r\n)</pre>\r\n <pre *ngIf=\"api === 'detailComponent'\">\r\nregisterCustomDetailComponent({{ '{' }}\r\n locationId: '{{ locationId }}',\r\n component: MyCustomComponent,\r\n{{ '}' }})</pre>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{position:relative}.wrapper{height:100%}.extension-point-info-trigger{position:absolute;margin:0;padding:0;z-index:100}.extension-point-info-trigger clr-icon{color:var(--color-success-500)}.extension-info{padding:12px}pre{padding:6px;font-family:Source Code Pro,Lucida Console,Monaco,monospace;background-color:var(--color-grey-200)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: UiExtensionPointComponent, decorators: [{
8562
8562
  type: Component,
8563
8563
  args: [{ selector: 'vdr-ui-extension-point', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.highlight]=\"isDevMode && (display$ | async)\" class=\"wrapper\" [style.display]=\"display\">\r\n <vdr-dropdown *ngIf=\"isDevMode && (display$ | async)\">\r\n <button class=\"btn btn-icon btn-link extension-point-info-trigger\"\r\n [style.top.px]=\"topPx ?? 0\"\r\n [style.left.px]=\"leftPx ?? 0\"\r\n vdrDropdownTrigger>\r\n <clr-icon shape=\"plugin\" class=\"\" size=\"16\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"extension-info\">\r\n <pre *ngIf=\"api === 'actionBar'\">\r\naddActionBarItem({{ '{' }}\r\n id: 'my-button',\r\n label: 'My Action',\r\n locationId: '{{ locationId }}',\r\n{{ '}' }})</pre>\r\n <pre *ngIf=\"api === 'navMenu'\">\r\naddNavMenuItem({{ '{' }}\r\n id: 'my-menu-item',\r\n label: 'My Menu Item',\r\n routerLink: ['/extensions/my-plugin'],\r\n {{ '}' }},\r\n '{{ locationId }}'\r\n)</pre>\r\n <pre *ngIf=\"api === 'detailComponent'\">\r\nregisterCustomDetailComponent({{ '{' }}\r\n locationId: '{{ locationId }}',\r\n component: MyCustomComponent,\r\n{{ '}' }})</pre>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [":host{position:relative}.wrapper{height:100%}.extension-point-info-trigger{position:absolute;margin:0;padding:0;z-index:100}.extension-point-info-trigger clr-icon{color:var(--color-success-500)}.extension-info{padding:12px}pre{padding:6px;font-family:Source Code Pro,Lucida Console,Monaco,monospace;background-color:var(--color-grey-200)}\n"] }]
8564
8564
  }], ctorParameters: function () { return [{ type: DataService }]; }, propDecorators: { locationId: [{
@@ -8582,9 +8582,9 @@ class MainNavComponent extends BaseNavComponent {
8582
8582
  this.mainMenuConfig$ = this.navBuilderService.menuConfig$.pipe(map(sections => sections.filter(s => s.displayMode === 'regular' || !s.displayMode)));
8583
8583
  }
8584
8584
  }
8585
- MainNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MainNavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8586
- MainNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: MainNavComponent, selector: "vdr-main-nav", usesInheritance: true, ngImport: i0, template: "<nav class=\"main-nav\">\r\n <section class=\"\">\r\n <ng-container *ngFor=\"let section of mainMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\" display=\"block\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <label class=\"nav-group-header md:hidden\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <div class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <div *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"18\" [title]=\"item.label | translate\"></clr-icon>\r\n <span class=\"md:hidden\">{{ item.label | translate }}</span>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n", styles: [":host{background-color:var(--clr-nav-background-color)}nav.main-nav{height:100%;border-right-color:var(--clr-sidenav-border-color)}.main-nav .nav-group{margin-bottom:calc(var(--space-unit) * 2)}.main-nav .nav-group .nav-list{margin:0}.main-nav .nav-group .nav-group-header{margin:0;line-height:1.2;font-size:var(--font-size-xs);padding-left:calc(var(--space-unit) * 1);color:var(--color-left-nav-text);opacity:.7;text-transform:uppercase}.main-nav .nav-group .nav-link{display:flex;line-height:1rem;font-size:var(--font-size-sm);padding:var(--space-unit);border-radius:var(--border-radius)}.main-nav .nav-group .nav-link:link,.main-nav .nav-group .nav-link:visited{color:var(--color-text-600)}.main-nav .nav-group .nav-link:hover{color:var(--color-left-nav-text-hover)}.main-nav .nav-group .nav-link.active{color:var(--color-primary-600)}@media screen and (max-width: 992px){.main-nav .nav-group .nav-link{justify-content:center}}.nav-list clr-icon{flex-shrink:0}@media screen and (min-width: 992px){.nav-list clr-icon{margin-right:12px}}.nav-group{-webkit-hyphens:auto;hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: StatusBadgeComponent, selector: "vdr-status-badge", inputs: ["type"] }, { kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MainNavComponent, decorators: [{
8585
+ MainNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MainNavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8586
+ MainNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MainNavComponent, selector: "vdr-main-nav", usesInheritance: true, ngImport: i0, template: "<nav class=\"main-nav\">\r\n <section class=\"\">\r\n <ng-container *ngFor=\"let section of mainMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\" display=\"block\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <label class=\"nav-group-header md:hidden\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <div class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <div *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"18\" [title]=\"item.label | translate\"></clr-icon>\r\n <span class=\"md:hidden\">{{ item.label | translate }}</span>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n", styles: [":host{background-color:var(--clr-nav-background-color)}nav.main-nav{height:100%;border-right-color:var(--clr-sidenav-border-color)}.main-nav .nav-group{margin-bottom:calc(var(--space-unit) * 2)}.main-nav .nav-group .nav-list{margin:0}.main-nav .nav-group .nav-group-header{margin:0;line-height:1.2;font-size:var(--font-size-xs);padding-left:calc(var(--space-unit) * 1);color:var(--color-left-nav-text);opacity:.7;text-transform:uppercase}.main-nav .nav-group .nav-link{display:flex;line-height:1rem;font-size:var(--font-size-sm);padding:var(--space-unit);border-radius:var(--border-radius)}.main-nav .nav-group .nav-link:link,.main-nav .nav-group .nav-link:visited{color:var(--color-text-600)}.main-nav .nav-group .nav-link:hover{color:var(--color-left-nav-text-hover)}.main-nav .nav-group .nav-link.active{color:var(--color-primary-600)}@media screen and (max-width: 992px){.main-nav .nav-group .nav-link{justify-content:center}}.nav-list clr-icon{flex-shrink:0}@media screen and (min-width: 992px){.nav-list clr-icon{margin-right:12px}}.nav-group{-webkit-hyphens:auto;hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: StatusBadgeComponent, selector: "vdr-status-badge", inputs: ["type"] }, { kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MainNavComponent, decorators: [{
8588
8588
  type: Component,
8589
8589
  args: [{ selector: 'vdr-main-nav', template: "<nav class=\"main-nav\">\r\n <section class=\"\">\r\n <ng-container *ngFor=\"let section of mainMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\" display=\"block\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <label class=\"nav-group-header md:hidden\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <div class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <div *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"18\" [title]=\"item.label | translate\"></clr-icon>\r\n <span class=\"md:hidden\">{{ item.label | translate }}</span>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n", styles: [":host{background-color:var(--clr-nav-background-color)}nav.main-nav{height:100%;border-right-color:var(--clr-sidenav-border-color)}.main-nav .nav-group{margin-bottom:calc(var(--space-unit) * 2)}.main-nav .nav-group .nav-list{margin:0}.main-nav .nav-group .nav-group-header{margin:0;line-height:1.2;font-size:var(--font-size-xs);padding-left:calc(var(--space-unit) * 1);color:var(--color-left-nav-text);opacity:.7;text-transform:uppercase}.main-nav .nav-group .nav-link{display:flex;line-height:1rem;font-size:var(--font-size-sm);padding:var(--space-unit);border-radius:var(--border-radius)}.main-nav .nav-group .nav-link:link,.main-nav .nav-group .nav-link:visited{color:var(--color-text-600)}.main-nav .nav-group .nav-link:hover{color:var(--color-left-nav-text-hover)}.main-nav .nav-group .nav-link.active{color:var(--color-primary-600)}@media screen and (max-width: 992px){.main-nav .nav-group .nav-link{justify-content:center}}.nav-list clr-icon{flex-shrink:0}@media screen and (min-width: 992px){.nav-list clr-icon{margin-right:12px}}.nav-group{-webkit-hyphens:auto;hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}\n"] }]
8590
8590
  }] });
@@ -8595,9 +8595,9 @@ class SettingsNavComponent extends BaseNavComponent {
8595
8595
  this.settingsMenuConfig$ = this.navBuilderService.menuConfig$.pipe(map(sections => sections.filter(s => s.displayMode === 'settings')));
8596
8596
  }
8597
8597
  }
8598
- SettingsNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SettingsNavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8599
- SettingsNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: SettingsNavComponent, selector: "vdr-settings-nav", usesInheritance: true, ngImport: i0, template: "<nav>\r\n <section class=\"settings-nav-content\">\r\n <ng-container *ngFor=\"let section of settingsMenuConfig$ | async\">\r\n <vdr-ui-extension-point\r\n [locationId]=\"section.id\"\r\n api=\"navMenu\"\r\n [topPx]=\"-6\"\r\n [leftPx]=\"8\"\r\n display=\"block\"\r\n >\r\n <vdr-dropdown>\r\n <button class=\"setting-link\" vdrDropdownTrigger>\r\n <div>\r\n <ng-container\r\n *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\"\r\n >\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon\r\n *ngIf=\"section.icon\"\r\n [attr.shape]=\"section.icon || 'block'\"\r\n size=\"20\"\r\n ></clr-icon>\r\n <label class=\"md:hidden\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n </div>\r\n <clr-icon class=\"md:hidden\" shape=\"caret right\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"top-right\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <div *ngIf=\"shouldDisplayLink(item)\" class=\"menu-link\">\r\n <a\r\n vdrDropdownItem\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n <div class=\"\">{{ item.label | translate }}</div>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </vdr-ui-extension-point>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n", styles: [".setting-link{width:100%;border:none;display:flex;justify-content:space-between;font-size:var(--font-size-xs);align-items:center;cursor:pointer;background-color:transparent;padding:var(--space-unit);color:var(--color-left-nav-text)}.setting-link:hover{color:var(--color-left-nav-text-hover)}.setting-link clr-icon{margin-right:6px}.menu-link{position:relative}.menu-link vdr-status-badge{left:20px;top:3px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: StatusBadgeComponent, selector: "vdr-status-badge", inputs: ["type"] }, { kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8600
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SettingsNavComponent, decorators: [{
8598
+ SettingsNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SettingsNavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8599
+ SettingsNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SettingsNavComponent, selector: "vdr-settings-nav", usesInheritance: true, ngImport: i0, template: "<nav>\r\n <section class=\"settings-nav-content\">\r\n <ng-container *ngFor=\"let section of settingsMenuConfig$ | async\">\r\n <vdr-ui-extension-point\r\n [locationId]=\"section.id\"\r\n api=\"navMenu\"\r\n [topPx]=\"-6\"\r\n [leftPx]=\"8\"\r\n display=\"block\"\r\n >\r\n <vdr-dropdown>\r\n <button class=\"setting-link\" vdrDropdownTrigger>\r\n <div>\r\n <ng-container\r\n *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\"\r\n >\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon\r\n *ngIf=\"section.icon\"\r\n [attr.shape]=\"section.icon || 'block'\"\r\n size=\"20\"\r\n ></clr-icon>\r\n <label class=\"md:hidden\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n </div>\r\n <clr-icon class=\"md:hidden\" shape=\"caret right\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"top-right\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <div *ngIf=\"shouldDisplayLink(item)\" class=\"menu-link\">\r\n <a\r\n vdrDropdownItem\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n <div class=\"\">{{ item.label | translate }}</div>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </vdr-ui-extension-point>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n", styles: [".setting-link{width:100%;border:none;display:flex;justify-content:space-between;font-size:var(--font-size-xs);align-items:center;cursor:pointer;background-color:transparent;padding:var(--space-unit);color:var(--color-left-nav-text)}.setting-link:hover{color:var(--color-left-nav-text-hover)}.setting-link clr-icon{margin-right:6px}.menu-link{position:relative}.menu-link vdr-status-badge{left:20px;top:3px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: StatusBadgeComponent, selector: "vdr-status-badge", inputs: ["type"] }, { kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SettingsNavComponent, decorators: [{
8601
8601
  type: Component,
8602
8602
  args: [{ selector: 'vdr-settings-nav', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav>\r\n <section class=\"settings-nav-content\">\r\n <ng-container *ngFor=\"let section of settingsMenuConfig$ | async\">\r\n <vdr-ui-extension-point\r\n [locationId]=\"section.id\"\r\n api=\"navMenu\"\r\n [topPx]=\"-6\"\r\n [leftPx]=\"8\"\r\n display=\"block\"\r\n >\r\n <vdr-dropdown>\r\n <button class=\"setting-link\" vdrDropdownTrigger>\r\n <div>\r\n <ng-container\r\n *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\"\r\n >\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon\r\n *ngIf=\"section.icon\"\r\n [attr.shape]=\"section.icon || 'block'\"\r\n size=\"20\"\r\n ></clr-icon>\r\n <label class=\"md:hidden\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n </div>\r\n <clr-icon class=\"md:hidden\" shape=\"caret right\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"top-right\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <div *ngIf=\"shouldDisplayLink(item)\" class=\"menu-link\">\r\n <a\r\n vdrDropdownItem\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n <div class=\"\">{{ item.label | translate }}</div>\r\n </a>\r\n </div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </vdr-ui-extension-point>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n", styles: [".setting-link{width:100%;border:none;display:flex;justify-content:space-between;font-size:var(--font-size-xs);align-items:center;cursor:pointer;background-color:transparent;padding:var(--space-unit);color:var(--color-left-nav-text)}.setting-link:hover{color:var(--color-left-nav-text-hover)}.setting-link clr-icon{margin-right:6px}.menu-link{position:relative}.menu-link vdr-status-badge{left:20px;top:3px}\n"] }]
8603
8603
  }] });
@@ -8618,9 +8618,9 @@ class BreadcrumbComponent {
8618
8618
  this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;
8619
8619
  }
8620
8620
  }
8621
- BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
8622
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: BreadcrumbComponent, selector: "vdr-breadcrumb", ngImport: i0, template: "<nav role=\"navigation\">\r\n <ul class=\"breadcrumbs\">\r\n <li *ngFor=\"let breadcrumb of (breadcrumbs$ | async); let isLast = last\">\r\n <a [routerLink]=\"breadcrumb.link\" *ngIf=\"!isLast\">{{ breadcrumb.label | translate }}</a>\r\n <ng-container *ngIf=\"isLast\">{{ breadcrumb.label | translate }}</ng-container>\r\n </li>\r\n </ul>\r\n</nav>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;padding:0}.breadcrumbs{list-style-type:none;display:flex;overflow-x:auto;max-width:100vw;padding:0 3px;margin:0 var(--space-unit);font-size:var(--font-size-sm)}@media screen and (min-width: 768px){.breadcrumbs{padding:0}}.breadcrumbs li{display:inline-block;margin-right:10px;white-space:nowrap}.breadcrumbs li:not(:last-child):after{content:\"\\203a\";top:0;color:var(--color-grey-400);margin-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BreadcrumbComponent, decorators: [{
8621
+ BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
8622
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BreadcrumbComponent, selector: "vdr-breadcrumb", ngImport: i0, template: "<nav role=\"navigation\">\r\n <ul class=\"breadcrumbs\">\r\n <li *ngFor=\"let breadcrumb of (breadcrumbs$ | async); let isLast = last\">\r\n <a [routerLink]=\"breadcrumb.link\" *ngIf=\"!isLast\">{{ breadcrumb.label | translate }}</a>\r\n <ng-container *ngIf=\"isLast\">{{ breadcrumb.label | translate }}</ng-container>\r\n </li>\r\n </ul>\r\n</nav>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;padding:0}.breadcrumbs{list-style-type:none;display:flex;overflow-x:auto;max-width:100vw;padding:0 3px;margin:0 var(--space-unit);font-size:var(--font-size-sm)}@media screen and (min-width: 768px){.breadcrumbs{padding:0}}.breadcrumbs li{display:inline-block;margin-right:10px;white-space:nowrap}.breadcrumbs li:not(:last-child):after{content:\"\\203a\";top:0;color:var(--color-grey-400);margin-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8623
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BreadcrumbComponent, decorators: [{
8624
8624
  type: Component,
8625
8625
  args: [{ selector: 'vdr-breadcrumb', template: "<nav role=\"navigation\">\r\n <ul class=\"breadcrumbs\">\r\n <li *ngFor=\"let breadcrumb of (breadcrumbs$ | async); let isLast = last\">\r\n <a [routerLink]=\"breadcrumb.link\" *ngIf=\"!isLast\">{{ breadcrumb.label | translate }}</a>\r\n <ng-container *ngIf=\"isLast\">{{ breadcrumb.label | translate }}</ng-container>\r\n </li>\r\n </ul>\r\n</nav>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;padding:0}.breadcrumbs{list-style-type:none;display:flex;overflow-x:auto;max-width:100vw;padding:0 3px;margin:0 var(--space-unit);font-size:var(--font-size-sm)}@media screen and (min-width: 768px){.breadcrumbs{padding:0}}.breadcrumbs li{display:inline-block;margin-right:10px;white-space:nowrap}.breadcrumbs li:not(:last-child):after{content:\"\\203a\";top:0;color:var(--color-grey-400);margin-left:10px}\n"] }]
8626
8626
  }], ctorParameters: function () { return [{ type: BreadcrumbService }]; } });
@@ -8646,9 +8646,9 @@ class ChannelService {
8646
8646
  }));
8647
8647
  }
8648
8648
  }
8649
- ChannelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelService, deps: [{ token: DataService }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
8650
- ChannelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelService, providedIn: 'root' });
8651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelService, decorators: [{
8649
+ ChannelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelService, deps: [{ token: DataService }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
8650
+ ChannelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelService, providedIn: 'root' });
8651
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelService, decorators: [{
8652
8652
  type: Injectable,
8653
8653
  args: [{
8654
8654
  providedIn: 'root',
@@ -8694,9 +8694,9 @@ class StringToColorPipe {
8694
8694
  return stringToColor(value);
8695
8695
  }
8696
8696
  }
8697
- StringToColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StringToColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8698
- StringToColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: StringToColorPipe, name: "stringToColor" });
8699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StringToColorPipe, decorators: [{
8697
+ StringToColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: StringToColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8698
+ StringToColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: StringToColorPipe, name: "stringToColor" });
8699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: StringToColorPipe, decorators: [{
8700
8700
  type: Pipe,
8701
8701
  args: [{
8702
8702
  name: 'stringToColor',
@@ -8709,9 +8709,9 @@ class ChannelBadgeComponent {
8709
8709
  return this.channelCode === DEFAULT_CHANNEL_CODE;
8710
8710
  }
8711
8711
  }
8712
- ChannelBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8713
- ChannelBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: { channelCode: "channelCode" }, ngImport: i0, template: "<clr-icon shape=\"layers\" [style.color]=\"isDefaultChannel ? '#aaa' : (channelCode | stringToColor)\"></clr-icon>\r\n", styles: [":host{display:inline-block}@media screen and (max-width: 992px){clr-icon{margin-right:0}}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "pipe", type: StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelBadgeComponent, decorators: [{
8712
+ ChannelBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8713
+ ChannelBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: { channelCode: "channelCode" }, ngImport: i0, template: "<clr-icon shape=\"layers\" [style.color]=\"isDefaultChannel ? '#aaa' : (channelCode | stringToColor)\"></clr-icon>\r\n", styles: [":host{display:inline-block}@media screen and (max-width: 992px){clr-icon{margin-right:0}}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "pipe", type: StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelBadgeComponent, decorators: [{
8715
8715
  type: Component,
8716
8716
  args: [{ selector: 'vdr-channel-badge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<clr-icon shape=\"layers\" [style.color]=\"isDefaultChannel ? '#aaa' : (channelCode | stringToColor)\"></clr-icon>\r\n", styles: [":host{display:inline-block}@media screen and (max-width: 992px){clr-icon{margin-right:0}}\n"] }]
8717
8717
  }], propDecorators: { channelCode: [{
@@ -8728,9 +8728,9 @@ class ChannelLabelPipe {
8728
8728
  }
8729
8729
  }
8730
8730
  }
8731
- ChannelLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8732
- ChannelLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: ChannelLabelPipe, name: "channelCodeToLabel" });
8733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelLabelPipe, decorators: [{
8731
+ ChannelLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8732
+ ChannelLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: ChannelLabelPipe, name: "channelCodeToLabel" });
8733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelLabelPipe, decorators: [{
8734
8734
  type: Pipe,
8735
8735
  args: [{
8736
8736
  name: 'channelCodeToLabel',
@@ -8761,9 +8761,9 @@ class ChannelSwitcherComponent {
8761
8761
  this.channelService.setActiveChannel(channelId).subscribe(() => this.filterControl.patchValue(''));
8762
8762
  }
8763
8763
  }
8764
- ChannelSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelSwitcherComponent, deps: [{ token: DataService }, { token: ChannelService }], target: i0.ɵɵFactoryTarget.Component });
8765
- ChannelSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"md:hidden channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger md:hidden\"><clr-icon shape=\"caret down\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-200);cursor:pointer;width:100%;border-radius:var(--border-radius);padding:var(--space-unit)}.active-channel:hover{background-color:var(--color-component-bg-100);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}@media screen and (max-width: 992px){.active-channel{justify-content:center}}.channel-label{margin:0 3px;overflow:hidden;max-width:100px;text-overflow:ellipsis}@media screen and (max-width: 992px){.channel-label{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8766
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelSwitcherComponent, decorators: [{
8764
+ ChannelSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelSwitcherComponent, deps: [{ token: DataService }, { token: ChannelService }], target: i0.ɵɵFactoryTarget.Component });
8765
+ ChannelSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"md:hidden channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger md:hidden\"><clr-icon shape=\"caret down\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-200);cursor:pointer;width:100%;border-radius:var(--border-radius);padding:var(--space-unit)}.active-channel:hover{background-color:var(--color-component-bg-100);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}@media screen and (max-width: 992px){.active-channel{justify-content:center}}.channel-label{margin:0 3px;overflow:hidden;max-width:100px;text-overflow:ellipsis}@media screen and (max-width: 992px){.channel-label{display:none}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelSwitcherComponent, decorators: [{
8767
8767
  type: Component,
8768
8768
  args: [{ selector: 'vdr-channel-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"md:hidden channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger md:hidden\"><clr-icon shape=\"caret down\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-200);cursor:pointer;width:100%;border-radius:var(--border-radius);padding:var(--space-unit)}.active-channel:hover{background-color:var(--color-component-bg-100);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}@media screen and (max-width: 992px){.active-channel{justify-content:center}}.channel-label{margin:0 3px;overflow:hidden;max-width:100px;text-overflow:ellipsis}@media screen and (max-width: 992px){.channel-label{display:none}}\n"] }]
8769
8769
  }], ctorParameters: function () { return [{ type: DataService }, { type: ChannelService }]; } });
@@ -8794,13 +8794,13 @@ class PageTitleComponent {
8794
8794
  }
8795
8795
  }
8796
8796
  }
8797
- PageTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PageTitleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8798
- PageTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: PageTitleComponent, selector: "vdr-page-title", inputs: { value: "value" }, ngImport: i0, template: `
8797
+ PageTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PageTitleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8798
+ PageTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PageTitleComponent, selector: "vdr-page-title", inputs: { value: "value" }, ngImport: i0, template: `
8799
8799
  <div class="page-title">
8800
8800
  <h1 [class.folded]="isFolded">{{ value | translate }}</h1>
8801
8801
  </div>
8802
8802
  `, isInline: true, styles: [":host{display:block;width:100%;max-width:var(--layout-content-max-width);padding:0 var(--space-unit);margin-right:auto;margin-left:calc(var(--space-unit) * 3)}@media screen and (max-width: 992px){:host{margin-left:calc(var(--space-unit))}}.page-title h1{margin-top:0;color:var(--color-text-100);opacity:1;overflow:hidden}.page-title h1.folded{opacity:1}\n"], dependencies: [{ kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8803
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PageTitleComponent, decorators: [{
8803
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PageTitleComponent, decorators: [{
8804
8804
  type: Component,
8805
8805
  args: [{ selector: 'vdr-page-title', template: `
8806
8806
  <div class="page-title">
@@ -8864,11 +8864,11 @@ class AppShellComponent {
8864
8864
  });
8865
8865
  }
8866
8866
  }
8867
- AppShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppShellComponent, deps: [{ token: AuthService }, { token: DataService }, { token: i1$2.Router }, { token: I18nService }, { token: ModalService }, { token: LocalStorageService }, { token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
8868
- AppShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AppShellComponent, selector: "vdr-app-shell", ngImport: i0, template: "<div class=\"app-container\">\r\n <div class=\"left-nav\">\r\n <div class=\"branding py-2 px-2\">\r\n <a [routerLink]=\"['/']\"\r\n ><img src=\"assets/logo-75px.png\" class=\"logo\" /><span\r\n class=\"wordmark md:hidden\"\r\n *ngIf=\"!hideVendureBranding\"\r\n >vendure</span\r\n ></a\r\n >\r\n </div>\r\n <div class=\"mx-2\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"px-2 mt-4 main-nav-container\">\r\n <vdr-main-nav></vdr-main-nav>\r\n </div>\r\n <div class=\"m-2\">\r\n <vdr-settings-nav></vdr-settings-nav>\r\n </div>\r\n <div class=\"mx-2\"></div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <vdr-page-title [value]=\"(pageTitle$ | async) || '' | translate\"></vdr-page-title>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;height:100%;border-right:1px solid var(--color-component-border-200);z-index:1}@media screen and (min-width: 992px){.left-nav{width:260px}}.top-bar{position:sticky;top:0;height:48px;width:100%;display:flex;z-index:20;justify-content:space-between;background-color:var(--color-left-nav-bg)}.main-nav-container{overflow:auto;flex:1;scrollbar-width:auto;scrollbar-color:var(--color-primary-700) #052731}.main-nav-container::-webkit-scrollbar{width:16px}.main-nav-container::-webkit-scrollbar-track{background-color:#052731}.main-nav-container::-webkit-scrollbar-thumb{background-color:var(--color-primary-700);border-radius:var(--border-radius)}.main-nav-container::-webkit-scrollbar-thumb:hover{background-color:#0f5070}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-component-bg-100)}.content-container{overflow:auto}.branding{display:flex;align-items:center;min-width:0}.logo{width:40px}.wordmark{font-weight:700;margin-left:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}vdr-breadcrumb{width:100%;max-width:var(--layout-content-max-width);background-color:var(--color-component-bg-100);padding:var(--space-unit) 0;z-index:5;position:sticky;top:0;margin-right:auto;margin-left:calc(var(--space-unit) * 3)}@media screen and (max-width: 992px){vdr-breadcrumb{margin-left:calc(var(--space-unit))}}.header-actions{align-items:center}.content-area{position:relative;max-width:var(--layout-content-max-width);margin-right:auto;margin-left:calc(var(--space-unit) * 3);padding:0 var(--space-unit)}@media screen and (max-width: 992px){.content-area{margin-left:calc(var(--space-unit))}}::ng-deep .header{background-image:linear-gradient(to right,var(--color-header-gradient-from),var(--color-header-gradient-to))}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: ["vdrIfMultichannelElse"] }, { kind: "component", type: UserMenuComponent, selector: "vdr-user-menu", inputs: ["userName", "availableLanguages", "uiLanguageAndLocale"], outputs: ["logOut", "selectUiLanguage"] }, { kind: "component", type: MainNavComponent, selector: "vdr-main-nav" }, { kind: "component", type: SettingsNavComponent, selector: "vdr-settings-nav" }, { kind: "component", type: BreadcrumbComponent, selector: "vdr-breadcrumb" }, { kind: "component", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher" }, { kind: "component", type: PageTitleComponent, selector: "vdr-page-title", inputs: ["value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppShellComponent, decorators: [{
8867
+ AppShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppShellComponent, deps: [{ token: AuthService }, { token: DataService }, { token: i1$2.Router }, { token: I18nService }, { token: ModalService }, { token: LocalStorageService }, { token: BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
8868
+ AppShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AppShellComponent, selector: "vdr-app-shell", ngImport: i0, template: "<div class=\"app-container\">\r\n <div class=\"left-nav\">\r\n <div class=\"branding py-2 px-2\">\r\n <a [routerLink]=\"['/']\"\r\n ><img src=\"assets/logo-75px.png\" class=\"logo\" /><span\r\n class=\"wordmark md:hidden\"\r\n *ngIf=\"!hideVendureBranding\"\r\n >vendure</span\r\n ></a\r\n >\r\n </div>\r\n <div class=\"mx-2\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"px-2 mt-4 main-nav-container\">\r\n <vdr-main-nav></vdr-main-nav>\r\n </div>\r\n <div class=\"m-2\">\r\n <vdr-settings-nav></vdr-settings-nav>\r\n </div>\r\n <div class=\"mx-2\"></div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <vdr-page-title [value]=\"(pageTitle$ | async) || '' | translate\"></vdr-page-title>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;height:100%;border-right:1px solid var(--color-component-border-200);z-index:1}@media screen and (min-width: 992px){.left-nav{width:260px}}.top-bar{position:sticky;top:0;height:48px;width:100%;display:flex;z-index:20;justify-content:space-between;background-color:var(--color-left-nav-bg)}.main-nav-container{overflow:auto;flex:1}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-component-bg-100)}.content-container{overflow:auto}.branding{display:flex;align-items:center;min-width:0}.logo{width:40px}.wordmark{font-weight:700;margin-left:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}vdr-breadcrumb{width:100%;max-width:var(--layout-content-max-width);background-color:var(--color-component-bg-100);padding:var(--space-unit) 0;z-index:5;position:sticky;top:0;margin-right:auto;margin-left:calc(var(--space-unit) * 3)}@media screen and (max-width: 992px){vdr-breadcrumb{margin-left:calc(var(--space-unit))}}.header-actions{align-items:center}.content-area{position:relative;max-width:var(--layout-content-max-width);margin-right:auto;margin-left:calc(var(--space-unit) * 3);padding:0 var(--space-unit)}@media screen and (max-width: 992px){.content-area{margin-left:calc(var(--space-unit))}}::ng-deep .header{background-image:linear-gradient(to right,var(--color-header-gradient-from),var(--color-header-gradient-to))}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: ["vdrIfMultichannelElse"] }, { kind: "component", type: UserMenuComponent, selector: "vdr-user-menu", inputs: ["userName", "availableLanguages", "uiLanguageAndLocale"], outputs: ["logOut", "selectUiLanguage"] }, { kind: "component", type: MainNavComponent, selector: "vdr-main-nav" }, { kind: "component", type: SettingsNavComponent, selector: "vdr-settings-nav" }, { kind: "component", type: BreadcrumbComponent, selector: "vdr-breadcrumb" }, { kind: "component", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher" }, { kind: "component", type: PageTitleComponent, selector: "vdr-page-title", inputs: ["value"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppShellComponent, decorators: [{
8870
8870
  type: Component,
8871
- args: [{ selector: 'vdr-app-shell', template: "<div class=\"app-container\">\r\n <div class=\"left-nav\">\r\n <div class=\"branding py-2 px-2\">\r\n <a [routerLink]=\"['/']\"\r\n ><img src=\"assets/logo-75px.png\" class=\"logo\" /><span\r\n class=\"wordmark md:hidden\"\r\n *ngIf=\"!hideVendureBranding\"\r\n >vendure</span\r\n ></a\r\n >\r\n </div>\r\n <div class=\"mx-2\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"px-2 mt-4 main-nav-container\">\r\n <vdr-main-nav></vdr-main-nav>\r\n </div>\r\n <div class=\"m-2\">\r\n <vdr-settings-nav></vdr-settings-nav>\r\n </div>\r\n <div class=\"mx-2\"></div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <vdr-page-title [value]=\"(pageTitle$ | async) || '' | translate\"></vdr-page-title>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;height:100%;border-right:1px solid var(--color-component-border-200);z-index:1}@media screen and (min-width: 992px){.left-nav{width:260px}}.top-bar{position:sticky;top:0;height:48px;width:100%;display:flex;z-index:20;justify-content:space-between;background-color:var(--color-left-nav-bg)}.main-nav-container{overflow:auto;flex:1;scrollbar-width:auto;scrollbar-color:var(--color-primary-700) #052731}.main-nav-container::-webkit-scrollbar{width:16px}.main-nav-container::-webkit-scrollbar-track{background-color:#052731}.main-nav-container::-webkit-scrollbar-thumb{background-color:var(--color-primary-700);border-radius:var(--border-radius)}.main-nav-container::-webkit-scrollbar-thumb:hover{background-color:#0f5070}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-component-bg-100)}.content-container{overflow:auto}.branding{display:flex;align-items:center;min-width:0}.logo{width:40px}.wordmark{font-weight:700;margin-left:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}vdr-breadcrumb{width:100%;max-width:var(--layout-content-max-width);background-color:var(--color-component-bg-100);padding:var(--space-unit) 0;z-index:5;position:sticky;top:0;margin-right:auto;margin-left:calc(var(--space-unit) * 3)}@media screen and (max-width: 992px){vdr-breadcrumb{margin-left:calc(var(--space-unit))}}.header-actions{align-items:center}.content-area{position:relative;max-width:var(--layout-content-max-width);margin-right:auto;margin-left:calc(var(--space-unit) * 3);padding:0 var(--space-unit)}@media screen and (max-width: 992px){.content-area{margin-left:calc(var(--space-unit))}}::ng-deep .header{background-image:linear-gradient(to right,var(--color-header-gradient-from),var(--color-header-gradient-to))}\n"] }]
8871
+ args: [{ selector: 'vdr-app-shell', template: "<div class=\"app-container\">\r\n <div class=\"left-nav\">\r\n <div class=\"branding py-2 px-2\">\r\n <a [routerLink]=\"['/']\"\r\n ><img src=\"assets/logo-75px.png\" class=\"logo\" /><span\r\n class=\"wordmark md:hidden\"\r\n *ngIf=\"!hideVendureBranding\"\r\n >vendure</span\r\n ></a\r\n >\r\n </div>\r\n <div class=\"mx-2\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"px-2 mt-4 main-nav-container\">\r\n <vdr-main-nav></vdr-main-nav>\r\n </div>\r\n <div class=\"m-2\">\r\n <vdr-settings-nav></vdr-settings-nav>\r\n </div>\r\n <div class=\"mx-2\"></div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <vdr-page-title [value]=\"(pageTitle$ | async) || '' | translate\"></vdr-page-title>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;height:100%;border-right:1px solid var(--color-component-border-200);z-index:1}@media screen and (min-width: 992px){.left-nav{width:260px}}.top-bar{position:sticky;top:0;height:48px;width:100%;display:flex;z-index:20;justify-content:space-between;background-color:var(--color-left-nav-bg)}.main-nav-container{overflow:auto;flex:1}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-component-bg-100)}.content-container{overflow:auto}.branding{display:flex;align-items:center;min-width:0}.logo{width:40px}.wordmark{font-weight:700;margin-left:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}vdr-breadcrumb{width:100%;max-width:var(--layout-content-max-width);background-color:var(--color-component-bg-100);padding:var(--space-unit) 0;z-index:5;position:sticky;top:0;margin-right:auto;margin-left:calc(var(--space-unit) * 3)}@media screen and (max-width: 992px){vdr-breadcrumb{margin-left:calc(var(--space-unit))}}.header-actions{align-items:center}.content-area{position:relative;max-width:var(--layout-content-max-width);margin-right:auto;margin-left:calc(var(--space-unit) * 3);padding:0 var(--space-unit)}@media screen and (max-width: 992px){.content-area{margin-left:calc(var(--space-unit))}}::ng-deep .header{background-image:linear-gradient(to right,var(--color-header-gradient-from),var(--color-header-gradient-to))}\n"] }]
8872
8872
  }], ctorParameters: function () { return [{ type: AuthService }, { type: DataService }, { type: i1$2.Router }, { type: I18nService }, { type: ModalService }, { type: LocalStorageService }, { type: BreadcrumbService }]; } });
8873
8873
 
8874
8874
  class NotificationComponent {
@@ -8929,9 +8929,9 @@ class NotificationComponent {
8929
8929
  }
8930
8930
  }
8931
8931
  }
8932
- NotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8933
- NotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NotificationComponent, selector: "vdr-notification", host: { listeners: { "click": "onClick()" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"notification-wrapper\"\r\n #wrapper\r\n [style.top.px]=\"offsetTop\"\r\n [ngClass]=\"{\r\n visible: isVisible,\r\n info: type === 'info',\r\n success: type === 'success',\r\n error: type === 'error',\r\n warning: type === 'warning'\r\n }\"\r\n>\r\n <clr-icon [attr.shape]=\"getIcon()\" size=\"24\"></clr-icon>\r\n {{ stringifyMessage(message) | translate: translationVars }}\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:.95}}:host{position:relative;z-index:1050}:host>.notification-wrapper{display:block;position:fixed;z-index:1001;top:0;right:10px;border-radius:3px;max-width:98vw;word-wrap:break-word;padding:10px;background-color:var(--color-grey-500);color:#fff;transition:opacity 1s,top .3s;opacity:0;white-space:pre-line}:host>.notification-wrapper.success{background-color:var(--color-success-500)}:host>.notification-wrapper.error{background-color:var(--color-error-500)}:host>.notification-wrapper.warning{background-color:var(--color-warning-500)}:host>.notification-wrapper.info{background-color:var(--color-secondary-500)}:host>.notification-wrapper.visible{opacity:.95;animation:fadeIn .3s .3s backwards}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NotificationComponent, decorators: [{
8932
+ NotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8933
+ NotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NotificationComponent, selector: "vdr-notification", host: { listeners: { "click": "onClick()" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"notification-wrapper\"\r\n #wrapper\r\n [style.top.px]=\"offsetTop\"\r\n [ngClass]=\"{\r\n visible: isVisible,\r\n info: type === 'info',\r\n success: type === 'success',\r\n error: type === 'error',\r\n warning: type === 'warning'\r\n }\"\r\n>\r\n <clr-icon [attr.shape]=\"getIcon()\" size=\"24\"></clr-icon>\r\n {{ stringifyMessage(message) | translate: translationVars }}\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:.95}}:host{position:relative;z-index:1050}:host>.notification-wrapper{display:block;position:fixed;z-index:1001;top:0;right:10px;border-radius:3px;max-width:98vw;word-wrap:break-word;padding:10px;background-color:var(--color-grey-500);color:#fff;transition:opacity 1s,top .3s;opacity:0;white-space:pre-line}:host>.notification-wrapper.success{background-color:var(--color-success-500)}:host>.notification-wrapper.error{background-color:var(--color-error-500)}:host>.notification-wrapper.warning{background-color:var(--color-warning-500)}:host>.notification-wrapper.info{background-color:var(--color-secondary-500)}:host>.notification-wrapper.visible{opacity:.95;animation:fadeIn .3s .3s backwards}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NotificationComponent, decorators: [{
8935
8935
  type: Component,
8936
8936
  args: [{ selector: 'vdr-notification', template: "<div\r\n class=\"notification-wrapper\"\r\n #wrapper\r\n [style.top.px]=\"offsetTop\"\r\n [ngClass]=\"{\r\n visible: isVisible,\r\n info: type === 'info',\r\n success: type === 'success',\r\n error: type === 'error',\r\n warning: type === 'warning'\r\n }\"\r\n>\r\n <clr-icon [attr.shape]=\"getIcon()\" size=\"24\"></clr-icon>\r\n {{ stringifyMessage(message) | translate: translationVars }}\r\n</div>\r\n", styles: ["@keyframes fadeIn{0%{opacity:0}to{opacity:.95}}:host{position:relative;z-index:1050}:host>.notification-wrapper{display:block;position:fixed;z-index:1001;top:0;right:10px;border-radius:3px;max-width:98vw;word-wrap:break-word;padding:10px;background-color:var(--color-grey-500);color:#fff;transition:opacity 1s,top .3s;opacity:0;white-space:pre-line}:host>.notification-wrapper.success{background-color:var(--color-success-500)}:host>.notification-wrapper.error{background-color:var(--color-error-500)}:host>.notification-wrapper.warning{background-color:var(--color-warning-500)}:host>.notification-wrapper.info{background-color:var(--color-secondary-500)}:host>.notification-wrapper.visible{opacity:.95;animation:fadeIn .3s .3s backwards}\n"] }]
8937
8937
  }], propDecorators: { wrapper: [{
@@ -8944,310 +8944,234 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
8944
8944
 
8945
8945
  /* eslint-disable */
8946
8946
  const result = {
8947
- "possibleTypes": {
8948
- "AddFulfillmentToOrderResult": [
8949
- "CreateFulfillmentError",
8950
- "EmptyOrderLineSelectionError",
8951
- "Fulfillment",
8952
- "FulfillmentStateTransitionError",
8953
- "InsufficientStockOnHandError",
8954
- "InvalidFulfillmentHandlerError",
8955
- "ItemsAlreadyFulfilledError"
8956
- ],
8957
- "AddManualPaymentToOrderResult": [
8958
- "ManualPaymentStateError",
8959
- "Order"
8960
- ],
8961
- "ApplyCouponCodeResult": [
8962
- "CouponCodeExpiredError",
8963
- "CouponCodeInvalidError",
8964
- "CouponCodeLimitError",
8965
- "Order"
8966
- ],
8967
- "AuthenticationResult": [
8968
- "CurrentUser",
8969
- "InvalidCredentialsError"
8970
- ],
8971
- "CancelOrderResult": [
8972
- "CancelActiveOrderError",
8973
- "EmptyOrderLineSelectionError",
8974
- "MultipleOrderError",
8975
- "Order",
8976
- "OrderStateTransitionError",
8977
- "QuantityTooGreatError"
8978
- ],
8979
- "CancelPaymentResult": [
8980
- "CancelPaymentError",
8981
- "Payment",
8982
- "PaymentStateTransitionError"
8983
- ],
8984
- "CreateAssetResult": [
8985
- "Asset",
8986
- "MimeTypeError"
8987
- ],
8988
- "CreateChannelResult": [
8989
- "Channel",
8990
- "LanguageNotAvailableError"
8991
- ],
8992
- "CreateCustomerResult": [
8993
- "Customer",
8994
- "EmailAddressConflictError"
8995
- ],
8996
- "CreatePromotionResult": [
8997
- "MissingConditionsError",
8998
- "Promotion"
8999
- ],
9000
- "CustomField": [
9001
- "BooleanCustomFieldConfig",
9002
- "DateTimeCustomFieldConfig",
9003
- "FloatCustomFieldConfig",
9004
- "IntCustomFieldConfig",
9005
- "LocaleStringCustomFieldConfig",
9006
- "LocaleTextCustomFieldConfig",
9007
- "RelationCustomFieldConfig",
9008
- "StringCustomFieldConfig",
9009
- "TextCustomFieldConfig"
8947
+ possibleTypes: {
8948
+ AddFulfillmentToOrderResult: [
8949
+ 'CreateFulfillmentError',
8950
+ 'EmptyOrderLineSelectionError',
8951
+ 'Fulfillment',
8952
+ 'FulfillmentStateTransitionError',
8953
+ 'InsufficientStockOnHandError',
8954
+ 'InvalidFulfillmentHandlerError',
8955
+ 'ItemsAlreadyFulfilledError',
9010
8956
  ],
9011
- "CustomFieldConfig": [
9012
- "BooleanCustomFieldConfig",
9013
- "DateTimeCustomFieldConfig",
9014
- "FloatCustomFieldConfig",
9015
- "IntCustomFieldConfig",
9016
- "LocaleStringCustomFieldConfig",
9017
- "LocaleTextCustomFieldConfig",
9018
- "RelationCustomFieldConfig",
9019
- "StringCustomFieldConfig",
9020
- "TextCustomFieldConfig"
8957
+ AddManualPaymentToOrderResult: ['ManualPaymentStateError', 'Order'],
8958
+ ApplyCouponCodeResult: [
8959
+ 'CouponCodeExpiredError',
8960
+ 'CouponCodeInvalidError',
8961
+ 'CouponCodeLimitError',
8962
+ 'Order',
9021
8963
  ],
9022
- "ErrorResult": [
9023
- "AlreadyRefundedError",
9024
- "CancelActiveOrderError",
9025
- "CancelPaymentError",
9026
- "ChannelDefaultLanguageError",
9027
- "CouponCodeExpiredError",
9028
- "CouponCodeInvalidError",
9029
- "CouponCodeLimitError",
9030
- "CreateFulfillmentError",
9031
- "EmailAddressConflictError",
9032
- "EmptyOrderLineSelectionError",
9033
- "FacetInUseError",
9034
- "FulfillmentStateTransitionError",
9035
- "GuestCheckoutError",
9036
- "IneligibleShippingMethodError",
9037
- "InsufficientStockError",
9038
- "InsufficientStockOnHandError",
9039
- "InvalidCredentialsError",
9040
- "InvalidFulfillmentHandlerError",
9041
- "ItemsAlreadyFulfilledError",
9042
- "LanguageNotAvailableError",
9043
- "ManualPaymentStateError",
9044
- "MimeTypeError",
9045
- "MissingConditionsError",
9046
- "MultipleOrderError",
9047
- "NativeAuthStrategyError",
9048
- "NegativeQuantityError",
9049
- "NoActiveOrderError",
9050
- "NoChangesSpecifiedError",
9051
- "NothingToRefundError",
9052
- "OrderLimitError",
9053
- "OrderModificationError",
9054
- "OrderModificationStateError",
9055
- "OrderStateTransitionError",
9056
- "PaymentMethodMissingError",
9057
- "PaymentOrderMismatchError",
9058
- "PaymentStateTransitionError",
9059
- "ProductOptionInUseError",
9060
- "QuantityTooGreatError",
9061
- "RefundOrderStateError",
9062
- "RefundPaymentIdMissingError",
9063
- "RefundStateTransitionError",
9064
- "SettlePaymentError"
8964
+ AuthenticationResult: ['CurrentUser', 'InvalidCredentialsError'],
8965
+ CancelOrderResult: [
8966
+ 'CancelActiveOrderError',
8967
+ 'EmptyOrderLineSelectionError',
8968
+ 'MultipleOrderError',
8969
+ 'Order',
8970
+ 'OrderStateTransitionError',
8971
+ 'QuantityTooGreatError',
9065
8972
  ],
9066
- "ModifyOrderResult": [
9067
- "CouponCodeExpiredError",
9068
- "CouponCodeInvalidError",
9069
- "CouponCodeLimitError",
9070
- "InsufficientStockError",
9071
- "NegativeQuantityError",
9072
- "NoChangesSpecifiedError",
9073
- "Order",
9074
- "OrderLimitError",
9075
- "OrderModificationStateError",
9076
- "PaymentMethodMissingError",
9077
- "RefundPaymentIdMissingError"
8973
+ CancelPaymentResult: ['CancelPaymentError', 'Payment', 'PaymentStateTransitionError'],
8974
+ CreateAssetResult: ['Asset', 'MimeTypeError'],
8975
+ CreateChannelResult: ['Channel', 'LanguageNotAvailableError'],
8976
+ CreateCustomerResult: ['Customer', 'EmailAddressConflictError'],
8977
+ CreatePromotionResult: ['MissingConditionsError', 'Promotion'],
8978
+ CustomField: [
8979
+ 'BooleanCustomFieldConfig',
8980
+ 'DateTimeCustomFieldConfig',
8981
+ 'FloatCustomFieldConfig',
8982
+ 'IntCustomFieldConfig',
8983
+ 'LocaleStringCustomFieldConfig',
8984
+ 'LocaleTextCustomFieldConfig',
8985
+ 'RelationCustomFieldConfig',
8986
+ 'StringCustomFieldConfig',
8987
+ 'TextCustomFieldConfig',
9078
8988
  ],
9079
- "NativeAuthenticationResult": [
9080
- "CurrentUser",
9081
- "InvalidCredentialsError",
9082
- "NativeAuthStrategyError"
8989
+ CustomFieldConfig: [
8990
+ 'BooleanCustomFieldConfig',
8991
+ 'DateTimeCustomFieldConfig',
8992
+ 'FloatCustomFieldConfig',
8993
+ 'IntCustomFieldConfig',
8994
+ 'LocaleStringCustomFieldConfig',
8995
+ 'LocaleTextCustomFieldConfig',
8996
+ 'RelationCustomFieldConfig',
8997
+ 'StringCustomFieldConfig',
8998
+ 'TextCustomFieldConfig',
9083
8999
  ],
9084
- "Node": [
9085
- "Address",
9086
- "Administrator",
9087
- "Allocation",
9088
- "Asset",
9089
- "AuthenticationMethod",
9090
- "Cancellation",
9091
- "Channel",
9092
- "Collection",
9093
- "Country",
9094
- "Customer",
9095
- "CustomerGroup",
9096
- "Facet",
9097
- "FacetValue",
9098
- "Fulfillment",
9099
- "HistoryEntry",
9100
- "Job",
9101
- "Order",
9102
- "OrderItem",
9103
- "OrderLine",
9104
- "OrderModification",
9105
- "Payment",
9106
- "PaymentMethod",
9107
- "Product",
9108
- "ProductOption",
9109
- "ProductOptionGroup",
9110
- "ProductVariant",
9111
- "Promotion",
9112
- "Refund",
9113
- "Release",
9114
- "Return",
9115
- "Role",
9116
- "Sale",
9117
- "Seller",
9118
- "ShippingMethod",
9119
- "StockAdjustment",
9120
- "StockLevel",
9121
- "StockLocation",
9122
- "Surcharge",
9123
- "Tag",
9124
- "TaxCategory",
9125
- "TaxRate",
9126
- "User",
9127
- "Zone"
9000
+ ErrorResult: [
9001
+ 'AlreadyRefundedError',
9002
+ 'CancelActiveOrderError',
9003
+ 'CancelPaymentError',
9004
+ 'ChannelDefaultLanguageError',
9005
+ 'CouponCodeExpiredError',
9006
+ 'CouponCodeInvalidError',
9007
+ 'CouponCodeLimitError',
9008
+ 'CreateFulfillmentError',
9009
+ 'EmailAddressConflictError',
9010
+ 'EmptyOrderLineSelectionError',
9011
+ 'FacetInUseError',
9012
+ 'FulfillmentStateTransitionError',
9013
+ 'GuestCheckoutError',
9014
+ 'IneligibleShippingMethodError',
9015
+ 'InsufficientStockError',
9016
+ 'InsufficientStockOnHandError',
9017
+ 'InvalidCredentialsError',
9018
+ 'InvalidFulfillmentHandlerError',
9019
+ 'ItemsAlreadyFulfilledError',
9020
+ 'LanguageNotAvailableError',
9021
+ 'ManualPaymentStateError',
9022
+ 'MimeTypeError',
9023
+ 'MissingConditionsError',
9024
+ 'MultipleOrderError',
9025
+ 'NativeAuthStrategyError',
9026
+ 'NegativeQuantityError',
9027
+ 'NoActiveOrderError',
9028
+ 'NoChangesSpecifiedError',
9029
+ 'NothingToRefundError',
9030
+ 'OrderLimitError',
9031
+ 'OrderModificationError',
9032
+ 'OrderModificationStateError',
9033
+ 'OrderStateTransitionError',
9034
+ 'PaymentMethodMissingError',
9035
+ 'PaymentOrderMismatchError',
9036
+ 'PaymentStateTransitionError',
9037
+ 'ProductOptionInUseError',
9038
+ 'QuantityTooGreatError',
9039
+ 'RefundOrderStateError',
9040
+ 'RefundPaymentIdMissingError',
9041
+ 'RefundStateTransitionError',
9042
+ 'SettlePaymentError',
9128
9043
  ],
9129
- "PaginatedList": [
9130
- "AdministratorList",
9131
- "AssetList",
9132
- "CollectionList",
9133
- "CountryList",
9134
- "CustomerGroupList",
9135
- "CustomerList",
9136
- "FacetList",
9137
- "FacetValueList",
9138
- "HistoryEntryList",
9139
- "JobList",
9140
- "OrderList",
9141
- "PaymentMethodList",
9142
- "ProductList",
9143
- "ProductVariantList",
9144
- "PromotionList",
9145
- "RoleList",
9146
- "SellerList",
9147
- "ShippingMethodList",
9148
- "StockLocationList",
9149
- "TagList",
9150
- "TaxRateList"
9044
+ ModifyOrderResult: [
9045
+ 'CouponCodeExpiredError',
9046
+ 'CouponCodeInvalidError',
9047
+ 'CouponCodeLimitError',
9048
+ 'InsufficientStockError',
9049
+ 'NegativeQuantityError',
9050
+ 'NoChangesSpecifiedError',
9051
+ 'Order',
9052
+ 'OrderLimitError',
9053
+ 'OrderModificationStateError',
9054
+ 'PaymentMethodMissingError',
9055
+ 'RefundPaymentIdMissingError',
9151
9056
  ],
9152
- "RefundOrderResult": [
9153
- "AlreadyRefundedError",
9154
- "MultipleOrderError",
9155
- "NothingToRefundError",
9156
- "OrderStateTransitionError",
9157
- "PaymentOrderMismatchError",
9158
- "QuantityTooGreatError",
9159
- "Refund",
9160
- "RefundOrderStateError",
9161
- "RefundStateTransitionError"
9057
+ NativeAuthenticationResult: ['CurrentUser', 'InvalidCredentialsError', 'NativeAuthStrategyError'],
9058
+ Node: [
9059
+ 'Address',
9060
+ 'Administrator',
9061
+ 'Allocation',
9062
+ 'Asset',
9063
+ 'AuthenticationMethod',
9064
+ 'Cancellation',
9065
+ 'Channel',
9066
+ 'Collection',
9067
+ 'Country',
9068
+ 'Customer',
9069
+ 'CustomerGroup',
9070
+ 'Facet',
9071
+ 'FacetValue',
9072
+ 'Fulfillment',
9073
+ 'HistoryEntry',
9074
+ 'Job',
9075
+ 'Order',
9076
+ 'OrderItem',
9077
+ 'OrderLine',
9078
+ 'OrderModification',
9079
+ 'Payment',
9080
+ 'PaymentMethod',
9081
+ 'Product',
9082
+ 'ProductOption',
9083
+ 'ProductOptionGroup',
9084
+ 'ProductVariant',
9085
+ 'Promotion',
9086
+ 'Province',
9087
+ 'Refund',
9088
+ 'Release',
9089
+ 'Return',
9090
+ 'Role',
9091
+ 'Sale',
9092
+ 'Seller',
9093
+ 'ShippingMethod',
9094
+ 'StockAdjustment',
9095
+ 'StockLevel',
9096
+ 'StockLocation',
9097
+ 'Surcharge',
9098
+ 'Tag',
9099
+ 'TaxCategory',
9100
+ 'TaxRate',
9101
+ 'User',
9102
+ 'Zone',
9162
9103
  ],
9163
- "RemoveFacetFromChannelResult": [
9164
- "Facet",
9165
- "FacetInUseError"
9104
+ PaginatedList: [
9105
+ 'AdministratorList',
9106
+ 'AssetList',
9107
+ 'CollectionList',
9108
+ 'CountryList',
9109
+ 'CustomerGroupList',
9110
+ 'CustomerList',
9111
+ 'FacetList',
9112
+ 'FacetValueList',
9113
+ 'HistoryEntryList',
9114
+ 'JobList',
9115
+ 'OrderList',
9116
+ 'PaymentMethodList',
9117
+ 'ProductList',
9118
+ 'ProductVariantList',
9119
+ 'PromotionList',
9120
+ 'ProvinceList',
9121
+ 'RoleList',
9122
+ 'SellerList',
9123
+ 'ShippingMethodList',
9124
+ 'StockLocationList',
9125
+ 'TagList',
9126
+ 'TaxRateList',
9166
9127
  ],
9167
- "RemoveOptionGroupFromProductResult": [
9168
- "Product",
9169
- "ProductOptionInUseError"
9128
+ RefundOrderResult: [
9129
+ 'AlreadyRefundedError',
9130
+ 'MultipleOrderError',
9131
+ 'NothingToRefundError',
9132
+ 'OrderStateTransitionError',
9133
+ 'PaymentOrderMismatchError',
9134
+ 'QuantityTooGreatError',
9135
+ 'Refund',
9136
+ 'RefundOrderStateError',
9137
+ 'RefundStateTransitionError',
9170
9138
  ],
9171
- "RemoveOrderItemsResult": [
9172
- "Order",
9173
- "OrderModificationError"
9139
+ Region: ['Country', 'Province'],
9140
+ RemoveFacetFromChannelResult: ['Facet', 'FacetInUseError'],
9141
+ RemoveOptionGroupFromProductResult: ['Product', 'ProductOptionInUseError'],
9142
+ RemoveOrderItemsResult: ['Order', 'OrderModificationError'],
9143
+ SearchResultPrice: ['PriceRange', 'SinglePrice'],
9144
+ SetCustomerForDraftOrderResult: ['EmailAddressConflictError', 'Order'],
9145
+ SetOrderShippingMethodResult: [
9146
+ 'IneligibleShippingMethodError',
9147
+ 'NoActiveOrderError',
9148
+ 'Order',
9149
+ 'OrderModificationError',
9174
9150
  ],
9175
- "SearchResultPrice": [
9176
- "PriceRange",
9177
- "SinglePrice"
9151
+ SettlePaymentResult: [
9152
+ 'OrderStateTransitionError',
9153
+ 'Payment',
9154
+ 'PaymentStateTransitionError',
9155
+ 'SettlePaymentError',
9178
9156
  ],
9179
- "SetCustomerForDraftOrderResult": [
9180
- "EmailAddressConflictError",
9181
- "Order"
9157
+ SettleRefundResult: ['Refund', 'RefundStateTransitionError'],
9158
+ StockMovement: ['Allocation', 'Cancellation', 'Release', 'Return', 'Sale', 'StockAdjustment'],
9159
+ StockMovementItem: ['Allocation', 'Cancellation', 'Release', 'Return', 'Sale', 'StockAdjustment'],
9160
+ TransitionFulfillmentToStateResult: ['Fulfillment', 'FulfillmentStateTransitionError'],
9161
+ TransitionOrderToStateResult: ['Order', 'OrderStateTransitionError'],
9162
+ TransitionPaymentToStateResult: ['Payment', 'PaymentStateTransitionError'],
9163
+ UpdateChannelResult: ['Channel', 'LanguageNotAvailableError'],
9164
+ UpdateCustomerResult: ['Customer', 'EmailAddressConflictError'],
9165
+ UpdateGlobalSettingsResult: ['ChannelDefaultLanguageError', 'GlobalSettings'],
9166
+ UpdateOrderItemsResult: [
9167
+ 'InsufficientStockError',
9168
+ 'NegativeQuantityError',
9169
+ 'Order',
9170
+ 'OrderLimitError',
9171
+ 'OrderModificationError',
9182
9172
  ],
9183
- "SetOrderShippingMethodResult": [
9184
- "IneligibleShippingMethodError",
9185
- "NoActiveOrderError",
9186
- "Order",
9187
- "OrderModificationError"
9188
- ],
9189
- "SettlePaymentResult": [
9190
- "OrderStateTransitionError",
9191
- "Payment",
9192
- "PaymentStateTransitionError",
9193
- "SettlePaymentError"
9194
- ],
9195
- "SettleRefundResult": [
9196
- "Refund",
9197
- "RefundStateTransitionError"
9198
- ],
9199
- "StockMovement": [
9200
- "Allocation",
9201
- "Cancellation",
9202
- "Release",
9203
- "Return",
9204
- "Sale",
9205
- "StockAdjustment"
9206
- ],
9207
- "StockMovementItem": [
9208
- "Allocation",
9209
- "Cancellation",
9210
- "Release",
9211
- "Return",
9212
- "Sale",
9213
- "StockAdjustment"
9214
- ],
9215
- "TransitionFulfillmentToStateResult": [
9216
- "Fulfillment",
9217
- "FulfillmentStateTransitionError"
9218
- ],
9219
- "TransitionOrderToStateResult": [
9220
- "Order",
9221
- "OrderStateTransitionError"
9222
- ],
9223
- "TransitionPaymentToStateResult": [
9224
- "Payment",
9225
- "PaymentStateTransitionError"
9226
- ],
9227
- "UpdateChannelResult": [
9228
- "Channel",
9229
- "LanguageNotAvailableError"
9230
- ],
9231
- "UpdateCustomerResult": [
9232
- "Customer",
9233
- "EmailAddressConflictError"
9234
- ],
9235
- "UpdateGlobalSettingsResult": [
9236
- "ChannelDefaultLanguageError",
9237
- "GlobalSettings"
9238
- ],
9239
- "UpdateOrderItemsResult": [
9240
- "InsufficientStockError",
9241
- "NegativeQuantityError",
9242
- "Order",
9243
- "OrderLimitError",
9244
- "OrderModificationError"
9245
- ],
9246
- "UpdatePromotionResult": [
9247
- "MissingConditionsError",
9248
- "Promotion"
9249
- ]
9250
- }
9173
+ UpdatePromotionResult: ['MissingConditionsError', 'Promotion'],
9174
+ },
9251
9175
  };
9252
9176
 
9253
9177
  // Allows the introspectionResult to be imported as a named symbol
@@ -9480,9 +9404,9 @@ class FetchAdapter {
9480
9404
  };
9481
9405
  }
9482
9406
  }
9483
- FetchAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FetchAdapter, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
9484
- FetchAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FetchAdapter });
9485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FetchAdapter, decorators: [{
9407
+ FetchAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FetchAdapter, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
9408
+ FetchAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FetchAdapter });
9409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FetchAdapter, decorators: [{
9486
9410
  type: Injectable
9487
9411
  }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
9488
9412
 
@@ -9629,9 +9553,9 @@ class NotificationService {
9629
9553
  return translationVars;
9630
9554
  }
9631
9555
  }
9632
- NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NotificationService, deps: [{ token: I18nService }, { token: i0.ComponentFactoryResolver }, { token: OverlayHostService }], target: i0.ɵɵFactoryTarget.Injectable });
9633
- NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NotificationService, providedIn: 'root' });
9634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NotificationService, decorators: [{
9556
+ NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NotificationService, deps: [{ token: I18nService }, { token: i0.ComponentFactoryResolver }, { token: OverlayHostService }], target: i0.ɵɵFactoryTarget.Injectable });
9557
+ NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NotificationService, providedIn: 'root' });
9558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NotificationService, decorators: [{
9635
9559
  type: Injectable,
9636
9560
  args: [{
9637
9561
  providedIn: 'root',
@@ -9761,9 +9685,9 @@ class DefaultInterceptor {
9761
9685
  }
9762
9686
  }
9763
9687
  }
9764
- DefaultInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DefaultInterceptor, deps: [{ token: DataService }, { token: i0.Injector }, { token: AuthService }, { token: i1$2.Router }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
9765
- DefaultInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DefaultInterceptor });
9766
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DefaultInterceptor, decorators: [{
9688
+ DefaultInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DefaultInterceptor, deps: [{ token: DataService }, { token: i0.Injector }, { token: AuthService }, { token: i1$2.Router }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
9689
+ DefaultInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DefaultInterceptor });
9690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DefaultInterceptor, decorators: [{
9767
9691
  type: Injectable
9768
9692
  }], ctorParameters: function () { return [{ type: DataService }, { type: i0.Injector }, { type: AuthService }, { type: i1$2.Router }, { type: LocalStorageService }]; } });
9769
9693
 
@@ -9832,9 +9756,9 @@ function createApollo(localStorageService, fetchAdapter, injector) {
9832
9756
  */
9833
9757
  class DataModule {
9834
9758
  }
9835
- DataModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9836
- DataModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: DataModule, imports: [HttpClientModule, ApolloModule] });
9837
- DataModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataModule, providers: [
9759
+ DataModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9760
+ DataModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: DataModule, imports: [HttpClientModule, ApolloModule] });
9761
+ DataModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataModule, providers: [
9838
9762
  BaseDataService,
9839
9763
  DataService,
9840
9764
  FetchAdapter,
@@ -9852,7 +9776,7 @@ DataModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15
9852
9776
  deps: [ServerConfigService],
9853
9777
  },
9854
9778
  ], imports: [HttpClientModule, ApolloModule] });
9855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataModule, decorators: [{
9779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataModule, decorators: [{
9856
9780
  type: NgModule,
9857
9781
  args: [{
9858
9782
  imports: [HttpClientModule, ApolloModule],
@@ -9938,9 +9862,9 @@ class InjectableTranslateMessageFormatCompiler extends TranslateMessageFormatCom
9938
9862
  }
9939
9863
  }
9940
9864
  }
9941
- InjectableTranslateMessageFormatCompiler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InjectableTranslateMessageFormatCompiler, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9942
- InjectableTranslateMessageFormatCompiler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InjectableTranslateMessageFormatCompiler, providedIn: 'root' });
9943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InjectableTranslateMessageFormatCompiler, decorators: [{
9865
+ InjectableTranslateMessageFormatCompiler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: InjectableTranslateMessageFormatCompiler, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9866
+ InjectableTranslateMessageFormatCompiler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: InjectableTranslateMessageFormatCompiler, providedIn: 'root' });
9867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: InjectableTranslateMessageFormatCompiler, decorators: [{
9944
9868
  type: Injectable,
9945
9869
  args: [{ providedIn: 'root' }]
9946
9870
  }] });
@@ -9959,9 +9883,9 @@ class ComponentRegistryService {
9959
9883
  return this.inputComponentMap.get(id);
9960
9884
  }
9961
9885
  }
9962
- ComponentRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ComponentRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9963
- ComponentRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ComponentRegistryService, providedIn: 'root' });
9964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ComponentRegistryService, decorators: [{
9886
+ ComponentRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ComponentRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9887
+ ComponentRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ComponentRegistryService, providedIn: 'root' });
9888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ComponentRegistryService, decorators: [{
9965
9889
  type: Injectable,
9966
9890
  args: [{
9967
9891
  providedIn: 'root',
@@ -10001,9 +9925,9 @@ class CustomFieldComponentService {
10001
9925
  return id;
10002
9926
  }
10003
9927
  }
10004
- CustomFieldComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldComponentService, deps: [{ token: ComponentRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
10005
- CustomFieldComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldComponentService, providedIn: 'root' });
10006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldComponentService, decorators: [{
9928
+ CustomFieldComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldComponentService, deps: [{ token: ComponentRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
9929
+ CustomFieldComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldComponentService, providedIn: 'root' });
9930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldComponentService, decorators: [{
10007
9931
  type: Injectable,
10008
9932
  args: [{
10009
9933
  providedIn: 'root',
@@ -10032,9 +9956,9 @@ class DisabledDirective {
10032
9956
  this.formControl = formControl;
10033
9957
  }
10034
9958
  }
10035
- DisabledDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DisabledDirective, deps: [{ token: i1$3.FormControlName, optional: true }, { token: i1$3.FormControlDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
10036
- DisabledDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: DisabledDirective, selector: "[vdrDisabled]", inputs: { disabled: ["vdrDisabled", "disabled"] }, ngImport: i0 });
10037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DisabledDirective, decorators: [{
9959
+ DisabledDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DisabledDirective, deps: [{ token: i1$3.FormControlName, optional: true }, { token: i1$3.FormControlDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
9960
+ DisabledDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DisabledDirective, selector: "[vdrDisabled]", inputs: { disabled: ["vdrDisabled", "disabled"] }, ngImport: i0 });
9961
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DisabledDirective, decorators: [{
10038
9962
  type: Directive,
10039
9963
  args: [{
10040
9964
  selector: '[vdrDisabled]',
@@ -10058,9 +9982,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
10058
9982
  class BooleanFormInputComponent {
10059
9983
  }
10060
9984
  BooleanFormInputComponent.id = 'boolean-form-input';
10061
- BooleanFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BooleanFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10062
- BooleanFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: BooleanFormInputComponent, selector: "vdr-boolean-form-input", ngImport: i0, template: "<clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"formControl\"\r\n [vdrDisabled]=\"!!readonly\"\r\n />\r\n</clr-checkbox-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1$4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BooleanFormInputComponent, decorators: [{
9985
+ BooleanFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BooleanFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9986
+ BooleanFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BooleanFormInputComponent, selector: "vdr-boolean-form-input", ngImport: i0, template: "<clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"formControl\"\r\n [vdrDisabled]=\"!!readonly\"\r\n />\r\n</clr-checkbox-wrapper>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1$4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9987
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BooleanFormInputComponent, decorators: [{
10064
9988
  type: Component,
10065
9989
  args: [{ selector: 'vdr-boolean-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [formControl]=\"formControl\"\r\n [vdrDisabled]=\"!!readonly\"\r\n />\r\n</clr-checkbox-wrapper>\r\n" }]
10066
9990
  }] });
@@ -10110,9 +10034,9 @@ class BaseCodeEditorFormInputComponent {
10110
10034
  return pos != null ? +pos : undefined;
10111
10035
  }
10112
10036
  }
10113
- BaseCodeEditorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseCodeEditorFormInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
10114
- BaseCodeEditorFormInputComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: BaseCodeEditorFormInputComponent, viewQueries: [{ propertyName: "editorElementRef", first: true, predicate: ["editor"], descendants: true }], ngImport: i0 });
10115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseCodeEditorFormInputComponent, decorators: [{
10037
+ BaseCodeEditorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseCodeEditorFormInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
10038
+ BaseCodeEditorFormInputComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BaseCodeEditorFormInputComponent, viewQueries: [{ propertyName: "editorElementRef", first: true, predicate: ["editor"], descendants: true }], ngImport: i0 });
10039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseCodeEditorFormInputComponent, decorators: [{
10116
10040
  type: Directive
10117
10041
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { editorElementRef: [{
10118
10042
  type: ViewChild,
@@ -10167,9 +10091,9 @@ class HtmlEditorFormInputComponent extends BaseCodeEditorFormInputComponent {
10167
10091
  }
10168
10092
  }
10169
10093
  HtmlEditorFormInputComponent.id = 'html-editor-form-input';
10170
- HtmlEditorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HtmlEditorFormInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10171
- HtmlEditorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: HtmlEditorFormInputComponent, selector: "vdr-html-editor-form-input", usesInheritance: true, ngImport: i0, template: "<div #editor class=\"code-editor html-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n", styles: [".code-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;tab-size:4;font-family:Source Code Pro,Lucida Console,Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.code-editor:focus{border-color:var(--color-primary-500)}.code-editor.invalid{border-color:var(--clr-forms-invalid-color)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}.code-editor ::ng-deep .he-tag{color:var(--color-json-editor-key)}.code-editor ::ng-deep .he-attr{color:var(--color-json-editor-number)}.code-editor ::ng-deep .he-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--color-json-editor-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HtmlEditorFormInputComponent, decorators: [{
10094
+ HtmlEditorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HtmlEditorFormInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10095
+ HtmlEditorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: HtmlEditorFormInputComponent, selector: "vdr-html-editor-form-input", usesInheritance: true, ngImport: i0, template: "<div #editor class=\"code-editor html-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n", styles: [".code-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;tab-size:4;font-family:Source Code Pro,Lucida Console,Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.code-editor:focus{border-color:var(--color-primary-500)}.code-editor.invalid{border-color:var(--clr-forms-invalid-color)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}.code-editor ::ng-deep .he-tag{color:var(--color-json-editor-key)}.code-editor ::ng-deep .he-attr{color:var(--color-json-editor-number)}.code-editor ::ng-deep .he-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--color-json-editor-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HtmlEditorFormInputComponent, decorators: [{
10173
10097
  type: Component,
10174
10098
  args: [{ selector: 'vdr-html-editor-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #editor class=\"code-editor html-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n", styles: [".code-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;tab-size:4;font-family:Source Code Pro,Lucida Console,Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.code-editor:focus{border-color:var(--color-primary-500)}.code-editor.invalid{border-color:var(--clr-forms-invalid-color)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}.code-editor ::ng-deep .he-tag{color:var(--color-json-editor-key)}.code-editor ::ng-deep .he-attr{color:var(--color-json-editor-number)}.code-editor ::ng-deep .he-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--color-json-editor-error)}\n"] }]
10175
10099
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
@@ -10248,9 +10172,9 @@ class JsonEditorFormInputComponent extends BaseCodeEditorFormInputComponent {
10248
10172
  }
10249
10173
  }
10250
10174
  JsonEditorFormInputComponent.id = 'json-editor-form-input';
10251
- JsonEditorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: JsonEditorFormInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10252
- JsonEditorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: JsonEditorFormInputComponent, selector: "vdr-json-editor-form-input", usesInheritance: true, ngImport: i0, template: "<div #editor class=\"code-editor json-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n", styles: [".code-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;tab-size:4;font-family:Source Code Pro,Lucida Console,Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.code-editor:focus{border-color:var(--color-primary-500)}.code-editor.invalid{border-color:var(--clr-forms-invalid-color)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}.code-editor ::ng-deep .je-string{color:var(--color-json-editor-string)}.code-editor ::ng-deep .je-number{color:var(--color-json-editor-number)}.code-editor ::ng-deep .je-boolean{color:var(--color-json-editor-boolean)}.code-editor ::ng-deep .je-null{color:var(--color-json-editor-null)}.code-editor ::ng-deep .je-key{color:var(--color-json-editor-key)}.code-editor ::ng-deep .je-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--color-json-editor-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: JsonEditorFormInputComponent, decorators: [{
10175
+ JsonEditorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: JsonEditorFormInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10176
+ JsonEditorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: JsonEditorFormInputComponent, selector: "vdr-json-editor-form-input", usesInheritance: true, ngImport: i0, template: "<div #editor class=\"code-editor json-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n", styles: [".code-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;tab-size:4;font-family:Source Code Pro,Lucida Console,Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.code-editor:focus{border-color:var(--color-primary-500)}.code-editor.invalid{border-color:var(--clr-forms-invalid-color)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}.code-editor ::ng-deep .je-string{color:var(--color-json-editor-string)}.code-editor ::ng-deep .je-number{color:var(--color-json-editor-number)}.code-editor ::ng-deep .je-boolean{color:var(--color-json-editor-boolean)}.code-editor ::ng-deep .je-null{color:var(--color-json-editor-null)}.code-editor ::ng-deep .je-key{color:var(--color-json-editor-key)}.code-editor ::ng-deep .je-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--color-json-editor-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: JsonEditorFormInputComponent, decorators: [{
10254
10178
  type: Component,
10255
10179
  args: [{ selector: 'vdr-json-editor-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #editor class=\"code-editor json-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n", styles: [".code-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;tab-size:4;font-family:Source Code Pro,Lucida Console,Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.code-editor:focus{border-color:var(--color-primary-500)}.code-editor.invalid{border-color:var(--clr-forms-invalid-color)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}.code-editor ::ng-deep .je-string{color:var(--color-json-editor-string)}.code-editor ::ng-deep .je-number{color:var(--color-json-editor-number)}.code-editor ::ng-deep .je-boolean{color:var(--color-json-editor-boolean)}.code-editor ::ng-deep .je-null{color:var(--color-json-editor-null)}.code-editor ::ng-deep .je-key{color:var(--color-json-editor-key)}.code-editor ::ng-deep .je-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--color-json-editor-error)}\n"] }]
10256
10180
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
@@ -10391,9 +10315,9 @@ function interpolateDescription(operation, values) {
10391
10315
 
10392
10316
  class HelpTooltipComponent {
10393
10317
  }
10394
- HelpTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HelpTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10395
- HelpTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: { content: "content", position: "position" }, ngImport: i0, template: "<clr-tooltip>\r\n <clr-icon clrTooltipTrigger shape=\"help\" size=\"14\"></clr-icon>\r\n <clr-tooltip-content [clrPosition]=\"position\" clrSize=\"md\" *clrIfOpen>\r\n <span>{{ content }}</span>\r\n </clr-tooltip-content>\r\n</clr-tooltip>\r\n", styles: ["clr-tooltip{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "component", type: i1$4.ClrTooltip, selector: "clr-tooltip" }, { kind: "directive", type: i1$4.ClrTooltipTrigger, selector: "[clrTooltipTrigger]" }, { kind: "component", type: i1$4.ClrTooltipContent, selector: "clr-tooltip-content", inputs: ["id", "clrPosition", "clrSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10396
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HelpTooltipComponent, decorators: [{
10318
+ HelpTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HelpTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10319
+ HelpTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: { content: "content", position: "position" }, ngImport: i0, template: "<clr-tooltip>\r\n <clr-icon clrTooltipTrigger shape=\"help\" size=\"14\"></clr-icon>\r\n <clr-tooltip-content [clrPosition]=\"position\" clrSize=\"md\" *clrIfOpen>\r\n <span>{{ content }}</span>\r\n </clr-tooltip-content>\r\n</clr-tooltip>\r\n", styles: ["clr-tooltip{display:inline-flex}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { kind: "component", type: i1$4.ClrTooltip, selector: "clr-tooltip" }, { kind: "directive", type: i1$4.ClrTooltipTrigger, selector: "[clrTooltipTrigger]" }, { kind: "component", type: i1$4.ClrTooltipContent, selector: "clr-tooltip-content", inputs: ["id", "clrPosition", "clrSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HelpTooltipComponent, decorators: [{
10397
10321
  type: Component,
10398
10322
  args: [{ selector: 'vdr-help-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<clr-tooltip>\r\n <clr-icon clrTooltipTrigger shape=\"help\" size=\"14\"></clr-icon>\r\n <clr-tooltip-content [clrPosition]=\"position\" clrSize=\"md\" *clrIfOpen>\r\n <span>{{ content }}</span>\r\n </clr-tooltip-content>\r\n</clr-tooltip>\r\n", styles: ["clr-tooltip{display:inline-flex}\n"] }]
10399
10323
  }], propDecorators: { content: [{
@@ -10623,15 +10547,15 @@ class DynamicFormInputComponent {
10623
10547
  return typeof def === 'object' && typeof def?.ui?.component === 'string';
10624
10548
  }
10625
10549
  }
10626
- DynamicFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DynamicFormInputComponent, deps: [{ token: ComponentRegistryService }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
10627
- DynamicFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: { def: "def", readonly: "readonly", control: "control" }, providers: [
10550
+ DynamicFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DynamicFormInputComponent, deps: [{ token: ComponentRegistryService }, { token: i0.ComponentFactoryResolver }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
10551
+ DynamicFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: { def: "def", readonly: "readonly", control: "control" }, providers: [
10628
10552
  {
10629
10553
  provide: NG_VALUE_ACCESSOR,
10630
10554
  useExisting: DynamicFormInputComponent,
10631
10555
  multi: true,
10632
10556
  },
10633
10557
  ], viewQueries: [{ propertyName: "singleViewContainer", first: true, predicate: ["single"], descendants: true, read: ViewContainerRef }, { propertyName: "listItemContainers", predicate: ["listItem"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!renderAsList; else list\">\r\n <ng-container #single></ng-container>\r\n</ng-container>\r\n<ng-template #list>\r\n <div class=\"list-container\" cdkDropList (cdkDropListDropped)=\"moveListItem($event)\">\r\n <div\r\n class=\"list-item-row\"\r\n *ngFor=\"let item of listItems; trackBy: trackById\"\r\n cdkDrag\r\n [cdkDragData]=\"item\"\r\n >\r\n <ng-container #listItem></ng-container>\r\n <button\r\n class=\"btn btn-link btn-sm btn-warning\"\r\n *ngIf=\"!readonly\"\r\n (click)=\"removeListItem(item)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"drag-handle\" cdkDragHandle [class.hidden]=\"readonly\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n </div>\r\n <button class=\"btn btn-secondary btn-sm\" (click)=\"addListItem()\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"plus\"></clr-icon> {{ 'common.add-item-to-list' | translate }}\r\n </button>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{flex:1}.list-container{border:1px solid var(--color-component-border-200);border-radius:3px;padding:12px}.list-item-row{font-size:13px;display:flex;align-items:center;margin:3px 0}.drag-placeholder{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{font-size:13px;background-color:var(--color-component-bg-100);opacity:.8;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.drag-handle.hidden{display:none}.cdk-drag-placeholder{opacity:.1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .list-item-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DynamicFormInputComponent, decorators: [{
10558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DynamicFormInputComponent, decorators: [{
10635
10559
  type: Component,
10636
10560
  args: [{ selector: 'vdr-dynamic-form-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
10637
10561
  {
@@ -10672,9 +10596,9 @@ class SentenceCasePipe {
10672
10596
  return value;
10673
10597
  }
10674
10598
  }
10675
- SentenceCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SentenceCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10676
- SentenceCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: SentenceCasePipe, name: "sentenceCase" });
10677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SentenceCasePipe, decorators: [{
10599
+ SentenceCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SentenceCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10600
+ SentenceCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SentenceCasePipe, name: "sentenceCase" });
10601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SentenceCasePipe, decorators: [{
10678
10602
  type: Pipe,
10679
10603
  args: [{ name: 'sentenceCase' }]
10680
10604
  }] });
@@ -10784,8 +10708,8 @@ class ConfigurableInputComponent {
10784
10708
  return null;
10785
10709
  }
10786
10710
  }
10787
- ConfigurableInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ConfigurableInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10788
- ConfigurableInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ConfigurableInputComponent, selector: "vdr-configurable-input", inputs: { operation: "operation", operationDefinition: "operationDefinition", readonly: "readonly", removable: "removable", position: "position" }, outputs: { remove: "remove" }, providers: [
10711
+ ConfigurableInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ConfigurableInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10712
+ ConfigurableInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ConfigurableInputComponent, selector: "vdr-configurable-input", inputs: { operation: "operation", operationDefinition: "operationDefinition", readonly: "readonly", removable: "removable", position: "position" }, outputs: { remove: "remove" }, providers: [
10789
10713
  {
10790
10714
  provide: NG_VALUE_ACCESSOR,
10791
10715
  useExisting: ConfigurableInputComponent,
@@ -10797,7 +10721,7 @@ ConfigurableInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
10797
10721
  multi: true,
10798
10722
  },
10799
10723
  ], usesOnChanges: true, ngImport: i0, template: "<div class=\"card\" *ngIf=\"operation\">\r\n <div class=\"card-block\">{{ interpolateDescription() }}</div>\r\n <div class=\"card-block\" *ngIf=\"operation.args?.length\">\r\n <form [formGroup]=\"form\" *ngIf=\"operation\" class=\"operation-inputs\">\r\n <div *ngFor=\"let arg of operation.args; trackBy: trackByName\" class=\"arg-row\">\r\n <ng-container *ngIf=\"form.get(arg.name) && getArgDef(arg) as argDef\">\r\n <label class=\"clr-control-label\">{{ argDef.label || (arg.name | sentenceCase) }}</label>\r\n <vdr-help-tooltip\r\n class=\"mr3\"\r\n *ngIf=\"argDef.description\"\r\n [content]=\"argDef.description\"\r\n ></vdr-help-tooltip>\r\n <vdr-dynamic-form-input\r\n [def]=\"getArgDef(arg)\"\r\n [readonly]=\"readonly\"\r\n [control]=\"form.get(arg.name)\"\r\n [formControlName]=\"arg.name\"\r\n ></vdr-dynamic-form-input>\r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"card-footer\" *ngIf=\"!readonly && removable\">\r\n <button class=\"btn btn-sm btn-link btn-warning\" (click)=\"remove.emit(operation)\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.remove' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;margin-bottom:12px}:host>.card{margin-top:6px}.operation-inputs{padding-top:0}.operation-inputs .arg-row:not(:last-child){margin-bottom:12px}.operation-inputs .arg-row{display:flex;flex-wrap:wrap;align-items:center}.operation-inputs .arg-row label{margin-right:6px}.operation-inputs .hidden{display:none}.operation-inputs label{min-width:130px;display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: ["content", "position"] }, { kind: "component", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: ["def", "readonly", "control"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: SentenceCasePipe, name: "sentenceCase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ConfigurableInputComponent, decorators: [{
10724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ConfigurableInputComponent, decorators: [{
10801
10725
  type: Component,
10802
10726
  args: [{ selector: 'vdr-configurable-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
10803
10727
  {
@@ -10854,9 +10778,9 @@ class CombinationModeFormInputComponent {
10854
10778
  }
10855
10779
  }
10856
10780
  CombinationModeFormInputComponent.id = 'combination-mode-form-input';
10857
- CombinationModeFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CombinationModeFormInputComponent, deps: [{ token: ConfigurableInputComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
10858
- CombinationModeFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CombinationModeFormInputComponent, selector: "vdr-combination-mode-form-input", ngImport: i0, template: "<ng-container *ngIf=\"selectable$ | async; else default\">\r\n <div class=\"btn-group btn-outline-primary btn-sm mode-select\">\r\n <button\r\n class=\"btn\"\r\n (click)=\"setCombinationModeAnd()\"\r\n [class.btn-primary]=\"formControl.value === true\"\r\n >\r\n {{ 'common.boolean-and' | translate }}\r\n </button>\r\n <button\r\n class=\"btn\"\r\n (click)=\"setCombinationModeOr()\"\r\n [class.btn-primary]=\"formControl.value === false\"\r\n >\r\n {{ 'common.boolean-or' | translate }}\r\n </button>\r\n </div>\r\n</ng-container>\r\n<ng-template #default>\r\n <small>{{ 'common.not-applicable' | translate }}</small>\r\n</ng-template>\r\n", styles: [".mode-select{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CombinationModeFormInputComponent, decorators: [{
10781
+ CombinationModeFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CombinationModeFormInputComponent, deps: [{ token: ConfigurableInputComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
10782
+ CombinationModeFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CombinationModeFormInputComponent, selector: "vdr-combination-mode-form-input", ngImport: i0, template: "<ng-container *ngIf=\"selectable$ | async; else default\">\r\n <div class=\"btn-group btn-outline-primary btn-sm mode-select\">\r\n <button\r\n class=\"btn\"\r\n (click)=\"setCombinationModeAnd()\"\r\n [class.btn-primary]=\"formControl.value === true\"\r\n >\r\n {{ 'common.boolean-and' | translate }}\r\n </button>\r\n <button\r\n class=\"btn\"\r\n (click)=\"setCombinationModeOr()\"\r\n [class.btn-primary]=\"formControl.value === false\"\r\n >\r\n {{ 'common.boolean-or' | translate }}\r\n </button>\r\n </div>\r\n</ng-container>\r\n<ng-template #default>\r\n <small>{{ 'common.not-applicable' | translate }}</small>\r\n</ng-template>\r\n", styles: [".mode-select{text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10783
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CombinationModeFormInputComponent, decorators: [{
10860
10784
  type: Component,
10861
10785
  args: [{ selector: 'vdr-combination-mode-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"selectable$ | async; else default\">\r\n <div class=\"btn-group btn-outline-primary btn-sm mode-select\">\r\n <button\r\n class=\"btn\"\r\n (click)=\"setCombinationModeAnd()\"\r\n [class.btn-primary]=\"formControl.value === true\"\r\n >\r\n {{ 'common.boolean-and' | translate }}\r\n </button>\r\n <button\r\n class=\"btn\"\r\n (click)=\"setCombinationModeOr()\"\r\n [class.btn-primary]=\"formControl.value === false\"\r\n >\r\n {{ 'common.boolean-or' | translate }}\r\n </button>\r\n </div>\r\n</ng-container>\r\n<ng-template #default>\r\n <small>{{ 'common.not-applicable' | translate }}</small>\r\n</ng-template>\r\n", styles: [".mode-select{text-transform:uppercase}\n"] }]
10862
10786
  }], ctorParameters: function () { return [{ type: ConfigurableInputComponent, decorators: [{
@@ -10868,9 +10792,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
10868
10792
  */
10869
10793
  class AffixedInputComponent {
10870
10794
  }
10871
- AffixedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AffixedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10872
- AffixedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: { prefix: "prefix", suffix: "suffix" }, ngImport: i0, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:inline-flex}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-grey-200);border:1px solid var(--color-component-border-300);top:1px;padding:3px;line-height:.58333rem;transition:border .2s}::ng-deep .has-prefix input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.prefix{order:-1;border-radius:3px 0 0 3px;border-right:none}::ng-deep .has-suffix input{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.suffix{border-radius:0 3px 3px 0;border-left:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AffixedInputComponent, decorators: [{
10795
+ AffixedInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AffixedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10796
+ AffixedInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: { prefix: "prefix", suffix: "suffix" }, ngImport: i0, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:inline-flex}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-grey-200);border:1px solid var(--color-component-border-300);top:1px;padding:3px;line-height:.58333rem;transition:border .2s}::ng-deep .has-prefix input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.prefix{order:-1;border-radius:3px 0 0 3px;border-right:none}::ng-deep .has-suffix input{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.suffix{border-radius:0 3px 3px 0;border-left:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AffixedInputComponent, decorators: [{
10874
10798
  type: Component,
10875
10799
  args: [{ selector: 'vdr-affixed-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:inline-flex}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-grey-200);border:1px solid var(--color-component-border-300);top:1px;padding:3px;line-height:.58333rem;transition:border .2s}::ng-deep .has-prefix input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.prefix{order:-1;border-radius:3px 0 0 3px;border-right:none}::ng-deep .has-suffix input{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.suffix{border-radius:0 3px 3px 0;border-left:none}\n"] }]
10876
10800
  }], propDecorators: { prefix: [{
@@ -10992,15 +10916,15 @@ class CurrencyInputComponent {
10992
10916
  return this.hasFractionPart ? Number(value).toFixed(2) : Number(value).toFixed(0);
10993
10917
  }
10994
10918
  }
10995
- CurrencyInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CurrencyInputComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10996
- CurrencyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CurrencyInputComponent, selector: "vdr-currency-input", inputs: { disabled: "disabled", readonly: "readonly", value: "value", currencyCode: "currencyCode" }, outputs: { valueChange: "valueChange" }, providers: [
10919
+ CurrencyInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CurrencyInputComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10920
+ CurrencyInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CurrencyInputComponent, selector: "vdr-currency-input", inputs: { disabled: "disabled", readonly: "readonly", value: "value", currencyCode: "currencyCode" }, outputs: { valueChange: "valueChange" }, providers: [
10997
10921
  {
10998
10922
  provide: NG_VALUE_ACCESSOR,
10999
10923
  useExisting: CurrencyInputComponent,
11000
10924
  multi: true,
11001
10925
  },
11002
10926
  ], usesOnChanges: true, ngImport: i0, template: "<vdr-affixed-input\r\n [prefix]=\"prefix$ | async | localeCurrencyName: 'symbol'\"\r\n [suffix]=\"suffix$ | async | localeCurrencyName: 'symbol'\"\r\n>\r\n <input\r\n type=\"number\"\r\n [step]=\"hasFractionPart ? 0.01 : 1\"\r\n [value]=\"_inputValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (input)=\"onInput($event.target.value)\"\r\n (focus)=\"onFocus()\"\r\n />\r\n</vdr-affixed-input>\r\n", styles: [":host{padding:0;border:none}input{max-width:96px}input[readonly]{background-color:transparent}\n"], dependencies: [{ kind: "component", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: LocaleCurrencyNamePipe, name: "localeCurrencyName" }] });
11003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CurrencyInputComponent, decorators: [{
10927
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CurrencyInputComponent, decorators: [{
11004
10928
  type: Component,
11005
10929
  args: [{ selector: 'vdr-currency-input', providers: [
11006
10930
  {
@@ -11037,9 +10961,9 @@ class CurrencyFormInputComponent {
11037
10961
  }
11038
10962
  }
11039
10963
  CurrencyFormInputComponent.id = 'currency-form-input';
11040
- CurrencyFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CurrencyFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
11041
- CurrencyFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CurrencyFormInputComponent, selector: "vdr-currency-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-currency-input\r\n [formControl]=\"formControl\"\r\n [readonly]=\"readonly\"\r\n [currencyCode]=\"currencyCode$ | async\"\r\n></vdr-currency-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CurrencyInputComponent, selector: "vdr-currency-input", inputs: ["disabled", "readonly", "value", "currencyCode"], outputs: ["valueChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11042
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CurrencyFormInputComponent, decorators: [{
10964
+ CurrencyFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CurrencyFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
10965
+ CurrencyFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CurrencyFormInputComponent, selector: "vdr-currency-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-currency-input\r\n [formControl]=\"formControl\"\r\n [readonly]=\"readonly\"\r\n [currencyCode]=\"currencyCode$ | async\"\r\n></vdr-currency-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CurrencyInputComponent, selector: "vdr-currency-input", inputs: ["disabled", "readonly", "value", "currencyCode"], outputs: ["valueChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CurrencyFormInputComponent, decorators: [{
11043
10967
  type: Component,
11044
10968
  args: [{ selector: 'vdr-currency-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-currency-input\r\n [formControl]=\"formControl\"\r\n [readonly]=\"readonly\"\r\n [currencyCode]=\"currencyCode$ | async\"\r\n></vdr-currency-input>\r\n" }]
11045
10969
  }], ctorParameters: function () { return [{ type: DataService }]; }, propDecorators: { readonly: [{
@@ -11071,9 +10995,9 @@ class ChipComponent {
11071
10995
  this.iconClick = new EventEmitter();
11072
10996
  }
11073
10997
  }
11074
- ChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11075
- ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ChipComponent, selector: "vdr-chip", inputs: { icon: "icon", invert: "invert", colorFrom: "colorFrom", colorType: "colorType" }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block}.wrapper{display:flex;border:1px solid var(--color-component-border-300);border-radius:3px;margin:6px}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border)}.wrapper.warning .chip-label{color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border)}.wrapper.success .chip-label{color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border)}.wrapper.error .chip-label{color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:3px 6px;line-height:1em;border-radius:3px;white-space:nowrap;display:flex;align-items:center}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChipComponent, decorators: [{
10998
+ ChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10999
+ ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ChipComponent, selector: "vdr-chip", inputs: { icon: "icon", invert: "invert", colorFrom: "colorFrom", colorType: "colorType" }, outputs: { iconClick: "iconClick" }, ngImport: i0, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block}.wrapper{display:flex;border:1px solid var(--color-component-border-300);border-radius:3px;margin:6px}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border)}.wrapper.warning .chip-label{color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border)}.wrapper.success .chip-label{color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border)}.wrapper.error .chip-label{color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:3px 6px;line-height:1em;border-radius:3px;white-space:nowrap;display:flex;align-items:center}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChipComponent, decorators: [{
11077
11001
  type: Component,
11078
11002
  args: [{ selector: 'vdr-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"wrapper\"\r\n [class.with-background]=\"!invert && colorFrom\"\r\n [style.backgroundColor]=\"!invert && (colorFrom | stringToColor)\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [style.borderColor]=\"invert && (colorFrom | stringToColor)\"\r\n [ngClass]=\"colorType\"\r\n>\r\n <div class=\"chip-label\"><ng-content></ng-content></div>\r\n <div class=\"chip-icon\" *ngIf=\"icon\">\r\n <button (click)=\"iconClick.emit($event)\">\r\n <clr-icon\r\n [attr.shape]=\"icon\"\r\n [style.color]=\"invert && (colorFrom | stringToColor)\"\r\n [class.is-inverse]=\"!invert && colorFrom\"\r\n ></clr-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host{display:inline-block}.wrapper{display:flex;border:1px solid var(--color-component-border-300);border-radius:3px;margin:6px}.wrapper.with-background{color:var(--color-grey-100);border-color:transparent}.wrapper.with-background .chip-label{opacity:.9}.wrapper.warning{border-color:var(--color-chip-warning-border)}.wrapper.warning .chip-label{color:var(--color-chip-warning-text);background-color:var(--color-chip-warning-bg)}.wrapper.success{border-color:var(--color-chip-success-border)}.wrapper.success .chip-label{color:var(--color-chip-success-text);background-color:var(--color-chip-success-bg)}.wrapper.error{border-color:var(--color-chip-error-border)}.wrapper.error .chip-label{color:var(--color-chip-error-text);background-color:var(--color-chip-error-bg)}.chip-label{padding:3px 6px;line-height:1em;border-radius:3px;white-space:nowrap;display:flex;align-items:center}.chip-icon{border-left:1px solid var(--color-component-border-200);padding:0 3px;line-height:1em;display:flex}.chip-icon button{cursor:pointer;background:none;margin:0;padding:0;border:none}\n"] }]
11079
11003
  }], propDecorators: { icon: [{
@@ -11113,9 +11037,9 @@ class CustomerGroupFormInputComponent {
11113
11037
  }
11114
11038
  }
11115
11039
  CustomerGroupFormInputComponent.id = 'customer-group-form-input';
11116
- CustomerGroupFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomerGroupFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
11117
- CustomerGroupFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CustomerGroupFormInputComponent, selector: "vdr-customer-group-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<ng-select\r\n [items]=\"customerGroups$ | async\"\r\n appendTo=\"body\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n bindValue=\"id\"\r\n [clearable]=\"true\"\r\n [searchable]=\"false\"\r\n [ngModel]=\"formControl.value\"\r\n (change)=\"selectGroup($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-chip [colorFrom]=\"item.id\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-chip [colorFrom]=\"item.id\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomerGroupFormInputComponent, decorators: [{
11040
+ CustomerGroupFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomerGroupFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
11041
+ CustomerGroupFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CustomerGroupFormInputComponent, selector: "vdr-customer-group-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<ng-select\r\n [items]=\"customerGroups$ | async\"\r\n appendTo=\"body\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n bindValue=\"id\"\r\n [clearable]=\"true\"\r\n [searchable]=\"false\"\r\n [ngModel]=\"formControl.value\"\r\n (change)=\"selectGroup($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-chip [colorFrom]=\"item.id\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-chip [colorFrom]=\"item.id\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11042
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomerGroupFormInputComponent, decorators: [{
11119
11043
  type: Component,
11120
11044
  args: [{ selector: 'vdr-customer-group-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-select\r\n [items]=\"customerGroups$ | async\"\r\n appendTo=\"body\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n bindValue=\"id\"\r\n [clearable]=\"true\"\r\n [searchable]=\"false\"\r\n [ngModel]=\"formControl.value\"\r\n (change)=\"selectGroup($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-chip [colorFrom]=\"item.id\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-chip [colorFrom]=\"item.id\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n</ng-select>\r\n" }]
11121
11045
  }], ctorParameters: function () { return [{ type: DataService }]; }, propDecorators: { readonly: [{
@@ -11330,9 +11254,9 @@ class DatetimePickerService {
11330
11254
  return true;
11331
11255
  }
11332
11256
  }
11333
- DatetimePickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DatetimePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11334
- DatetimePickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DatetimePickerService });
11335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DatetimePickerService, decorators: [{
11257
+ DatetimePickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DatetimePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11258
+ DatetimePickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DatetimePickerService });
11259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DatetimePickerService, decorators: [{
11336
11260
  type: Injectable
11337
11261
  }], ctorParameters: function () { return []; } });
11338
11262
 
@@ -11503,8 +11427,8 @@ class DatetimePickerComponent {
11503
11427
  this.minutes = minutes;
11504
11428
  }
11505
11429
  }
11506
- DatetimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DatetimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DatetimePickerService }], target: i0.ɵɵFactoryTarget.Component });
11507
- DatetimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DatetimePickerComponent, selector: "vdr-datetime-picker", inputs: { yearRange: "yearRange", weekStartDay: "weekStartDay", timeGranularityInterval: "timeGranularityInterval", min: "min", max: "max", readonly: "readonly" }, providers: [
11430
+ DatetimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DatetimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DatetimePickerService }], target: i0.ɵɵFactoryTarget.Component });
11431
+ DatetimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DatetimePickerComponent, selector: "vdr-datetime-picker", inputs: { yearRange: "yearRange", weekStartDay: "weekStartDay", timeGranularityInterval: "timeGranularityInterval", min: "min", max: "max", readonly: "readonly" }, providers: [
11508
11432
  DatetimePickerService,
11509
11433
  {
11510
11434
  provide: NG_VALUE_ACCESSOR,
@@ -11512,7 +11436,7 @@ DatetimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
11512
11436
  multi: true,
11513
11437
  },
11514
11438
  ], viewQueries: [{ propertyName: "dropdownComponent", first: true, predicate: ["dropdownComponent"], descendants: true, static: true }, { propertyName: "datetimeInput", first: true, predicate: ["datetimeInput"], descendants: true, static: true }, { propertyName: "calendarTable", first: true, predicate: ["calendarTable"], descendants: true }], ngImport: i0, template: "<div class=\"input-wrapper\">\r\n <input\r\n readonly\r\n [ngModel]=\"selected$ | async | localeDate: 'medium'\"\r\n class=\"selected-datetime\"\r\n (keydown.enter)=\"dropdownComponent.toggleOpen()\"\r\n (keydown.space)=\"dropdownComponent.toggleOpen()\"\r\n #datetimeInput\r\n />\r\n <button class=\"clear-value-button btn\" [class.visible]=\"!disabled && !readonly && (selected$ | async)\" (click)=\"clearValue()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n</div>\r\n<vdr-dropdown #dropdownComponent>\r\n <button class=\"btn btn-outline calendar-button\" vdrDropdownTrigger [disabled]=\"readonly || disabled\">\r\n <clr-icon shape=\"calendar\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"datetime-picker\" *ngIf=\"current$ | async as currentView\" (keydown.escape)=\"closeDatepicker()\">\r\n <div class=\"controls\">\r\n <div class=\"selects\">\r\n <div class=\"month-select\">\r\n <select\r\n clrSelect\r\n name=\"month\"\r\n [ngModel]=\"currentView.month\"\r\n (change)=\"setMonth($event)\"\r\n >\r\n <option [value]=\"1\">{{ 'datetime.month-jan' | translate }}</option>\r\n <option [value]=\"2\">{{ 'datetime.month-feb' | translate }}</option>\r\n <option [value]=\"3\">{{ 'datetime.month-mar' | translate }}</option>\r\n <option [value]=\"4\">{{ 'datetime.month-apr' | translate }}</option>\r\n <option [value]=\"5\">{{ 'datetime.month-may' | translate }}</option>\r\n <option [value]=\"6\">{{ 'datetime.month-jun' | translate }}</option>\r\n <option [value]=\"7\">{{ 'datetime.month-jul' | translate }}</option>\r\n <option [value]=\"8\">{{ 'datetime.month-aug' | translate }}</option>\r\n <option [value]=\"9\">{{ 'datetime.month-sep' | translate }}</option>\r\n <option [value]=\"10\">{{ 'datetime.month-oct' | translate }}</option>\r\n <option [value]=\"11\">{{ 'datetime.month-nov' | translate }}</option>\r\n <option [value]=\"12\">{{ 'datetime.month-dec' | translate }}</option>\r\n </select>\r\n </div>\r\n <div class=\"year-select\">\r\n <select\r\n clrSelect\r\n name=\"month\"\r\n [ngModel]=\"currentView.year\"\r\n (change)=\"setYear($event)\"\r\n >\r\n <option *ngFor=\"let year of years\" [value]=\"year\">{{ year }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"control-buttons\">\r\n <button\r\n class=\"btn btn-link btn-sm\"\r\n (click)=\"prevMonth()\"\r\n [title]=\"'common.view-previous-month' | translate\"\r\n >\r\n <clr-icon shape=\"caret\" dir=\"left\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"selectToday()\" [title]=\"'common.select-today' | translate\">\r\n <clr-icon shape=\"event\"></clr-icon>\r\n </button>\r\n <button\r\n class=\"btn btn-link btn-sm\"\r\n (click)=\"nextMonth()\"\r\n [title]=\"'common.view-next-month' | translate\"\r\n >\r\n <clr-icon shape=\"caret\" dir=\"right\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <table class=\"calendar-table\" #calendarTable tabindex=\"0\" (keydown)=\"handleCalendarKeydown($event)\">\r\n <thead>\r\n <tr>\r\n <td *ngFor=\"let weekdayName of weekdays\">\r\n {{ weekdayName | translate }}\r\n </td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let week of calendarView$ | async\">\r\n <td\r\n *ngFor=\"let day of week\"\r\n class=\"day-cell\"\r\n [class.selected]=\"day.selected\"\r\n [class.today]=\"day.isToday\"\r\n [class.viewing]=\"day.isViewing\"\r\n [class.current-month]=\"day.inCurrentMonth\"\r\n [class.disabled]=\"day.disabled\"\r\n (keydown.enter)=\"selectDay(day)\"\r\n (click)=\"selectDay(day)\"\r\n >\r\n {{ day.dayOfMonth }}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <div class=\"time-picker\">\r\n <span class=\"flex-spacer\"> {{ 'datetime.time' | translate }}: </span>\r\n <select clrSelect name=\"hour\" [ngModel]=\"selectedHours$ | async\" (change)=\"setHour($event)\">\r\n <option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour | number: '2.0-0' }}</option>\r\n </select>\r\n <span>:</span>\r\n <select\r\n clrSelect\r\n name=\"hour\"\r\n [ngModel]=\"selectedMinutes$ | async\"\r\n (change)=\"setMinute($event)\"\r\n >\r\n <option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{\r\n minute | number: '2.0-0'\r\n }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [":host{display:flex;width:100%}.input-wrapper{flex:1;display:flex}input.selected-datetime{flex:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none!important}.clear-value-button{margin:0;border-radius:0;border-left:none;border-color:var(--color-component-border-200);background-color:#fff;color:var(--color-grey-500);display:none}.clear-value-button.visible{display:block}.calendar-button{margin:0;border-top-left-radius:0;border-bottom-left-radius:0}.datetime-picker{margin:0 12px}table.calendar-table{padding:6px}table.calendar-table:focus{outline:1px solid var(--color-primary-500);box-shadow:0 0 1px 2px var(--color-primary-100)}table.calendar-table td{width:24px;text-align:center;border:1px solid transparent;-webkit-user-select:none;user-select:none}table.calendar-table .day-cell{background-color:var(--color-component-bg-200);color:var(--color-grey-500);cursor:pointer;transition:background-color .1s}table.calendar-table .day-cell.current-month{background-color:#fff;color:var(--color-grey-800)}table.calendar-table .day-cell.selected{background-color:var(--color-primary-500);color:#fff}table.calendar-table .day-cell.viewing:not(.selected){background-color:var(--color-primary-200)}table.calendar-table .day-cell.today{border:1px solid var(--color-component-border-300)}table.calendar-table .day-cell:hover:not(.selected):not(.disabled){background-color:var(--color-primary-100)}table.calendar-table .day-cell.disabled{cursor:default;color:var(--color-grey-300)}.selects{display:flex;justify-content:space-between;margin-bottom:12px}.control-buttons{display:flex}.time-picker{display:flex;align-items:baseline;margin-top:12px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DatetimePickerComponent, decorators: [{
11439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DatetimePickerComponent, decorators: [{
11516
11440
  type: Component,
11517
11441
  args: [{ selector: 'vdr-datetime-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
11518
11442
  DatetimePickerService,
@@ -11564,9 +11488,9 @@ class DateFormInputComponent {
11564
11488
  }
11565
11489
  }
11566
11490
  DateFormInputComponent.id = 'date-form-input';
11567
- DateFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DateFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11568
- DateFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DateFormInputComponent, selector: "vdr-date-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [yearRange]=\"yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DatetimePickerComponent, selector: "vdr-datetime-picker", inputs: ["yearRange", "weekStartDay", "timeGranularityInterval", "min", "max", "readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DateFormInputComponent, decorators: [{
11491
+ DateFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DateFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11492
+ DateFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DateFormInputComponent, selector: "vdr-date-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [yearRange]=\"yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DatetimePickerComponent, selector: "vdr-datetime-picker", inputs: ["yearRange", "weekStartDay", "timeGranularityInterval", "min", "max", "readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DateFormInputComponent, decorators: [{
11570
11494
  type: Component,
11571
11495
  args: [{ selector: 'vdr-date-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [yearRange]=\"yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n" }]
11572
11496
  }], propDecorators: { readonly: [{
@@ -11580,9 +11504,9 @@ class FacetValueChipComponent {
11580
11504
  this.remove = new EventEmitter();
11581
11505
  }
11582
11506
  }
11583
- FacetValueChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FacetValueChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11584
- FacetValueChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FacetValueChipComponent, selector: "vdr-facet-value-chip", inputs: { facetValue: "facetValue", removable: "removable", displayFacetName: "displayFacetName" }, outputs: { remove: "remove" }, ngImport: i0, template: "<vdr-chip\r\n [icon]=\"removable ? 'times' : undefined\"\r\n [colorFrom]=\"facetValue.facet.name\"\r\n (iconClick)=\"remove.emit()\"\r\n [title]=\"facetValue.facet.name + ' - ' + facetValue.name\"\r\n>\r\n <span *ngIf=\"displayFacetName\" class=\"facet-name\">{{ facetValue.facet.name }}</span>\r\n {{ facetValue.name }}\r\n</vdr-chip>\r\n", styles: [":host{display:inline-block}.facet-name{color:var(--color-grey-100);text-transform:uppercase;font-size:10px;margin-right:3px;height:11px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11585
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FacetValueChipComponent, decorators: [{
11507
+ FacetValueChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FacetValueChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11508
+ FacetValueChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FacetValueChipComponent, selector: "vdr-facet-value-chip", inputs: { facetValue: "facetValue", removable: "removable", displayFacetName: "displayFacetName" }, outputs: { remove: "remove" }, ngImport: i0, template: "<vdr-chip\r\n [icon]=\"removable ? 'times' : undefined\"\r\n [colorFrom]=\"facetValue.facet.name\"\r\n (iconClick)=\"remove.emit()\"\r\n [title]=\"facetValue.facet.name + ' - ' + facetValue.name\"\r\n>\r\n <span *ngIf=\"displayFacetName\" class=\"facet-name\">{{ facetValue.facet.name }}</span>\r\n {{ facetValue.name }}\r\n</vdr-chip>\r\n", styles: [":host{display:inline-block}.facet-name{color:var(--color-grey-100);text-transform:uppercase;font-size:10px;margin-right:3px;height:11px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FacetValueChipComponent, decorators: [{
11586
11510
  type: Component,
11587
11511
  args: [{ selector: 'vdr-facet-value-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-chip\r\n [icon]=\"removable ? 'times' : undefined\"\r\n [colorFrom]=\"facetValue.facet.name\"\r\n (iconClick)=\"remove.emit()\"\r\n [title]=\"facetValue.facet.name + ' - ' + facetValue.name\"\r\n>\r\n <span *ngIf=\"displayFacetName\" class=\"facet-name\">{{ facetValue.facet.name }}</span>\r\n {{ facetValue.name }}\r\n</vdr-chip>\r\n", styles: [":host{display:inline-block}.facet-name{color:var(--color-grey-100);text-transform:uppercase;font-size:10px;margin-right:3px;height:11px}\n"] }]
11588
11512
  }], propDecorators: { facetValue: [{
@@ -11709,15 +11633,15 @@ class FacetValueSelectorComponent {
11709
11633
  }
11710
11634
  }
11711
11635
  }
11712
- FacetValueSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FacetValueSelectorComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11713
- FacetValueSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: { readonly: "readonly", transformControlValueAccessorValue: "transformControlValueAccessorValue" }, outputs: { selectedValuesChange: "selectedValuesChange" }, providers: [
11636
+ FacetValueSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FacetValueSelectorComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11637
+ FacetValueSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: { readonly: "readonly", transformControlValueAccessorValue: "transformControlValueAccessorValue" }, outputs: { selectedValuesChange: "selectedValuesChange" }, providers: [
11714
11638
  {
11715
11639
  provide: NG_VALUE_ACCESSOR,
11716
11640
  useExisting: FacetValueSelectorComponent,
11717
11641
  multi: true,
11718
11642
  },
11719
11643
  ], viewQueries: [{ propertyName: "ngSelect", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<ng-select\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n bindLabel=\"name\"\r\n [disabled]=\"disabled || readonly\"\r\n [ngModel]=\"value\"\r\n (change)=\"onChange($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <vdr-facet-value-chip\r\n *ngIf=\"item; else facetNotFound\"\r\n [facetValue]=\"item\"\r\n [removable]=\"!readonly\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n <ng-template #facetNotFound>\r\n <vdr-chip colorType=\"error\" icon=\"times\" (iconClick)=\"clear(item)\">{{\r\n 'catalog.facet-value-not-available' | translate: { id: item.id }\r\n }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-facet-value-chip [facetValue]=\"item\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: FacetValueChipComponent, selector: "vdr-facet-value-chip", inputs: ["facetValue", "removable", "displayFacetName"], outputs: ["remove"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FacetValueSelectorComponent, decorators: [{
11644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FacetValueSelectorComponent, decorators: [{
11721
11645
  type: Component,
11722
11646
  args: [{ selector: 'vdr-facet-value-selector', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
11723
11647
  {
@@ -11760,9 +11684,9 @@ class FacetValueFormInputComponent {
11760
11684
  }
11761
11685
  }
11762
11686
  FacetValueFormInputComponent.id = 'facet-value-form-input';
11763
- FacetValueFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FacetValueFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11764
- FacetValueFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FacetValueFormInputComponent, selector: "vdr-facet-value-form-input", ngImport: i0, template: "<vdr-facet-value-selector\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n [transformControlValueAccessorValue]=\"valueTransformFn\"\r\n></vdr-facet-value-selector>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: ["readonly", "transformControlValueAccessorValue"], outputs: ["selectedValuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FacetValueFormInputComponent, decorators: [{
11687
+ FacetValueFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FacetValueFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11688
+ FacetValueFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FacetValueFormInputComponent, selector: "vdr-facet-value-form-input", ngImport: i0, template: "<vdr-facet-value-selector\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n [transformControlValueAccessorValue]=\"valueTransformFn\"\r\n></vdr-facet-value-selector>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FacetValueSelectorComponent, selector: "vdr-facet-value-selector", inputs: ["readonly", "transformControlValueAccessorValue"], outputs: ["selectedValuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FacetValueFormInputComponent, decorators: [{
11766
11690
  type: Component,
11767
11691
  args: [{ selector: 'vdr-facet-value-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-facet-value-selector\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n [transformControlValueAccessorValue]=\"valueTransformFn\"\r\n></vdr-facet-value-selector>\r\n" }]
11768
11692
  }] });
@@ -11792,9 +11716,9 @@ class NumberFormInputComponent {
11792
11716
  }
11793
11717
  }
11794
11718
  NumberFormInputComponent.id = 'number-form-input';
11795
- NumberFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NumberFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11796
- NumberFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NumberFormInputComponent, selector: "vdr-number-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.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$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NumberFormInputComponent, decorators: [{
11719
+ NumberFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NumberFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11720
+ NumberFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NumberFormInputComponent, selector: "vdr-number-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.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$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NumberFormInputComponent, decorators: [{
11798
11722
  type: Component,
11799
11723
  args: [{ selector: 'vdr-number-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input\r\n type=\"number\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [formControl]=\"formControl\"\r\n />\r\n</vdr-affixed-input>\r\n" }]
11800
11724
  }], propDecorators: { readonly: [{
@@ -11811,9 +11735,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
11811
11735
  class PasswordFormInputComponent {
11812
11736
  }
11813
11737
  PasswordFormInputComponent.id = 'password-form-input';
11814
- PasswordFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PasswordFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11815
- PasswordFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: PasswordFormInputComponent, selector: "vdr-password-form-input", ngImport: i0, template: "<input\r\n type=\"password\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n/>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11816
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PasswordFormInputComponent, decorators: [{
11738
+ PasswordFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PasswordFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11739
+ PasswordFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PasswordFormInputComponent, selector: "vdr-password-form-input", ngImport: i0, template: "<input\r\n type=\"password\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n/>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PasswordFormInputComponent, decorators: [{
11817
11741
  type: Component,
11818
11742
  args: [{ selector: 'vdr-password-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\r\n type=\"password\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n/>\r\n" }]
11819
11743
  }] });
@@ -11922,9 +11846,9 @@ class ItemsPerPageControlsComponent {
11922
11846
  this.itemsPerPageChange = new EventEmitter();
11923
11847
  }
11924
11848
  }
11925
- ItemsPerPageControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ItemsPerPageControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11926
- ItemsPerPageControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: { itemsPerPage: "itemsPerPage" }, outputs: { itemsPerPageChange: "itemsPerPageChange" }, ngImport: i0, template: "<div class=\"select\">\r\n <select [ngModel]=\"itemsPerPage\" (change)=\"itemsPerPageChange.emit($event.target.value)\">\r\n <option [value]=\"10\">{{ 'common.items-per-page-option' | translate: { count: 10 } }}</option>\r\n <option [value]=\"25\">{{ 'common.items-per-page-option' | translate: { count: 25 } }}</option>\r\n <option [value]=\"50\">{{ 'common.items-per-page-option' | translate: { count: 50 } }}</option>\r\n <option [value]=\"100\">{{ 'common.items-per-page-option' | translate: { count: 100 } }}</option>\r\n </select>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11927
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ItemsPerPageControlsComponent, decorators: [{
11849
+ ItemsPerPageControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ItemsPerPageControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11850
+ ItemsPerPageControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: { itemsPerPage: "itemsPerPage" }, outputs: { itemsPerPageChange: "itemsPerPageChange" }, ngImport: i0, template: "<div class=\"select\">\r\n <select [ngModel]=\"itemsPerPage\" (change)=\"itemsPerPageChange.emit($event.target.value)\">\r\n <option [value]=\"10\">{{ 'common.items-per-page-option' | translate: { count: 10 } }}</option>\r\n <option [value]=\"25\">{{ 'common.items-per-page-option' | translate: { count: 25 } }}</option>\r\n <option [value]=\"50\">{{ 'common.items-per-page-option' | translate: { count: 50 } }}</option>\r\n <option [value]=\"100\">{{ 'common.items-per-page-option' | translate: { count: 100 } }}</option>\r\n </select>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ItemsPerPageControlsComponent, decorators: [{
11928
11852
  type: Component,
11929
11853
  args: [{ selector: 'vdr-items-per-page-controls', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"select\">\r\n <select [ngModel]=\"itemsPerPage\" (change)=\"itemsPerPageChange.emit($event.target.value)\">\r\n <option [value]=\"10\">{{ 'common.items-per-page-option' | translate: { count: 10 } }}</option>\r\n <option [value]=\"25\">{{ 'common.items-per-page-option' | translate: { count: 25 } }}</option>\r\n <option [value]=\"50\">{{ 'common.items-per-page-option' | translate: { count: 50 } }}</option>\r\n <option [value]=\"100\">{{ 'common.items-per-page-option' | translate: { count: 100 } }}</option>\r\n </select>\r\n</div>\r\n" }]
11930
11854
  }], propDecorators: { itemsPerPage: [{
@@ -11938,9 +11862,9 @@ class PaginationControlsComponent {
11938
11862
  this.pageChange = new EventEmitter();
11939
11863
  }
11940
11864
  }
11941
- PaginationControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PaginationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11942
- PaginationControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: { id: "id", currentPage: "currentPage", itemsPerPage: "itemsPerPage", totalItems: "totalItems" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<pagination-template #p=\"paginationApi\" (pageChange)=\"pageChange.emit($event)\" [id]=\"id\">\r\n <ul>\r\n <li class=\"pagination-previous\">\r\n <a *ngIf=\"!p.isFirstPage()\" (click)=\"p.previous()\" (keyup.enter)=\"p.previous()\" tabindex=\"0\">\u00AB</a>\r\n <div *ngIf=\"p.isFirstPage()\">\u00AB</div>\r\n </li>\r\n\r\n <li *ngFor=\"let page of p.pages\">\r\n <a\r\n (click)=\"p.setCurrent(page.value)\"\r\n (keyup.enter)=\"p.setCurrent(page.value)\"\r\n *ngIf=\"p.getCurrent() !== page.value\"\r\n tabindex=\"0\"\r\n >\r\n {{ page.label }}\r\n </a>\r\n\r\n <div class=\"current\" *ngIf=\"p.getCurrent() === page.value\">{{ page.label }}</div>\r\n </li>\r\n\r\n <li class=\"pagination-next\">\r\n <a *ngIf=\"!p.isLastPage()\" (click)=\"p.next()\" (keyup.enter)=\"p.next()\" tabindex=\"0\">\u00BB</a>\r\n <div *ngIf=\"p.isLastPage()\">\u00BB</div>\r\n </li>\r\n </ul>\r\n</pagination-template>\r\n", styles: ["pagination-template{display:block}pagination-template ul{list-style-type:none;display:flex;justify-content:center}pagination-template li{transition:border-bottom-color .2s}pagination-template li>a{cursor:pointer}pagination-template li>a:hover,pagination-template li>a:focus{border-bottom-color:var(--color-grey-300);text-decoration:none}pagination-template li>a,pagination-template li>div{padding:3px 12px;display:block;border-bottom:3px solid transparent;-webkit-user-select:none;user-select:none}pagination-template li>div.current{border-bottom-color:var(--color-primary-500)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PaginationControlsDirective, selector: "pagination-template,[pagination-template]", inputs: ["id", "maxSize"], outputs: ["pageChange", "pageBoundsCorrection"], exportAs: ["paginationApi"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PaginationControlsComponent, decorators: [{
11865
+ PaginationControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PaginationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11866
+ PaginationControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: { id: "id", currentPage: "currentPage", itemsPerPage: "itemsPerPage", totalItems: "totalItems" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<pagination-template #p=\"paginationApi\" (pageChange)=\"pageChange.emit($event)\" [id]=\"id\">\r\n <ul>\r\n <li class=\"pagination-previous\">\r\n <a *ngIf=\"!p.isFirstPage()\" (click)=\"p.previous()\" (keyup.enter)=\"p.previous()\" tabindex=\"0\">\u00AB</a>\r\n <div *ngIf=\"p.isFirstPage()\">\u00AB</div>\r\n </li>\r\n\r\n <li *ngFor=\"let page of p.pages\">\r\n <a\r\n (click)=\"p.setCurrent(page.value)\"\r\n (keyup.enter)=\"p.setCurrent(page.value)\"\r\n *ngIf=\"p.getCurrent() !== page.value\"\r\n tabindex=\"0\"\r\n >\r\n {{ page.label }}\r\n </a>\r\n\r\n <div class=\"current\" *ngIf=\"p.getCurrent() === page.value\">{{ page.label }}</div>\r\n </li>\r\n\r\n <li class=\"pagination-next\">\r\n <a *ngIf=\"!p.isLastPage()\" (click)=\"p.next()\" (keyup.enter)=\"p.next()\" tabindex=\"0\">\u00BB</a>\r\n <div *ngIf=\"p.isLastPage()\">\u00BB</div>\r\n </li>\r\n </ul>\r\n</pagination-template>\r\n", styles: ["pagination-template{display:block}pagination-template ul{list-style-type:none;display:flex;justify-content:center}pagination-template li{transition:border-bottom-color .2s}pagination-template li>a{cursor:pointer}pagination-template li>a:hover,pagination-template li>a:focus{border-bottom-color:var(--color-grey-300);text-decoration:none}pagination-template li>a,pagination-template li>div{padding:3px 12px;display:block;border-bottom:3px solid transparent;-webkit-user-select:none;user-select:none}pagination-template li>div.current{border-bottom-color:var(--color-primary-500)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PaginationControlsDirective, selector: "pagination-template,[pagination-template]", inputs: ["id", "maxSize"], outputs: ["pageChange", "pageBoundsCorrection"], exportAs: ["paginationApi"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PaginationControlsComponent, decorators: [{
11944
11868
  type: Component,
11945
11869
  args: [{ selector: 'vdr-pagination-controls', changeDetection: ChangeDetectionStrategy.OnPush, template: "<pagination-template #p=\"paginationApi\" (pageChange)=\"pageChange.emit($event)\" [id]=\"id\">\r\n <ul>\r\n <li class=\"pagination-previous\">\r\n <a *ngIf=\"!p.isFirstPage()\" (click)=\"p.previous()\" (keyup.enter)=\"p.previous()\" tabindex=\"0\">\u00AB</a>\r\n <div *ngIf=\"p.isFirstPage()\">\u00AB</div>\r\n </li>\r\n\r\n <li *ngFor=\"let page of p.pages\">\r\n <a\r\n (click)=\"p.setCurrent(page.value)\"\r\n (keyup.enter)=\"p.setCurrent(page.value)\"\r\n *ngIf=\"p.getCurrent() !== page.value\"\r\n tabindex=\"0\"\r\n >\r\n {{ page.label }}\r\n </a>\r\n\r\n <div class=\"current\" *ngIf=\"p.getCurrent() === page.value\">{{ page.label }}</div>\r\n </li>\r\n\r\n <li class=\"pagination-next\">\r\n <a *ngIf=\"!p.isLastPage()\" (click)=\"p.next()\" (keyup.enter)=\"p.next()\" tabindex=\"0\">\u00BB</a>\r\n <div *ngIf=\"p.isLastPage()\">\u00BB</div>\r\n </li>\r\n </ul>\r\n</pagination-template>\r\n", styles: ["pagination-template{display:block}pagination-template ul{list-style-type:none;display:flex;justify-content:center}pagination-template li{transition:border-bottom-color .2s}pagination-template li>a{cursor:pointer}pagination-template li>a:hover,pagination-template li>a:focus{border-bottom-color:var(--color-grey-300);text-decoration:none}pagination-template li>a,pagination-template li>div{padding:3px 12px;display:block;border-bottom:3px solid transparent;-webkit-user-select:none;user-select:none}pagination-template li>div.current{border-bottom-color:var(--color-primary-500)}\n"] }]
11946
11870
  }], propDecorators: { id: [{
@@ -11967,9 +11891,9 @@ class SelectToggleComponent {
11967
11891
  this.selectedChange = new EventEmitter();
11968
11892
  }
11969
11893
  }
11970
- SelectToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SelectToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11971
- SelectToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: { size: "size", selected: "selected", hiddenWhenOff: "hiddenWhenOff", disabled: "disabled", label: "label" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<div\r\n class=\"toggle\"\r\n [class.hide-when-off]=\"hiddenWhenOff\"\r\n [class.disabled]=\"disabled\"\r\n [class.small]=\"size === 'small'\"\r\n [attr.tabindex]=\"disabled ? null : 0\"\r\n [class.selected]=\"selected\"\r\n (keydown.enter)=\"selectedChange.emit(!selected)\"\r\n (keydown.space)=\"$event.preventDefault(); selectedChange.emit(!selected)\"\r\n (click)=\"selectedChange.emit(!selected)\"\r\n>\r\n <clr-icon shape=\"check-circle\" [attr.size]=\"size === 'small' ? 24 : 32\"></clr-icon>\r\n</div>\r\n<div class=\"toggle-label\" [class.disabled]=\"disabled\" *ngIf=\"label\" (click)=\"selectedChange.emit(!selected)\">\r\n {{ label }}\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;justify-content:center}.toggle{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--color-grey-300);background-color:var(--color-component-bg-100);border-radius:50%;top:-12px;left:-12px;transition:opacity .2s,color .2s}.toggle.hide-when-off{opacity:0}.toggle.small{width:24px;height:24px}.toggle:not(.disabled):hover{color:var(--color-success-400);opacity:.9}.toggle.selected{opacity:1;color:var(--color-success-500)}.toggle.selected:not(.disabled):hover{color:var(--color-success-400);opacity:.9}.toggle:focus{outline:none;box-shadow:0 0 2px 2px var(--color-primary-500)}.toggle.disabled{cursor:default}.toggle-label{flex:1;margin-left:6px;text-align:left;font-size:12px}.toggle-label:not(.disabled){cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11972
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SelectToggleComponent, decorators: [{
11894
+ SelectToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11895
+ SelectToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: { size: "size", selected: "selected", hiddenWhenOff: "hiddenWhenOff", disabled: "disabled", label: "label" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<div\r\n class=\"toggle\"\r\n [class.hide-when-off]=\"hiddenWhenOff\"\r\n [class.disabled]=\"disabled\"\r\n [class.small]=\"size === 'small'\"\r\n [attr.tabindex]=\"disabled ? null : 0\"\r\n [class.selected]=\"selected\"\r\n (keydown.enter)=\"selectedChange.emit(!selected)\"\r\n (keydown.space)=\"$event.preventDefault(); selectedChange.emit(!selected)\"\r\n (click)=\"selectedChange.emit(!selected)\"\r\n>\r\n <clr-icon shape=\"check-circle\" [attr.size]=\"size === 'small' ? 24 : 32\"></clr-icon>\r\n</div>\r\n<div class=\"toggle-label\" [class.disabled]=\"disabled\" *ngIf=\"label\" (click)=\"selectedChange.emit(!selected)\">\r\n {{ label }}\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;justify-content:center}.toggle{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--color-grey-300);background-color:var(--color-component-bg-100);border-radius:50%;top:-12px;left:-12px;transition:opacity .2s,color .2s}.toggle.hide-when-off{opacity:0}.toggle.small{width:24px;height:24px}.toggle:not(.disabled):hover{color:var(--color-success-400);opacity:.9}.toggle.selected{opacity:1;color:var(--color-success-500)}.toggle.selected:not(.disabled):hover{color:var(--color-success-400);opacity:.9}.toggle:focus{outline:none;box-shadow:0 0 2px 2px var(--color-primary-500)}.toggle.disabled{cursor:default}.toggle-label{flex:1;margin-left:6px;text-align:left;font-size:12px}.toggle-label:not(.disabled){cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectToggleComponent, decorators: [{
11973
11897
  type: Component,
11974
11898
  args: [{ selector: 'vdr-select-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"toggle\"\r\n [class.hide-when-off]=\"hiddenWhenOff\"\r\n [class.disabled]=\"disabled\"\r\n [class.small]=\"size === 'small'\"\r\n [attr.tabindex]=\"disabled ? null : 0\"\r\n [class.selected]=\"selected\"\r\n (keydown.enter)=\"selectedChange.emit(!selected)\"\r\n (keydown.space)=\"$event.preventDefault(); selectedChange.emit(!selected)\"\r\n (click)=\"selectedChange.emit(!selected)\"\r\n>\r\n <clr-icon shape=\"check-circle\" [attr.size]=\"size === 'small' ? 24 : 32\"></clr-icon>\r\n</div>\r\n<div class=\"toggle-label\" [class.disabled]=\"disabled\" *ngIf=\"label\" (click)=\"selectedChange.emit(!selected)\">\r\n {{ label }}\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;justify-content:center}.toggle{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;color:var(--color-grey-300);background-color:var(--color-component-bg-100);border-radius:50%;top:-12px;left:-12px;transition:opacity .2s,color .2s}.toggle.hide-when-off{opacity:0}.toggle.small{width:24px;height:24px}.toggle:not(.disabled):hover{color:var(--color-success-400);opacity:.9}.toggle.selected{opacity:1;color:var(--color-success-500)}.toggle.selected:not(.disabled):hover{color:var(--color-success-400);opacity:.9}.toggle:focus{outline:none;box-shadow:0 0 2px 2px var(--color-primary-500)}.toggle.disabled{cursor:default}.toggle-label{flex:1;margin-left:6px;text-align:left;font-size:12px}.toggle-label:not(.disabled){cursor:pointer}\n"] }]
11975
11899
  }], propDecorators: { size: [{
@@ -12115,9 +12039,9 @@ class ProductSearchInputComponent {
12115
12039
  return this.selectComponent.itemsList.markedIndex === -1;
12116
12040
  }
12117
12041
  }
12118
- ProductSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12119
- ProductSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProductSearchInputComponent, selector: "vdr-product-search-input", inputs: { facetValueResults: "facetValueResults" }, outputs: { searchTermChange: "searchTermChange", facetValueChange: "facetValueChange" }, providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: SingleSearchSelectionModelFactory }], viewQueries: [{ propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true, static: true }], ngImport: i0, template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-product-name-or-code' | translate\"\r\n [items]=\"facetValueResults\"\r\n [searchFn]=\"filterFacetResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip\r\n [facetValue]=\"item.facetValue\"\r\n [removable]=\"true\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.facetValue\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip [facetValue]=\"item.facetValue\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{margin-top:6px;display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3$1.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: FacetValueChipComponent, selector: "vdr-facet-value-chip", inputs: ["facetValue", "removable", "displayFacetName"], outputs: ["remove"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductSearchInputComponent, decorators: [{
12042
+ ProductSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12043
+ ProductSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductSearchInputComponent, selector: "vdr-product-search-input", inputs: { facetValueResults: "facetValueResults" }, outputs: { searchTermChange: "searchTermChange", facetValueChange: "facetValueChange" }, providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: SingleSearchSelectionModelFactory }], viewQueries: [{ propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true, static: true }], ngImport: i0, template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-product-name-or-code' | translate\"\r\n [items]=\"facetValueResults\"\r\n [searchFn]=\"filterFacetResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip\r\n [facetValue]=\"item.facetValue\"\r\n [removable]=\"true\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.facetValue\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip [facetValue]=\"item.facetValue\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{margin-top:6px;display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3$1.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: FacetValueChipComponent, selector: "vdr-facet-value-chip", inputs: ["facetValue", "removable", "displayFacetName"], outputs: ["remove"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12044
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductSearchInputComponent, decorators: [{
12121
12045
  type: Component,
12122
12046
  args: [{ selector: 'vdr-product-search-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: SingleSearchSelectionModelFactory }], template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-product-name-or-code' | translate\"\r\n [items]=\"facetValueResults\"\r\n [searchFn]=\"filterFacetResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip\r\n [facetValue]=\"item.facetValue\"\r\n [removable]=\"true\"\r\n (remove)=\"clear(item)\"\r\n ></vdr-facet-value-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.facetValue\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.facetValue\">\r\n <vdr-facet-value-chip [facetValue]=\"item.facetValue\" [removable]=\"false\"></vdr-facet-value-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{margin-top:6px;display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"] }]
12123
12047
  }], propDecorators: { facetValueResults: [{
@@ -12162,9 +12086,9 @@ class AssetPreviewPipe {
12162
12086
  }
12163
12087
  }
12164
12088
  }
12165
- AssetPreviewPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12166
- AssetPreviewPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewPipe, name: "assetPreview" });
12167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewPipe, decorators: [{
12089
+ AssetPreviewPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12090
+ AssetPreviewPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewPipe, name: "assetPreview" });
12091
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewPipe, decorators: [{
12168
12092
  type: Pipe,
12169
12093
  args: [{
12170
12094
  name: 'assetPreview',
@@ -12282,9 +12206,9 @@ class ProductMultiSelectorDialogComponent {
12282
12206
  this.resolveWith();
12283
12207
  }
12284
12208
  }
12285
- ProductMultiSelectorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductMultiSelectorDialogComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12286
- ProductMultiSelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProductMultiSelectorDialogComponent, selector: "vdr-product-multi-selector-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n <span *ngIf=\"mode === 'product'\">{{ 'common.select-products' | translate }}</span>\r\n <span *ngIf=\"mode === 'variant'\">{{ 'common.select-variants' | translate }}</span>\r\n </div>\r\n</ng-template>\r\n<vdr-product-search-input\r\n #productSearchInputComponent\r\n [facetValueResults]=\"facetValues$ | async\"\r\n (searchTermChange)=\"setSearchTerm($event)\"\r\n (facetValueChange)=\"setFacetValueIds($event)\"\r\n></vdr-product-search-input>\r\n<div class=\"flex-wrapper\">\r\n <div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let item of (items$ | async) || [] | paginate: paginationConfig; trackBy: trackByFn\"\r\n (click)=\"toggleSelection(item, $event)\"\r\n [class.selected]=\"isSelected(item)\"\r\n >\r\n <div class=\"card-img\">\r\n <vdr-select-toggle\r\n [selected]=\"isSelected(item)\"\r\n [disabled]=\"true\"\r\n [hiddenWhenOff]=\"true\"\r\n ></vdr-select-toggle>\r\n <img\r\n [src]=\"\r\n (mode === 'product'\r\n ? item.productAsset\r\n : item.productVariantAsset || item.productAsset\r\n ) | assetPreview: 'thumb'\r\n \"\r\n />\r\n </div>\r\n <div class=\"detail\">\r\n <span [title]=\"mode === 'product' ? item.productName : item.productVariantName\">{{\r\n mode === 'product' ? item.productName : item.productVariantName\r\n }}</span>\r\n <div *ngIf=\"mode === 'variant'\"><small>{{ item.sku }}</small></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"selection\">\r\n <div class=\"m2 flex center\">\r\n <div>\r\n {{ 'common.items-selected-count' | translate: { count: selectionManager.selection.length } }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button class=\"btn btn-sm btn-link\" (click)=\"clearSelection()\">\r\n <cds-icon shape=\"times\"></cds-icon> {{ 'common.clear-selection' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"selected-items\">\r\n <div *ngFor=\"let item of selectionManager.selection\" class=\"flex item-row\">\r\n <div class=\"\">{{ mode === 'product' ? item.productName : item.productVariantName }}</div>\r\n <div class=\"flex-spacer\"></div>\r\n <div>\r\n <button class=\"icon-button\" (click)=\"toggleSelection(item, $event)\">\r\n <cds-icon shape=\"times\"></cds-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"paging-controls\">\r\n <vdr-items-per-page-controls\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\r\n ></vdr-items-per-page-controls>\r\n\r\n <vdr-pagination-controls\r\n [currentPage]=\"paginationConfig.currentPage\"\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n [totalItems]=\"paginationConfig.totalItems\"\r\n (pageChange)=\"pageChange($event)\"\r\n ></vdr-pagination-controls>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"selectionManager.selection.length === 0\"\r\n >\r\n {{ 'common.select-items-with-count' | translate: { count: selectionManager.selection.length } }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex-direction:1;height:70vh}.flex-wrapper{display:flex;overflow-y:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,125px);grid-template-rows:repeat(auto-fill,200px);grid-gap:10px 20px;padding-left:12px;padding-top:12px;padding-bottom:64px;overflow-y:auto}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.detail{margin:0 3px;font-size:12px;line-height:.8rem}vdr-select-toggle{position:absolute;top:-12px;left:-12px}vdr-select-toggle ::ng-deep .toggle{box-shadow:0 5px 5px -4px #000000bf}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.selection{width:23vw;max-width:400px;padding:6px;display:flex;flex-direction:column}.selection .selected-items{flex:1;overflow-y:auto}.selection .selected-items .item-row{padding-left:3px}.selection .selected-items .item-row:hover{background-color:var(--color-component-bg-200)}.paging-controls{display:flex;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }, { kind: "component", type: ProductSearchInputComponent, selector: "vdr-product-search-input", inputs: ["facetValueResults"], outputs: ["searchTermChange", "facetValueChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductMultiSelectorDialogComponent, decorators: [{
12209
+ ProductMultiSelectorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductMultiSelectorDialogComponent, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12210
+ ProductMultiSelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductMultiSelectorDialogComponent, selector: "vdr-product-multi-selector-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n <span *ngIf=\"mode === 'product'\">{{ 'common.select-products' | translate }}</span>\r\n <span *ngIf=\"mode === 'variant'\">{{ 'common.select-variants' | translate }}</span>\r\n </div>\r\n</ng-template>\r\n<vdr-product-search-input\r\n #productSearchInputComponent\r\n [facetValueResults]=\"facetValues$ | async\"\r\n (searchTermChange)=\"setSearchTerm($event)\"\r\n (facetValueChange)=\"setFacetValueIds($event)\"\r\n></vdr-product-search-input>\r\n<div class=\"flex-wrapper\">\r\n <div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let item of (items$ | async) || [] | paginate: paginationConfig; trackBy: trackByFn\"\r\n (click)=\"toggleSelection(item, $event)\"\r\n [class.selected]=\"isSelected(item)\"\r\n >\r\n <div class=\"card-img\">\r\n <vdr-select-toggle\r\n [selected]=\"isSelected(item)\"\r\n [disabled]=\"true\"\r\n [hiddenWhenOff]=\"true\"\r\n ></vdr-select-toggle>\r\n <img\r\n [src]=\"\r\n (mode === 'product'\r\n ? item.productAsset\r\n : item.productVariantAsset || item.productAsset\r\n ) | assetPreview: 'thumb'\r\n \"\r\n />\r\n </div>\r\n <div class=\"detail\">\r\n <span [title]=\"mode === 'product' ? item.productName : item.productVariantName\">{{\r\n mode === 'product' ? item.productName : item.productVariantName\r\n }}</span>\r\n <div *ngIf=\"mode === 'variant'\"><small>{{ item.sku }}</small></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"selection\">\r\n <div class=\"m2 flex center\">\r\n <div>\r\n {{ 'common.items-selected-count' | translate: { count: selectionManager.selection.length } }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button class=\"btn btn-sm btn-link\" (click)=\"clearSelection()\">\r\n <cds-icon shape=\"times\"></cds-icon> {{ 'common.clear-selection' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"selected-items\">\r\n <div *ngFor=\"let item of selectionManager.selection\" class=\"flex item-row\">\r\n <div class=\"\">{{ mode === 'product' ? item.productName : item.productVariantName }}</div>\r\n <div class=\"flex-spacer\"></div>\r\n <div>\r\n <button class=\"icon-button\" (click)=\"toggleSelection(item, $event)\">\r\n <cds-icon shape=\"times\"></cds-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"paging-controls\">\r\n <vdr-items-per-page-controls\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\r\n ></vdr-items-per-page-controls>\r\n\r\n <vdr-pagination-controls\r\n [currentPage]=\"paginationConfig.currentPage\"\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n [totalItems]=\"paginationConfig.totalItems\"\r\n (pageChange)=\"pageChange($event)\"\r\n ></vdr-pagination-controls>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"selectionManager.selection.length === 0\"\r\n >\r\n {{ 'common.select-items-with-count' | translate: { count: selectionManager.selection.length } }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex-direction:1;height:70vh}.flex-wrapper{display:flex;overflow-y:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,125px);grid-template-rows:repeat(auto-fill,200px);grid-gap:10px 20px;padding-left:12px;padding-top:12px;padding-bottom:64px;overflow-y:auto}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.detail{margin:0 3px;font-size:12px;line-height:.8rem}vdr-select-toggle{position:absolute;top:-12px;left:-12px}vdr-select-toggle ::ng-deep .toggle{box-shadow:0 5px 5px -4px #000000bf}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.selection{width:23vw;max-width:400px;padding:6px;display:flex;flex-direction:column}.selection .selected-items{flex:1;overflow-y:auto}.selection .selected-items .item-row{padding-left:3px}.selection .selected-items .item-row:hover{background-color:var(--color-component-bg-200)}.paging-controls{display:flex;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }, { kind: "component", type: ProductSearchInputComponent, selector: "vdr-product-search-input", inputs: ["facetValueResults"], outputs: ["searchTermChange", "facetValueChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductMultiSelectorDialogComponent, decorators: [{
12288
12212
  type: Component,
12289
12213
  args: [{ selector: 'vdr-product-multi-selector-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n <span *ngIf=\"mode === 'product'\">{{ 'common.select-products' | translate }}</span>\r\n <span *ngIf=\"mode === 'variant'\">{{ 'common.select-variants' | translate }}</span>\r\n </div>\r\n</ng-template>\r\n<vdr-product-search-input\r\n #productSearchInputComponent\r\n [facetValueResults]=\"facetValues$ | async\"\r\n (searchTermChange)=\"setSearchTerm($event)\"\r\n (facetValueChange)=\"setFacetValueIds($event)\"\r\n></vdr-product-search-input>\r\n<div class=\"flex-wrapper\">\r\n <div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let item of (items$ | async) || [] | paginate: paginationConfig; trackBy: trackByFn\"\r\n (click)=\"toggleSelection(item, $event)\"\r\n [class.selected]=\"isSelected(item)\"\r\n >\r\n <div class=\"card-img\">\r\n <vdr-select-toggle\r\n [selected]=\"isSelected(item)\"\r\n [disabled]=\"true\"\r\n [hiddenWhenOff]=\"true\"\r\n ></vdr-select-toggle>\r\n <img\r\n [src]=\"\r\n (mode === 'product'\r\n ? item.productAsset\r\n : item.productVariantAsset || item.productAsset\r\n ) | assetPreview: 'thumb'\r\n \"\r\n />\r\n </div>\r\n <div class=\"detail\">\r\n <span [title]=\"mode === 'product' ? item.productName : item.productVariantName\">{{\r\n mode === 'product' ? item.productName : item.productVariantName\r\n }}</span>\r\n <div *ngIf=\"mode === 'variant'\"><small>{{ item.sku }}</small></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"selection\">\r\n <div class=\"m2 flex center\">\r\n <div>\r\n {{ 'common.items-selected-count' | translate: { count: selectionManager.selection.length } }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button class=\"btn btn-sm btn-link\" (click)=\"clearSelection()\">\r\n <cds-icon shape=\"times\"></cds-icon> {{ 'common.clear-selection' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"selected-items\">\r\n <div *ngFor=\"let item of selectionManager.selection\" class=\"flex item-row\">\r\n <div class=\"\">{{ mode === 'product' ? item.productName : item.productVariantName }}</div>\r\n <div class=\"flex-spacer\"></div>\r\n <div>\r\n <button class=\"icon-button\" (click)=\"toggleSelection(item, $event)\">\r\n <cds-icon shape=\"times\"></cds-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"paging-controls\">\r\n <vdr-items-per-page-controls\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\r\n ></vdr-items-per-page-controls>\r\n\r\n <vdr-pagination-controls\r\n [currentPage]=\"paginationConfig.currentPage\"\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n [totalItems]=\"paginationConfig.totalItems\"\r\n (pageChange)=\"pageChange($event)\"\r\n ></vdr-pagination-controls>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"selectionManager.selection.length === 0\"\r\n >\r\n {{ 'common.select-items-with-count' | translate: { count: selectionManager.selection.length } }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex-direction:1;height:70vh}.flex-wrapper{display:flex;overflow-y:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,125px);grid-template-rows:repeat(auto-fill,200px);grid-gap:10px 20px;padding-left:12px;padding-top:12px;padding-bottom:64px;overflow-y:auto}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.detail{margin:0 3px;font-size:12px;line-height:.8rem}vdr-select-toggle{position:absolute;top:-12px;left:-12px}vdr-select-toggle ::ng-deep .toggle{box-shadow:0 5px 5px -4px #000000bf}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.selection{width:23vw;max-width:400px;padding:6px;display:flex;flex-direction:column}.selection .selected-items{flex:1;overflow-y:auto}.selection .selected-items .item-row{padding-left:3px}.selection .selected-items .item-row:hover{background-color:var(--color-component-bg-200)}.paging-controls{display:flex;align-items:center;justify-content:space-between}\n"] }]
12290
12214
  }], ctorParameters: function () { return [{ type: DataService }, { type: i0.ChangeDetectorRef }]; } });
@@ -12318,9 +12242,9 @@ class ProductMultiSelectorFormInputComponent {
12318
12242
  }
12319
12243
  }
12320
12244
  ProductMultiSelectorFormInputComponent.id = 'product-multi-form-input';
12321
- ProductMultiSelectorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductMultiSelectorFormInputComponent, deps: [{ token: ModalService }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12322
- ProductMultiSelectorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProductMultiSelectorFormInputComponent, selector: "vdr-product-multi-selector-form-input", inputs: { config: "config", formControl: "formControl", readonly: "readonly" }, ngImport: i0, template: "<div class=\"flex\">\r\n <button (click)=\"select()\" class=\"btn btn-sm btn-secondary\">\r\n {{ 'common.items-selected-count' | translate: { count: formControl.value?.length ?? 0 } }}...\r\n </button>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductMultiSelectorFormInputComponent, decorators: [{
12245
+ ProductMultiSelectorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductMultiSelectorFormInputComponent, deps: [{ token: ModalService }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
12246
+ ProductMultiSelectorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductMultiSelectorFormInputComponent, selector: "vdr-product-multi-selector-form-input", inputs: { config: "config", formControl: "formControl", readonly: "readonly" }, ngImport: i0, template: "<div class=\"flex\">\r\n <button (click)=\"select()\" class=\"btn btn-sm btn-secondary\">\r\n {{ 'common.items-selected-count' | translate: { count: formControl.value?.length ?? 0 } }}...\r\n </button>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductMultiSelectorFormInputComponent, decorators: [{
12324
12248
  type: Component,
12325
12249
  args: [{ selector: 'vdr-product-multi-selector-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\r\n <button (click)=\"select()\" class=\"btn btn-sm btn-secondary\">\r\n {{ 'common.items-selected-count' | translate: { count: formControl.value?.length ?? 0 } }}...\r\n </button>\r\n</div>\r\n" }]
12326
12250
  }], ctorParameters: function () { return [{ type: ModalService }, { type: DataService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
@@ -12372,9 +12296,9 @@ class ProductVariantSelectorComponent {
12372
12296
  }
12373
12297
  }
12374
12298
  }
12375
- ProductVariantSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductVariantSelectorComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12376
- ProductVariantSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProductVariantSelectorComponent, selector: "vdr-product-variant-selector", outputs: { productSelected: "productSelected" }, viewQueries: [{ propertyName: "ngSelect", first: true, predicate: ["autoComplete"], descendants: true, static: true }], ngImport: i0, template: "<ng-select\r\n #autoComplete\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n [appendTo]=\"'body'\"\r\n [placeholder]=\"'settings.search-by-product-name-or-sku' | translate\"\r\n (change)=\"selectResult($event)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.productAsset | assetPreview: 32\">\r\n {{ item.productVariantName }}\r\n <small class=\"sku\">{{ item.sku }}</small>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{display:block}.sku{margin-left:12px;color:var(--color-grey-500)}img{border-radius:var(--border-radius-img)}\n"], dependencies: [{ kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductVariantSelectorComponent, decorators: [{
12299
+ ProductVariantSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductVariantSelectorComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12300
+ ProductVariantSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductVariantSelectorComponent, selector: "vdr-product-variant-selector", outputs: { productSelected: "productSelected" }, viewQueries: [{ propertyName: "ngSelect", first: true, predicate: ["autoComplete"], descendants: true, static: true }], ngImport: i0, template: "<ng-select\r\n #autoComplete\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n [appendTo]=\"'body'\"\r\n [placeholder]=\"'settings.search-by-product-name-or-sku' | translate\"\r\n (change)=\"selectResult($event)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.productAsset | assetPreview: 32\">\r\n {{ item.productVariantName }}\r\n <small class=\"sku\">{{ item.sku }}</small>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{display:block}.sku{margin-left:12px;color:var(--color-grey-500)}img{border-radius:var(--border-radius-img)}\n"], dependencies: [{ kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductVariantSelectorComponent, decorators: [{
12378
12302
  type: Component,
12379
12303
  args: [{ selector: 'vdr-product-variant-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-select\r\n #autoComplete\r\n [items]=\"searchResults$ | async\"\r\n [addTag]=\"false\"\r\n [multiple]=\"false\"\r\n [hideSelected]=\"true\"\r\n [loading]=\"searchLoading\"\r\n [typeahead]=\"searchInput$\"\r\n [appendTo]=\"'body'\"\r\n [placeholder]=\"'settings.search-by-product-name-or-sku' | translate\"\r\n (change)=\"selectResult($event)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.productAsset | assetPreview: 32\">\r\n {{ item.productVariantName }}\r\n <small class=\"sku\">{{ item.sku }}</small>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{display:block}.sku{margin-left:12px;color:var(--color-grey-500)}img{border-radius:var(--border-radius-img)}\n"] }]
12380
12304
  }], ctorParameters: function () { return [{ type: DataService }]; }, propDecorators: { productSelected: [{
@@ -12427,9 +12351,9 @@ class ProductSelectorFormInputComponent {
12427
12351
  }
12428
12352
  }
12429
12353
  ProductSelectorFormInputComponent.id = 'product-selector-form-input';
12430
- ProductSelectorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductSelectorFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12431
- ProductSelectorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ProductSelectorFormInputComponent, selector: "vdr-product-selector-form-input", ngImport: i0, template: "<ul class=\"list-unstyled\">\r\n <li *ngFor=\"let variant of selection$ | async\" class=\"variant\">\r\n <div class=\"thumb\">\r\n <img [src]=\"variant.product.featuredAsset | assetPreview: 32\" />\r\n </div>\r\n <div class=\"detail\">\r\n <div>{{ variant.name }}</div>\r\n <div class=\"sku\">{{ variant.sku }}</div>\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button\r\n class=\"btn btn-link btn-sm btn-warning\"\r\n (click)=\"removeProductVariant(variant.id)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<vdr-product-variant-selector (productSelected)=\"addProductVariant($event)\"></vdr-product-variant-selector>\r\n", styles: [".variant{margin-bottom:6px;display:flex;align-items:center;transition:background-color .2s}.variant:hover{background-color:var(--color-component-bg-200)}.thumb{margin-right:6px}.sku{color:var(--color-grey-400);font-size:smaller;line-height:1em}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ProductVariantSelectorComponent, selector: "vdr-product-variant-selector", outputs: ["productSelected"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProductSelectorFormInputComponent, decorators: [{
12354
+ ProductSelectorFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductSelectorFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12355
+ ProductSelectorFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductSelectorFormInputComponent, selector: "vdr-product-selector-form-input", ngImport: i0, template: "<ul class=\"list-unstyled\">\r\n <li *ngFor=\"let variant of selection$ | async\" class=\"variant\">\r\n <div class=\"thumb\">\r\n <img [src]=\"variant.product.featuredAsset | assetPreview: 32\" />\r\n </div>\r\n <div class=\"detail\">\r\n <div>{{ variant.name }}</div>\r\n <div class=\"sku\">{{ variant.sku }}</div>\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button\r\n class=\"btn btn-link btn-sm btn-warning\"\r\n (click)=\"removeProductVariant(variant.id)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<vdr-product-variant-selector (productSelected)=\"addProductVariant($event)\"></vdr-product-variant-selector>\r\n", styles: [".variant{margin-bottom:6px;display:flex;align-items:center;transition:background-color .2s}.variant:hover{background-color:var(--color-component-bg-200)}.thumb{margin-right:6px}.sku{color:var(--color-grey-400);font-size:smaller;line-height:1em}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ProductVariantSelectorComponent, selector: "vdr-product-variant-selector", outputs: ["productSelected"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductSelectorFormInputComponent, decorators: [{
12433
12357
  type: Component,
12434
12358
  args: [{ selector: 'vdr-product-selector-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"list-unstyled\">\r\n <li *ngFor=\"let variant of selection$ | async\" class=\"variant\">\r\n <div class=\"thumb\">\r\n <img [src]=\"variant.product.featuredAsset | assetPreview: 32\" />\r\n </div>\r\n <div class=\"detail\">\r\n <div>{{ variant.name }}</div>\r\n <div class=\"sku\">{{ variant.sku }}</div>\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button\r\n class=\"btn btn-link btn-sm btn-warning\"\r\n (click)=\"removeProductVariant(variant.id)\"\r\n [title]=\"'common.remove-item-from-list' | translate\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<vdr-product-variant-selector (productSelected)=\"addProductVariant($event)\"></vdr-product-variant-selector>\r\n", styles: [".variant{margin-bottom:6px;display:flex;align-items:center;transition:background-color .2s}.variant:hover{background-color:var(--color-component-bg-200)}.thumb{margin-right:6px}.sku{color:var(--color-grey-400);font-size:smaller;line-height:1em}\n"] }]
12435
12359
  }], ctorParameters: function () { return [{ type: DataService }]; } });
@@ -12510,9 +12434,9 @@ class AssetSearchInputComponent {
12510
12434
  return { label: item };
12511
12435
  }
12512
12436
  }
12513
- AssetSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12514
- AssetSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AssetSearchInputComponent, selector: "vdr-asset-search-input", inputs: { tags: "tags" }, outputs: { searchTermChange: "searchTermChange", tagsChange: "tagsChange" }, providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: SingleSearchSelectionModelFactory }], viewQueries: [{ propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true, static: true }], ngImport: i0, template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-asset-name-or-tag' | translate\"\r\n [items]=\"tags\"\r\n [searchFn]=\"filterTagResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.value\">\r\n <vdr-chip [colorFrom]=\"item.value\" icon=\"close\" (iconClick)=\"clear(item)\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ item.value }}</vdr-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.value\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label || item }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.value\">\r\n <vdr-chip [colorFrom]=\"item.value\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ item.value }}</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;min-width:300px;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3$1.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetSearchInputComponent, decorators: [{
12437
+ AssetSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12438
+ AssetSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AssetSearchInputComponent, selector: "vdr-asset-search-input", inputs: { tags: "tags" }, outputs: { searchTermChange: "searchTermChange", tagsChange: "tagsChange" }, providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: SingleSearchSelectionModelFactory }], viewQueries: [{ propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true, static: true }], ngImport: i0, template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-asset-name-or-tag' | translate\"\r\n [items]=\"tags\"\r\n [searchFn]=\"filterTagResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.value\">\r\n <vdr-chip [colorFrom]=\"item.value\" icon=\"close\" (iconClick)=\"clear(item)\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ item.value }}</vdr-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.value\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label || item }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.value\">\r\n <vdr-chip [colorFrom]=\"item.value\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ item.value }}</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;min-width:300px;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3$1.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetSearchInputComponent, decorators: [{
12516
12440
  type: Component,
12517
12441
  args: [{ selector: 'vdr-asset-search-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: SELECTION_MODEL_FACTORY, useValue: SingleSearchSelectionModelFactory }], template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [placeholder]=\"'catalog.search-asset-name-or-tag' | translate\"\r\n [items]=\"tags\"\r\n [searchFn]=\"filterTagResults\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"true\"\r\n [markFirst]=\"false\"\r\n (change)=\"onSelectChange($event)\"\r\n #selectComponent\r\n>\r\n <ng-template ng-header-tmp>\r\n <div\r\n class=\"search-header\"\r\n *ngIf=\"selectComponent.searchTerm\"\r\n [class.selected]=\"isSearchHeaderSelected()\"\r\n (click)=\"selectComponent.selectTag()\"\r\n >\r\n {{ 'catalog.search-for-term' | translate }}: {{ selectComponent.searchTerm }}\r\n </div>\r\n </ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"item.value\">\r\n <vdr-chip [colorFrom]=\"item.value\" icon=\"close\" (iconClick)=\"clear(item)\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ item.value }}</vdr-chip>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.value\">\r\n <vdr-chip [icon]=\"'times'\" (iconClick)=\"clear(item)\">\"{{ item.label || item }}\"</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\">\r\n <ng-container *ngIf=\"item.value\">\r\n <vdr-chip [colorFrom]=\"item.value\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ item.value }}</vdr-chip>\r\n </ng-container>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}ng-select{width:100%;min-width:300px;margin-right:12px}.search-header{padding:8px 10px;border-bottom:1px solid var(--color-component-border-100);cursor:pointer}.search-header.selected,.search-header:hover{background-color:var(--color-component-bg-200)}\n"] }]
12518
12442
  }], propDecorators: { tags: [{
@@ -12596,9 +12520,9 @@ class AssetFileInputComponent {
12596
12520
  }
12597
12521
  }
12598
12522
  }
12599
- AssetFileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetFileInputComponent, deps: [{ token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Component });
12600
- AssetFileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AssetFileInputComponent, selector: "vdr-asset-file-input", inputs: { dropZoneTarget: "dropZoneTarget", uploading: "uploading" }, outputs: { selectFiles: "selectFiles" }, host: { listeners: { "document:dragenter": "onDragEnter()", "document:dragleave": "onDragLeave($event)" } }, ngImport: i0, template: "<input type=\"file\" class=\"file-input\" #fileInput (change)=\"select($event)\" multiple [accept]=\"accept\" />\r\n<button class=\"btn btn-primary\" (click)=\"fileInput.click()\" [disabled]=\"uploading\">\r\n <ng-container *ngIf=\"uploading; else selectable\">\r\n <clr-spinner clrInline></clr-spinner>\r\n {{ 'asset.uploading' | translate }}\r\n </ng-container>\r\n <ng-template #selectable>\r\n <clr-icon shape=\"upload-cloud\"></clr-icon>\r\n {{ 'asset.upload-assets' | translate }}\r\n </ng-template>\r\n</button>\r\n<div\r\n class=\"drop-zone\"\r\n [ngStyle]=\"dropZoneStyle\"\r\n [class.visible]=\"dragging\"\r\n [class.dragging-over]=\"overDropZone\"\r\n (dragenter)=\"overDropZone = true\"\r\n (dragleave)=\"overDropZone = false\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\"\r\n #dropZone\r\n>\r\n <div class=\"drop-label\" (dragenter)=\"overDropZone = true\">\r\n <clr-icon shape=\"upload-cloud\" size=\"32\"></clr-icon>\r\n {{ 'catalog.drop-files-to-upload' | translate }}\r\n </div>\r\n</div>\r\n", styles: [".file-input{display:none}.drop-zone{position:fixed;background-color:var(--color-primary-500);border:3px dashed var(--color-component-border-300);opacity:0;visibility:hidden;z-index:1000;transition:opacity .2s,background-color .2s,visibility 0s .2s;display:flex;align-items:center;justify-content:center}.drop-zone.visible{opacity:.3;visibility:visible;transition:opacity .2s,background-color .2s,border .2s,visibility 0s}.drop-zone .drop-label{background-color:#fffc;border-radius:3px;padding:24px;font-size:32px;pointer-events:none;opacity:.5;transition:opacity .2s}.drop-zone.dragging-over{border-color:#fff;background-color:var(--color-primary-500);opacity:.7;transition:background-color .2s,border .2s}.drop-zone.dragging-over .drop-label{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "component", type: i1$4.ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12601
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetFileInputComponent, decorators: [{
12523
+ AssetFileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetFileInputComponent, deps: [{ token: ServerConfigService }], target: i0.ɵɵFactoryTarget.Component });
12524
+ AssetFileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AssetFileInputComponent, selector: "vdr-asset-file-input", inputs: { dropZoneTarget: "dropZoneTarget", uploading: "uploading" }, outputs: { selectFiles: "selectFiles" }, host: { listeners: { "document:dragenter": "onDragEnter()", "document:dragleave": "onDragLeave($event)" } }, ngImport: i0, template: "<input type=\"file\" class=\"file-input\" #fileInput (change)=\"select($event)\" multiple [accept]=\"accept\" />\r\n<button class=\"btn btn-primary\" (click)=\"fileInput.click()\" [disabled]=\"uploading\">\r\n <ng-container *ngIf=\"uploading; else selectable\">\r\n <clr-spinner clrInline></clr-spinner>\r\n {{ 'asset.uploading' | translate }}\r\n </ng-container>\r\n <ng-template #selectable>\r\n <clr-icon shape=\"upload-cloud\"></clr-icon>\r\n {{ 'asset.upload-assets' | translate }}\r\n </ng-template>\r\n</button>\r\n<div\r\n class=\"drop-zone\"\r\n [ngStyle]=\"dropZoneStyle\"\r\n [class.visible]=\"dragging\"\r\n [class.dragging-over]=\"overDropZone\"\r\n (dragenter)=\"overDropZone = true\"\r\n (dragleave)=\"overDropZone = false\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\"\r\n #dropZone\r\n>\r\n <div class=\"drop-label\" (dragenter)=\"overDropZone = true\">\r\n <clr-icon shape=\"upload-cloud\" size=\"32\"></clr-icon>\r\n {{ 'catalog.drop-files-to-upload' | translate }}\r\n </div>\r\n</div>\r\n", styles: [".file-input{display:none}.drop-zone{position:fixed;background-color:var(--color-primary-500);border:3px dashed var(--color-component-border-300);opacity:0;visibility:hidden;z-index:1000;transition:opacity .2s,background-color .2s,visibility 0s .2s;display:flex;align-items:center;justify-content:center}.drop-zone.visible{opacity:.3;visibility:visible;transition:opacity .2s,background-color .2s,border .2s,visibility 0s}.drop-zone .drop-label{background-color:#fffc;border-radius:3px;padding:24px;font-size:32px;pointer-events:none;opacity:.5;transition:opacity .2s}.drop-zone.dragging-over{border-color:#fff;background-color:var(--color-primary-500);opacity:.7;transition:background-color .2s,border .2s}.drop-zone.dragging-over .drop-label{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "component", type: i1$4.ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetFileInputComponent, decorators: [{
12602
12526
  type: Component,
12603
12527
  args: [{ selector: 'vdr-asset-file-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input type=\"file\" class=\"file-input\" #fileInput (change)=\"select($event)\" multiple [accept]=\"accept\" />\r\n<button class=\"btn btn-primary\" (click)=\"fileInput.click()\" [disabled]=\"uploading\">\r\n <ng-container *ngIf=\"uploading; else selectable\">\r\n <clr-spinner clrInline></clr-spinner>\r\n {{ 'asset.uploading' | translate }}\r\n </ng-container>\r\n <ng-template #selectable>\r\n <clr-icon shape=\"upload-cloud\"></clr-icon>\r\n {{ 'asset.upload-assets' | translate }}\r\n </ng-template>\r\n</button>\r\n<div\r\n class=\"drop-zone\"\r\n [ngStyle]=\"dropZoneStyle\"\r\n [class.visible]=\"dragging\"\r\n [class.dragging-over]=\"overDropZone\"\r\n (dragenter)=\"overDropZone = true\"\r\n (dragleave)=\"overDropZone = false\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\"\r\n #dropZone\r\n>\r\n <div class=\"drop-label\" (dragenter)=\"overDropZone = true\">\r\n <clr-icon shape=\"upload-cloud\" size=\"32\"></clr-icon>\r\n {{ 'catalog.drop-files-to-upload' | translate }}\r\n </div>\r\n</div>\r\n", styles: [".file-input{display:none}.drop-zone{position:fixed;background-color:var(--color-primary-500);border:3px dashed var(--color-component-border-300);opacity:0;visibility:hidden;z-index:1000;transition:opacity .2s,background-color .2s,visibility 0s .2s;display:flex;align-items:center;justify-content:center}.drop-zone.visible{opacity:.3;visibility:visible;transition:opacity .2s,background-color .2s,border .2s,visibility 0s}.drop-zone .drop-label{background-color:#fffc;border-radius:3px;padding:24px;font-size:32px;pointer-events:none;opacity:.5;transition:opacity .2s}.drop-zone.dragging-over{border-color:#fff;background-color:var(--color-primary-500);opacity:.7;transition:background-color .2s,border .2s}.drop-zone.dragging-over .drop-label{opacity:1}\n"] }]
12604
12528
  }], ctorParameters: function () { return [{ type: ServerConfigService }]; }, propDecorators: { dropZoneTarget: [{
@@ -12658,9 +12582,9 @@ class ManageTagsDialogComponent {
12658
12582
  return forkJoin(operations).subscribe(() => this.resolveWith(true));
12659
12583
  }
12660
12584
  }
12661
- ManageTagsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ManageTagsDialogComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12662
- ManageTagsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ManageTagsDialogComponent, selector: "vdr-manage-tags-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <span>{{ 'common.manage-tags' | translate }}</span>\r\n</ng-template>\r\n<p class=\"mt0 mb4\">{{ 'common.manage-tags-description' | translate }}</p>\r\n<ul class=\"tag-list\" *ngFor=\"let tag of allTags$ | async\">\r\n <li class=\"mb2 p1\" [class.to-delete]=\"markedAsDeleted(tag.id)\">\r\n <clr-icon shape=\"tag\" class=\"is-solid mr2\" [style.color]=\"tag.value | stringToColor\"></clr-icon>\r\n <input type=\"text\" (input)=\"updateTagValue(tag.id, $event.target.value)\" [value]=\"tag.value\" />\r\n <button class=\"icon-button\" (click)=\"toggleDelete(tag.id)\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\" [class.is-solid]=\"markedAsDeleted(tag.id)\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"resolveWith(false)\" class=\"btn btn-secondary\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"saveChanges()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"!toUpdate.length && !toDelete.length\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".tag-list{list-style-type:none}.tag-list li{display:flex;align-items:center}.tag-list li input{max-width:170px}.tag-list li.to-delete{opacity:.7;background-color:var(--color-component-bg-300)}.tag-list li.to-delete input{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ManageTagsDialogComponent, decorators: [{
12585
+ ManageTagsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ManageTagsDialogComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12586
+ ManageTagsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ManageTagsDialogComponent, selector: "vdr-manage-tags-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <span>{{ 'common.manage-tags' | translate }}</span>\r\n</ng-template>\r\n<p class=\"mt0 mb4\">{{ 'common.manage-tags-description' | translate }}</p>\r\n<ul class=\"tag-list\" *ngFor=\"let tag of allTags$ | async\">\r\n <li class=\"mb2 p1\" [class.to-delete]=\"markedAsDeleted(tag.id)\">\r\n <clr-icon shape=\"tag\" class=\"is-solid mr2\" [style.color]=\"tag.value | stringToColor\"></clr-icon>\r\n <input type=\"text\" (input)=\"updateTagValue(tag.id, $event.target.value)\" [value]=\"tag.value\" />\r\n <button class=\"icon-button\" (click)=\"toggleDelete(tag.id)\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\" [class.is-solid]=\"markedAsDeleted(tag.id)\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"resolveWith(false)\" class=\"btn btn-secondary\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"saveChanges()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"!toUpdate.length && !toDelete.length\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".tag-list{list-style-type:none}.tag-list li{display:flex;align-items:center}.tag-list li input{max-width:170px}.tag-list li.to-delete{opacity:.7;background-color:var(--color-component-bg-300)}.tag-list li.to-delete input{background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: StringToColorPipe, name: "stringToColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ManageTagsDialogComponent, decorators: [{
12664
12588
  type: Component,
12665
12589
  args: [{ selector: 'vdr-manage-tags-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\r\n <span>{{ 'common.manage-tags' | translate }}</span>\r\n</ng-template>\r\n<p class=\"mt0 mb4\">{{ 'common.manage-tags-description' | translate }}</p>\r\n<ul class=\"tag-list\" *ngFor=\"let tag of allTags$ | async\">\r\n <li class=\"mb2 p1\" [class.to-delete]=\"markedAsDeleted(tag.id)\">\r\n <clr-icon shape=\"tag\" class=\"is-solid mr2\" [style.color]=\"tag.value | stringToColor\"></clr-icon>\r\n <input type=\"text\" (input)=\"updateTagValue(tag.id, $event.target.value)\" [value]=\"tag.value\" />\r\n <button class=\"icon-button\" (click)=\"toggleDelete(tag.id)\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\" [class.is-solid]=\"markedAsDeleted(tag.id)\"></clr-icon>\r\n </button>\r\n </li>\r\n</ul>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"resolveWith(false)\" class=\"btn btn-secondary\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"saveChanges()\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"!toUpdate.length && !toDelete.length\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".tag-list{list-style-type:none}.tag-list li{display:flex;align-items:center}.tag-list li input{max-width:170px}.tag-list li.to-delete{opacity:.7;background-color:var(--color-component-bg-300)}.tag-list li.to-delete input{background-color:transparent!important}\n"] }]
12666
12590
  }], ctorParameters: function () { return [{ type: DataService }]; } });
@@ -12700,9 +12624,9 @@ class FocalPointControlComponent {
12700
12624
  };
12701
12625
  }
12702
12626
  }
12703
- FocalPointControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FocalPointControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12704
- FocalPointControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FocalPointControlComponent, selector: "vdr-focal-point-control", inputs: { visible: "visible", editable: "editable", width: "width", height: "height", fpx: "fpx", fpy: "fpy" }, outputs: { focalPointChange: "focalPointChange" }, host: { properties: { "style.width.px": "this.width", "style.height.px": "this.height" } }, viewQueries: [{ propertyName: "frame", first: true, predicate: ["frame"], descendants: true, static: true }, { propertyName: "dot", first: true, predicate: ["dot"], descendants: true, static: true }], ngImport: i0, template: "<ng-content></ng-content>\r\n<div class=\"frame\" #frame [style.width.px]=\"width\" [style.height.px]=\"height\">\r\n <div\r\n #dot\r\n class=\"dot\"\r\n [class.visible]=\"visible\"\r\n [class.editable]=\"editable\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editable\"\r\n cdkDragBoundary=\".frame\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [cdkDragFreeDragPosition]=\"initialPosition\"\r\n ></div>\r\n</div>\r\n", styles: [":host{position:relative;display:block}.frame{position:absolute;top:0}.dot{width:20px;height:20px;border-radius:50%;border:2px solid white;position:absolute;visibility:hidden;transition:opacity .3s;box-shadow:0 0 4px 4px #0000006b}.dot.visible{visibility:visible;opacity:.7}.dot.editable{cursor:move;visibility:visible;opacity:1;animation:pulse;animation-duration:.5s;animation-iteration-count:4}@keyframes pulse{0%{border-color:#fff}50%{border-color:var(--color-warning-500)}to{border-color:#fff}}\n"], dependencies: [{ kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12705
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FocalPointControlComponent, decorators: [{
12627
+ FocalPointControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FocalPointControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12628
+ FocalPointControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FocalPointControlComponent, selector: "vdr-focal-point-control", inputs: { visible: "visible", editable: "editable", width: "width", height: "height", fpx: "fpx", fpy: "fpy" }, outputs: { focalPointChange: "focalPointChange" }, host: { properties: { "style.width.px": "this.width", "style.height.px": "this.height" } }, viewQueries: [{ propertyName: "frame", first: true, predicate: ["frame"], descendants: true, static: true }, { propertyName: "dot", first: true, predicate: ["dot"], descendants: true, static: true }], ngImport: i0, template: "<ng-content></ng-content>\r\n<div class=\"frame\" #frame [style.width.px]=\"width\" [style.height.px]=\"height\">\r\n <div\r\n #dot\r\n class=\"dot\"\r\n [class.visible]=\"visible\"\r\n [class.editable]=\"editable\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editable\"\r\n cdkDragBoundary=\".frame\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [cdkDragFreeDragPosition]=\"initialPosition\"\r\n ></div>\r\n</div>\r\n", styles: [":host{position:relative;display:block}.frame{position:absolute;top:0}.dot{width:20px;height:20px;border-radius:50%;border:2px solid white;position:absolute;visibility:hidden;transition:opacity .3s;box-shadow:0 0 4px 4px #0000006b}.dot.visible{visibility:visible;opacity:.7}.dot.editable{cursor:move;visibility:visible;opacity:1;animation:pulse;animation-duration:.5s;animation-iteration-count:4}@keyframes pulse{0%{border-color:#fff}50%{border-color:var(--color-warning-500)}to{border-color:#fff}}\n"], dependencies: [{ kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FocalPointControlComponent, decorators: [{
12706
12630
  type: Component,
12707
12631
  args: [{ selector: 'vdr-focal-point-control', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n<div class=\"frame\" #frame [style.width.px]=\"width\" [style.height.px]=\"height\">\r\n <div\r\n #dot\r\n class=\"dot\"\r\n [class.visible]=\"visible\"\r\n [class.editable]=\"editable\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editable\"\r\n cdkDragBoundary=\".frame\"\r\n (cdkDragEnded)=\"onDragEnded($event)\"\r\n [cdkDragFreeDragPosition]=\"initialPosition\"\r\n ></div>\r\n</div>\r\n", styles: [":host{position:relative;display:block}.frame{position:absolute;top:0}.dot{width:20px;height:20px;border-radius:50%;border:2px solid white;position:absolute;visibility:hidden;transition:opacity .3s;box-shadow:0 0 4px 4px #0000006b}.dot.visible{visibility:visible;opacity:.7}.dot.editable{cursor:move;visibility:visible;opacity:1;animation:pulse;animation-duration:.5s;animation-iteration-count:4}@keyframes pulse{0%{border-color:#fff}50%{border-color:var(--color-warning-500)}to{border-color:#fff}}\n"] }]
12708
12632
  }], propDecorators: { visible: [{
@@ -12763,15 +12687,15 @@ class TagSelectorComponent {
12763
12687
  this.onChange(event);
12764
12688
  }
12765
12689
  }
12766
- TagSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TagSelectorComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12767
- TagSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TagSelectorComponent, selector: "vdr-tag-selector", inputs: { placeholder: "placeholder" }, providers: [
12690
+ TagSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TagSelectorComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
12691
+ TagSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TagSelectorComponent, selector: "vdr-tag-selector", inputs: { placeholder: "placeholder" }, providers: [
12768
12692
  {
12769
12693
  provide: NG_VALUE_ACCESSOR,
12770
12694
  useExisting: TagSelectorComponent,
12771
12695
  multi: true,
12772
12696
  },
12773
12697
  ], ngImport: i0, template: "<ng-select\r\n [addTag]=\"addTagFn\"\r\n [multiple]=\"true\"\r\n [ngModel]=\"_value\"\r\n [clearable]=\"true\"\r\n [searchable]=\"true\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"valueChanged($event)\"\r\n>\r\n <ng-template ng-label-tmp let-tag=\"item\" let-clear=\"clear\">\r\n <vdr-chip [colorFrom]=\"tag\" icon=\"close\" (iconClick)=\"clear(tag)\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag }}</vdr-chip>\r\n </ng-template>\r\n <ng-option *ngFor=\"let tag of allTags$ | async\" [value]=\"tag\">\r\n <vdr-chip [colorFrom]=\"tag\"><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag }}</vdr-chip>\r\n </ng-option>\r\n</ng-select>\r\n", styles: [":host{display:block;margin-top:12px;position:relative}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:none;margin:0}:host ::ng-deep .ng-dropdown-panel-items div.ng-option:last-child{display:none}:host ::ng-deep .ng-dropdown-panel .ng-dropdown-header{border:none;padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding:0}:host ::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-left:8px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i3$1.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TagSelectorComponent, decorators: [{
12698
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TagSelectorComponent, decorators: [{
12775
12699
  type: Component,
12776
12700
  args: [{ selector: 'vdr-tag-selector', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
12777
12701
  {
@@ -12827,9 +12751,9 @@ class FormFieldComponent {
12827
12751
  }
12828
12752
  }
12829
12753
  }
12830
- FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12831
- FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FormFieldComponent, selector: "vdr-form-field", inputs: { label: "label", for: "for", tooltip: "tooltip", errors: "errors", readOnlyToggle: "readOnlyToggle" }, queries: [{ propertyName: "formFieldControl", first: true, predicate: FormFieldControlDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"clr-control-label\">\r\n {{ label }}\r\n <vdr-help-tooltip *ngIf=\"tooltip\" [content]=\"tooltip\"></vdr-help-tooltip>\r\n </label>\r\n <label\r\n [for]=\"for\"\r\n aria-haspopup=\"true\"\r\n role=\"tooltip\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n class=\"tooltip tooltip-validation tooltip-sm tooltip-top-left\"\r\n >\r\n <div class=\"input-row\" [class.has-toggle]=\"readOnlyToggle\">\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [disabled]=\"!isReadOnly\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn btn-icon edit-button\"\r\n (click)=\"setReadOnly(false)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"clr-subtext\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n <span class=\"tooltip-content\">{{ label }} is required.</span>\r\n </label>\r\n</div>\r\n", styles: [":host{display:block}:host .form-group>label:first-child{top:6px}:host .form-group>label:nth-of-type(2){flex:1;max-width:20rem}:host .form-group>label:nth-of-type(2) ::ng-deep>*:not(.tooltip-content){width:100%}:host .form-group .tooltip-validation{height:initial}:host .form-group.no-label{margin:-6px 0 0;padding:0;justify-content:center}:host .form-group.no-label>label{position:relative;justify-content:center}:host .form-group.no-label .input-row{justify-content:center}:host .input-row{display:flex}:host .input-row ::ng-deep input{flex:1}:host .input-row ::ng-deep input[disabled]{background-color:var(--color-component-bg-200)}:host .input-row button.edit-button{margin:0;border-radius:0 3px 3px 0}:host .input-row.has-toggle ::ng-deep input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none}:host .input-row ::ng-deep clr-toggle-wrapper{margin-top:8px}.tooltip.tooltip-validation.invalid:before{position:absolute;content:\"\";height:.666667rem;width:.666667rem;top:.125rem;right:.25rem;background-image:url(data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%225%205%2026%2026%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cstyle%3E.clr-i-outline%7Bfill%3A%23a32100%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctitle%3Eexclamation-circle-line%3C%2Ftitle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22clr-i-outline%20clr-i-outline-path-1%22%20d%3D%22M18%2C6A12%2C12%2C0%2C1%2C0%2C30%2C18%2C12%2C12%2C0%2C0%2C0%2C18%2C6Zm0%2C22A10%2C10%2C0%2C1%2C1%2C28%2C18%2C10%2C10%2C0%2C0%2C1%2C18%2C28Z%22%3E%3C%2Fpath%3E%3Cpath%20class%3D%22clr-i-outline%20clr-i-outline-path-2%22%20d%3D%22M18%2C20.07a1.3%2C1.3%2C0%2C0%2C1-1.3-1.3v-6a1.3%2C1.3%2C0%2C1%2C1%2C2.6%2C0v6A1.3%2C1.3%2C0%2C0%2C1%2C18%2C20.07Z%22%3E%3C%2Fpath%3E%3Ccircle%20class%3D%22clr-i-outline%20clr-i-outline-path-3%22%20cx%3D%2217.95%22%20cy%3D%2223.02%22%20r%3D%221.5%22%3E%3C%2Fcircle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E);background-repeat:no-repeat;background-size:contain;vertical-align:middle;margin:0}.tooltip.tooltip-sm>.tooltip-content,.tooltip .tooltip-content.tooltip-sm{width:5rem}.tooltip:hover>.tooltip-content{right:12px;margin-bottom:0}.tooltip:not(.invalid):hover>.tooltip-content{display:none}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: ["content", "position"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
12832
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormFieldComponent, decorators: [{
12754
+ FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12755
+ FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FormFieldComponent, selector: "vdr-form-field", inputs: { label: "label", for: "for", tooltip: "tooltip", errors: "errors", readOnlyToggle: "readOnlyToggle" }, queries: [{ propertyName: "formFieldControl", first: true, predicate: FormFieldControlDirective, descendants: true, static: true }], ngImport: i0, template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"clr-control-label\">\r\n {{ label }}\r\n <vdr-help-tooltip *ngIf=\"tooltip\" [content]=\"tooltip\"></vdr-help-tooltip>\r\n </label>\r\n <label\r\n [for]=\"for\"\r\n aria-haspopup=\"true\"\r\n role=\"tooltip\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n class=\"tooltip tooltip-validation tooltip-sm tooltip-top-left\"\r\n >\r\n <div class=\"input-row\" [class.has-toggle]=\"readOnlyToggle\">\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [disabled]=\"!isReadOnly\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn btn-icon edit-button\"\r\n (click)=\"setReadOnly(false)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"clr-subtext\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n <span class=\"tooltip-content\">{{ label }} is required.</span>\r\n </label>\r\n</div>\r\n", styles: [":host{display:block}:host .form-group>label:first-child{top:6px}:host .form-group>label:nth-of-type(2){flex:1;max-width:20rem}:host .form-group>label:nth-of-type(2) ::ng-deep>*:not(.tooltip-content){width:100%}:host .form-group .tooltip-validation{height:initial}:host .form-group.no-label{margin:-6px 0 0;padding:0;justify-content:center}:host .form-group.no-label>label{position:relative;justify-content:center}:host .form-group.no-label .input-row{justify-content:center}:host .input-row{display:flex}:host .input-row ::ng-deep input{flex:1}:host .input-row ::ng-deep input[disabled]{background-color:var(--color-component-bg-200)}:host .input-row button.edit-button{margin:0;border-radius:0 3px 3px 0}:host .input-row.has-toggle ::ng-deep input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none}:host .input-row ::ng-deep clr-toggle-wrapper{margin-top:8px}.tooltip.tooltip-validation.invalid:before{position:absolute;content:\"\";height:.666667rem;width:.666667rem;top:.125rem;right:.25rem;background-image:url(data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%225%205%2026%2026%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cstyle%3E.clr-i-outline%7Bfill%3A%23a32100%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctitle%3Eexclamation-circle-line%3C%2Ftitle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22clr-i-outline%20clr-i-outline-path-1%22%20d%3D%22M18%2C6A12%2C12%2C0%2C1%2C0%2C30%2C18%2C12%2C12%2C0%2C0%2C0%2C18%2C6Zm0%2C22A10%2C10%2C0%2C1%2C1%2C28%2C18%2C10%2C10%2C0%2C0%2C1%2C18%2C28Z%22%3E%3C%2Fpath%3E%3Cpath%20class%3D%22clr-i-outline%20clr-i-outline-path-2%22%20d%3D%22M18%2C20.07a1.3%2C1.3%2C0%2C0%2C1-1.3-1.3v-6a1.3%2C1.3%2C0%2C1%2C1%2C2.6%2C0v6A1.3%2C1.3%2C0%2C0%2C1%2C18%2C20.07Z%22%3E%3C%2Fpath%3E%3Ccircle%20class%3D%22clr-i-outline%20clr-i-outline-path-3%22%20cx%3D%2217.95%22%20cy%3D%2223.02%22%20r%3D%221.5%22%3E%3C%2Fcircle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E);background-repeat:no-repeat;background-size:contain;vertical-align:middle;margin:0}.tooltip.tooltip-sm>.tooltip-content,.tooltip .tooltip-content.tooltip-sm{width:5rem}.tooltip:hover>.tooltip-content{right:12px;margin-bottom:0}.tooltip:not(.invalid):hover>.tooltip-content{display:none}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: ["content", "position"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
12756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormFieldComponent, decorators: [{
12833
12757
  type: Component,
12834
12758
  args: [{ selector: 'vdr-form-field', template: "<div\r\n class=\"form-group\"\r\n [class.no-label]=\"!label\"\r\n [class.clr-error]=\"formFieldControl?.formControlName?.invalid\"\r\n>\r\n <label *ngIf=\"label\" [for]=\"for\" class=\"clr-control-label\">\r\n {{ label }}\r\n <vdr-help-tooltip *ngIf=\"tooltip\" [content]=\"tooltip\"></vdr-help-tooltip>\r\n </label>\r\n <label\r\n [for]=\"for\"\r\n aria-haspopup=\"true\"\r\n role=\"tooltip\"\r\n [class.invalid]=\"formFieldControl?.touched && !formFieldControl?.valid\"\r\n class=\"tooltip tooltip-validation tooltip-sm tooltip-top-left\"\r\n >\r\n <div class=\"input-row\" [class.has-toggle]=\"readOnlyToggle\">\r\n <ng-content></ng-content>\r\n <button\r\n *ngIf=\"readOnlyToggle\"\r\n type=\"button\"\r\n [disabled]=\"!isReadOnly\"\r\n [title]=\"'common.edit-field' | translate\"\r\n class=\"btn btn-icon edit-button\"\r\n (click)=\"setReadOnly(false)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"clr-subtext\" *ngIf=\"getErrorMessage()\">{{ getErrorMessage() }}</div>\r\n <span class=\"tooltip-content\">{{ label }} is required.</span>\r\n </label>\r\n</div>\r\n", styles: [":host{display:block}:host .form-group>label:first-child{top:6px}:host .form-group>label:nth-of-type(2){flex:1;max-width:20rem}:host .form-group>label:nth-of-type(2) ::ng-deep>*:not(.tooltip-content){width:100%}:host .form-group .tooltip-validation{height:initial}:host .form-group.no-label{margin:-6px 0 0;padding:0;justify-content:center}:host .form-group.no-label>label{position:relative;justify-content:center}:host .form-group.no-label .input-row{justify-content:center}:host .input-row{display:flex}:host .input-row ::ng-deep input{flex:1}:host .input-row ::ng-deep input[disabled]{background-color:var(--color-component-bg-200)}:host .input-row button.edit-button{margin:0;border-radius:0 3px 3px 0}:host .input-row.has-toggle ::ng-deep input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none}:host .input-row ::ng-deep clr-toggle-wrapper{margin-top:8px}.tooltip.tooltip-validation.invalid:before{position:absolute;content:\"\";height:.666667rem;width:.666667rem;top:.125rem;right:.25rem;background-image:url(data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20viewBox%3D%225%205%2026%2026%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cstyle%3E.clr-i-outline%7Bfill%3A%23a32100%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctitle%3Eexclamation-circle-line%3C%2Ftitle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22clr-i-outline%20clr-i-outline-path-1%22%20d%3D%22M18%2C6A12%2C12%2C0%2C1%2C0%2C30%2C18%2C12%2C12%2C0%2C0%2C0%2C18%2C6Zm0%2C22A10%2C10%2C0%2C1%2C1%2C28%2C18%2C10%2C10%2C0%2C0%2C1%2C18%2C28Z%22%3E%3C%2Fpath%3E%3Cpath%20class%3D%22clr-i-outline%20clr-i-outline-path-2%22%20d%3D%22M18%2C20.07a1.3%2C1.3%2C0%2C0%2C1-1.3-1.3v-6a1.3%2C1.3%2C0%2C1%2C1%2C2.6%2C0v6A1.3%2C1.3%2C0%2C0%2C1%2C18%2C20.07Z%22%3E%3C%2Fpath%3E%3Ccircle%20class%3D%22clr-i-outline%20clr-i-outline-path-3%22%20cx%3D%2217.95%22%20cy%3D%2223.02%22%20r%3D%221.5%22%3E%3C%2Fcircle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E);background-repeat:no-repeat;background-size:contain;vertical-align:middle;margin:0}.tooltip.tooltip-sm>.tooltip-content,.tooltip .tooltip-content.tooltip-sm{width:5rem}.tooltip:hover>.tooltip-content{right:12px;margin-bottom:0}.tooltip:not(.invalid):hover>.tooltip-content{display:none}\n"] }]
12835
12759
  }], propDecorators: { label: [{
@@ -12870,9 +12794,9 @@ class CustomFieldLabelPipe {
12870
12794
  return input.hasOwnProperty('name');
12871
12795
  }
12872
12796
  }
12873
- CustomFieldLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12874
- CustomFieldLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldLabelPipe, name: "customFieldLabel" });
12875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldLabelPipe, decorators: [{
12797
+ CustomFieldLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12798
+ CustomFieldLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldLabelPipe, name: "customFieldLabel" });
12799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldLabelPipe, decorators: [{
12876
12800
  type: Pipe,
12877
12801
  args: [{
12878
12802
  name: 'customFieldLabel',
@@ -12898,9 +12822,9 @@ class CustomFieldDescriptionPipe {
12898
12822
  }
12899
12823
  }
12900
12824
  }
12901
- CustomFieldDescriptionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldDescriptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12902
- CustomFieldDescriptionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldDescriptionPipe, name: "customFieldDescription" });
12903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldDescriptionPipe, decorators: [{
12825
+ CustomFieldDescriptionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldDescriptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12826
+ CustomFieldDescriptionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldDescriptionPipe, name: "customFieldDescription" });
12827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldDescriptionPipe, decorators: [{
12904
12828
  type: Pipe,
12905
12829
  args: [{
12906
12830
  name: 'customFieldDescription',
@@ -12963,9 +12887,9 @@ class CustomFieldControlComponent {
12963
12887
  }
12964
12888
  }
12965
12889
  }
12966
- CustomFieldControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldControlComponent, deps: [{ token: DataService }, { token: CustomFieldComponentService }], target: i0.ɵɵFactoryTarget.Component });
12967
- CustomFieldControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CustomFieldControlComponent, selector: "vdr-custom-field-control", inputs: { entityName: "entityName", formGroup: ["customFieldsFormGroup", "formGroup"], customField: "customField", compact: "compact", showLabel: "showLabel", readonly: "readonly" }, viewQueries: [{ propertyName: "customComponentPlaceholder", first: true, predicate: ["customComponentPlaceholder"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"clr-form-control\" *ngIf=\"compact\">\r\n <div class=\"flex\">\r\n <label for=\"basic\" class=\"clr-control-label\"\r\n >{{ customField | customFieldLabel: (uiLanguage$ | async) }}\r\n <vdr-help-tooltip\r\n *ngIf=\"customField | customFieldDescription: (uiLanguage$ | async) as description\"\r\n [content]=\"description\"\r\n ></vdr-help-tooltip>\r\n </label>\r\n </div>\r\n <div class=\"clr-control-container\">\r\n <div class=\"clr-input-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"inputs\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<vdr-form-field\r\n [label]=\"customField | customFieldLabel: (uiLanguage$ | async)\"\r\n [tooltip]=\"customField | customFieldDescription: (uiLanguage$ | async)\"\r\n [for]=\"customField.name\"\r\n *ngIf=\"!compact\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"inputs\"></ng-container>\r\n</vdr-form-field>\r\n\r\n<ng-template #inputs>\r\n <ng-container [formGroup]=\"formGroup\">\r\n <vdr-dynamic-form-input\r\n [formControlName]=\"customField.name\"\r\n [readonly]=\"readonly || customField.readonly\"\r\n [control]=\"formGroup.get(customField.name)\"\r\n [def]=\"getFieldDefinition()\"\r\n >\r\n </vdr-dynamic-form-input>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%}:host .toggle-switch{margin-top:0;margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { kind: "component", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: ["content", "position"] }, { kind: "component", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: ["def", "readonly", "control"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: CustomFieldLabelPipe, name: "customFieldLabel" }, { kind: "pipe", type: CustomFieldDescriptionPipe, name: "customFieldDescription" }] });
12968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomFieldControlComponent, decorators: [{
12890
+ CustomFieldControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldControlComponent, deps: [{ token: DataService }, { token: CustomFieldComponentService }], target: i0.ɵɵFactoryTarget.Component });
12891
+ CustomFieldControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CustomFieldControlComponent, selector: "vdr-custom-field-control", inputs: { entityName: "entityName", formGroup: ["customFieldsFormGroup", "formGroup"], customField: "customField", compact: "compact", showLabel: "showLabel", readonly: "readonly" }, viewQueries: [{ propertyName: "customComponentPlaceholder", first: true, predicate: ["customComponentPlaceholder"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"clr-form-control\" *ngIf=\"compact\">\r\n <div class=\"flex\">\r\n <label for=\"basic\" class=\"clr-control-label\"\r\n >{{ customField | customFieldLabel: (uiLanguage$ | async) }}\r\n <vdr-help-tooltip\r\n *ngIf=\"customField | customFieldDescription: (uiLanguage$ | async) as description\"\r\n [content]=\"description\"\r\n ></vdr-help-tooltip>\r\n </label>\r\n </div>\r\n <div class=\"clr-control-container\">\r\n <div class=\"clr-input-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"inputs\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<vdr-form-field\r\n [label]=\"customField | customFieldLabel: (uiLanguage$ | async)\"\r\n [tooltip]=\"customField | customFieldDescription: (uiLanguage$ | async)\"\r\n [for]=\"customField.name\"\r\n *ngIf=\"!compact\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"inputs\"></ng-container>\r\n</vdr-form-field>\r\n\r\n<ng-template #inputs>\r\n <ng-container [formGroup]=\"formGroup\">\r\n <vdr-dynamic-form-input\r\n [formControlName]=\"customField.name\"\r\n [readonly]=\"readonly || customField.readonly\"\r\n [control]=\"formGroup.get(customField.name)\"\r\n [def]=\"getFieldDefinition()\"\r\n >\r\n </vdr-dynamic-form-input>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%}:host .toggle-switch{margin-top:0;margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { kind: "component", type: HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: ["content", "position"] }, { kind: "component", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: ["def", "readonly", "control"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: CustomFieldLabelPipe, name: "customFieldLabel" }, { kind: "pipe", type: CustomFieldDescriptionPipe, name: "customFieldDescription" }] });
12892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomFieldControlComponent, decorators: [{
12969
12893
  type: Component,
12970
12894
  args: [{ selector: 'vdr-custom-field-control', template: "<div class=\"clr-form-control\" *ngIf=\"compact\">\r\n <div class=\"flex\">\r\n <label for=\"basic\" class=\"clr-control-label\"\r\n >{{ customField | customFieldLabel: (uiLanguage$ | async) }}\r\n <vdr-help-tooltip\r\n *ngIf=\"customField | customFieldDescription: (uiLanguage$ | async) as description\"\r\n [content]=\"description\"\r\n ></vdr-help-tooltip>\r\n </label>\r\n </div>\r\n <div class=\"clr-control-container\">\r\n <div class=\"clr-input-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"inputs\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<vdr-form-field\r\n [label]=\"customField | customFieldLabel: (uiLanguage$ | async)\"\r\n [tooltip]=\"customField | customFieldDescription: (uiLanguage$ | async)\"\r\n [for]=\"customField.name\"\r\n *ngIf=\"!compact\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"inputs\"></ng-container>\r\n</vdr-form-field>\r\n\r\n<ng-template #inputs>\r\n <ng-container [formGroup]=\"formGroup\">\r\n <vdr-dynamic-form-input\r\n [formControlName]=\"customField.name\"\r\n [readonly]=\"readonly || customField.readonly\"\r\n [control]=\"formGroup.get(customField.name)\"\r\n [def]=\"getFieldDefinition()\"\r\n >\r\n </vdr-dynamic-form-input>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [":host{display:block;width:100%}:host .toggle-switch{margin-top:0;margin-bottom:0}\n"] }]
12971
12895
  }], ctorParameters: function () { return [{ type: DataService }, { type: CustomFieldComponentService }]; }, propDecorators: { entityName: [{
@@ -13015,9 +12939,9 @@ class TabbedCustomFieldsComponent {
13015
12939
  .map(([tabName, customFields]) => ({ tabName, customFields }));
13016
12940
  }
13017
12941
  }
13018
- TabbedCustomFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TabbedCustomFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13019
- TabbedCustomFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: { entityName: "entityName", customFields: "customFields", customFieldsFormGroup: "customFieldsFormGroup", readonly: "readonly", compact: "compact", showLabel: "showLabel" }, ngImport: i0, template: "<ng-container *ngIf=\"1 < tabbedCustomFields.length; else singleGroup\">\r\n <clr-tabs>\r\n <clr-tab *ngFor=\"let group of tabbedCustomFields\">\r\n <button clrTabLink>\r\n {{\r\n group.tabName === defaultTabName\r\n ? ('common.general' | translate)\r\n : (group.tabName | translate)\r\n }}\r\n </button>\r\n <clr-tab-content *clrIfActive>\r\n <div class=\"mt4\">\r\n <ng-container *ngFor=\"let customField of group.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </clr-tab-content>\r\n </clr-tab>\r\n </clr-tabs>\r\n</ng-container>\r\n<ng-template #singleGroup>\r\n <ng-container *ngFor=\"let customField of tabbedCustomFields[0]?.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrIfActive, selector: "[clrIfActive]", inputs: ["clrIfActive"], outputs: ["clrIfActiveChange"] }, { kind: "component", type: i1$4.ClrTabContent, selector: "clr-tab-content", inputs: ["id"] }, { kind: "component", type: i1$4.ClrTab, selector: "clr-tab" }, { kind: "component", type: i1$4.ClrTabs, selector: "clr-tabs", inputs: ["clrLayout"] }, { kind: "directive", type: i1$4.ClrTabLink, selector: "[clrTabLink]", inputs: ["clrTabLinkInOverflow", "id"] }, { kind: "directive", type: i1$4.ÇlrTabsWillyWonka, selector: "clr-tabs" }, { kind: "directive", type: i1$4.ÇlrActiveOompaLoompa, selector: "[clrTabLink], clr-tab-content" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomFieldControlComponent, selector: "vdr-custom-field-control", inputs: ["entityName", "customFieldsFormGroup", "customField", "compact", "showLabel", "readonly"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13020
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TabbedCustomFieldsComponent, decorators: [{
12942
+ TabbedCustomFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TabbedCustomFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12943
+ TabbedCustomFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: { entityName: "entityName", customFields: "customFields", customFieldsFormGroup: "customFieldsFormGroup", readonly: "readonly", compact: "compact", showLabel: "showLabel" }, ngImport: i0, template: "<ng-container *ngIf=\"1 < tabbedCustomFields.length; else singleGroup\">\r\n <clr-tabs>\r\n <clr-tab *ngFor=\"let group of tabbedCustomFields\">\r\n <button clrTabLink>\r\n {{\r\n group.tabName === defaultTabName\r\n ? ('common.general' | translate)\r\n : (group.tabName | translate)\r\n }}\r\n </button>\r\n <clr-tab-content *clrIfActive>\r\n <div class=\"mt4\">\r\n <ng-container *ngFor=\"let customField of group.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </clr-tab-content>\r\n </clr-tab>\r\n </clr-tabs>\r\n</ng-container>\r\n<ng-template #singleGroup>\r\n <ng-container *ngFor=\"let customField of tabbedCustomFields[0]?.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrIfActive, selector: "[clrIfActive]", inputs: ["clrIfActive"], outputs: ["clrIfActiveChange"] }, { kind: "component", type: i1$4.ClrTabContent, selector: "clr-tab-content", inputs: ["id"] }, { kind: "component", type: i1$4.ClrTab, selector: "clr-tab" }, { kind: "component", type: i1$4.ClrTabs, selector: "clr-tabs", inputs: ["clrLayout"] }, { kind: "directive", type: i1$4.ClrTabLink, selector: "[clrTabLink]", inputs: ["clrTabLinkInOverflow", "id"] }, { kind: "directive", type: i1$4.ÇlrTabsWillyWonka, selector: "clr-tabs" }, { kind: "directive", type: i1$4.ÇlrActiveOompaLoompa, selector: "[clrTabLink], clr-tab-content" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CustomFieldControlComponent, selector: "vdr-custom-field-control", inputs: ["entityName", "customFieldsFormGroup", "customField", "compact", "showLabel", "readonly"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TabbedCustomFieldsComponent, decorators: [{
13021
12945
  type: Component,
13022
12946
  args: [{ selector: 'vdr-tabbed-custom-fields', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"1 < tabbedCustomFields.length; else singleGroup\">\r\n <clr-tabs>\r\n <clr-tab *ngFor=\"let group of tabbedCustomFields\">\r\n <button clrTabLink>\r\n {{\r\n group.tabName === defaultTabName\r\n ? ('common.general' | translate)\r\n : (group.tabName | translate)\r\n }}\r\n </button>\r\n <clr-tab-content *clrIfActive>\r\n <div class=\"mt4\">\r\n <ng-container *ngFor=\"let customField of group.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </div>\r\n </clr-tab-content>\r\n </clr-tab>\r\n </clr-tabs>\r\n</ng-container>\r\n<ng-template #singleGroup>\r\n <ng-container *ngFor=\"let customField of tabbedCustomFields[0]?.customFields\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldIsSet(customField.name)\"\r\n [entityName]=\"entityName\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n [customField]=\"customField\"\r\n [readonly]=\"readonly\"\r\n [compact]=\"compact\"\r\n [showLabel]=\"showLabel\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n</ng-template>\r\n" }]
13023
12947
  }], propDecorators: { entityName: [{
@@ -13039,9 +12963,9 @@ class AssetPreviewLinksComponent {
13039
12963
  this.sizes = ['tiny', 'thumb', 'small', 'medium', 'large', 'full'];
13040
12964
  }
13041
12965
  }
13042
- AssetPreviewLinksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13043
- AssetPreviewLinksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: { asset: "asset" }, ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link\" vdrDropdownTrigger>\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'catalog.asset-preview-links' | translate }}<clr-icon shape=\"caret\" dir=\"down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <a\r\n *ngFor=\"let size of sizes\"\r\n [href]=\"asset | assetPreview: size\"\r\n [title]=\"asset | assetPreview: size\"\r\n target=\"_blank\"\r\n class=\"asset-preview-link\"\r\n vdrDropdownItem\r\n >\r\n <vdr-chip><clr-icon shape=\"link\"></clr-icon> {{ 'asset.preview' | translate }}: {{ size }}</vdr-chip>\r\n </a>\r\n </vdr-dropdown-menu></vdr-dropdown\r\n>\r\n", styles: [".asset-preview-link{font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewLinksComponent, decorators: [{
12966
+ AssetPreviewLinksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12967
+ AssetPreviewLinksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: { asset: "asset" }, ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link\" vdrDropdownTrigger>\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'catalog.asset-preview-links' | translate }}<clr-icon shape=\"caret\" dir=\"down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <a\r\n *ngFor=\"let size of sizes\"\r\n [href]=\"asset | assetPreview: size\"\r\n [title]=\"asset | assetPreview: size\"\r\n target=\"_blank\"\r\n class=\"asset-preview-link\"\r\n vdrDropdownItem\r\n >\r\n <vdr-chip><clr-icon shape=\"link\"></clr-icon> {{ 'asset.preview' | translate }}: {{ size }}</vdr-chip>\r\n </a>\r\n </vdr-dropdown-menu></vdr-dropdown\r\n>\r\n", styles: [".asset-preview-link{font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewLinksComponent, decorators: [{
13045
12969
  type: Component,
13046
12970
  args: [{ selector: 'vdr-asset-preview-links', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link\" vdrDropdownTrigger>\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'catalog.asset-preview-links' | translate }}<clr-icon shape=\"caret\" dir=\"down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <a\r\n *ngFor=\"let size of sizes\"\r\n [href]=\"asset | assetPreview: size\"\r\n [title]=\"asset | assetPreview: size\"\r\n target=\"_blank\"\r\n class=\"asset-preview-link\"\r\n vdrDropdownItem\r\n >\r\n <vdr-chip><clr-icon shape=\"link\"></clr-icon> {{ 'asset.preview' | translate }}: {{ size }}</vdr-chip>\r\n </a>\r\n </vdr-dropdown-menu></vdr-dropdown\r\n>\r\n", styles: [".asset-preview-link{font-size:12px}\n"] }]
13047
12971
  }], propDecorators: { asset: [{
@@ -13067,9 +12991,9 @@ class FileSizePipe {
13067
12991
  return humanFileSize(value, useSiUnits === true);
13068
12992
  }
13069
12993
  }
13070
- FileSizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13071
- FileSizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: FileSizePipe, name: "filesize" });
13072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FileSizePipe, decorators: [{
12994
+ FileSizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12995
+ FileSizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: FileSizePipe, name: "filesize" });
12996
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FileSizePipe, decorators: [{
13073
12997
  type: Pipe,
13074
12998
  args: [{ name: 'filesize' }]
13075
12999
  }] });
@@ -13145,9 +13069,9 @@ class HasPermissionPipe {
13145
13069
  }
13146
13070
  }
13147
13071
  }
13148
- HasPermissionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HasPermissionPipe, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
13149
- HasPermissionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: HasPermissionPipe, name: "hasPermission", pure: false });
13150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HasPermissionPipe, decorators: [{
13072
+ HasPermissionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HasPermissionPipe, deps: [{ token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
13073
+ HasPermissionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: HasPermissionPipe, name: "hasPermission", pure: false });
13074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HasPermissionPipe, decorators: [{
13151
13075
  type: Pipe,
13152
13076
  args: [{
13153
13077
  name: 'hasPermission',
@@ -13295,9 +13219,9 @@ class AssetPreviewComponent {
13295
13219
  });
13296
13220
  }
13297
13221
  }
13298
- AssetPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewComponent, deps: [{ token: i1$3.UntypedFormBuilder }, { token: DataService }, { token: NotificationService }, { token: i0.ChangeDetectorRef }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
13299
- AssetPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AssetPreviewComponent, selector: "vdr-asset-preview", inputs: { asset: "asset", 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: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n [ngClass]=\"size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <vdr-asset-preview-links class=\"mb4\" [asset]=\"asset\"></vdr-asset-preview-links>\r\n <div *ngIf=\"!editable\" class=\"edit-button-wrapper\">\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;height:100%}.preview-image{width:100%;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==);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-left: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-right:12px}.edit-button-wrapper{padding-top:6px;border-top:1px solid var(--color-component-border-100);text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "component", type: i1$4.ClrSelectContainer, selector: "clr-select-container" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "component", type: FocalPointControlComponent, selector: "vdr-focal-point-control", inputs: ["visible", "editable", "width", "height", "fpx", "fpy"], outputs: ["focalPointChange"] }, { kind: "component", type: TagSelectorComponent, selector: "vdr-tag-selector", inputs: ["placeholder"] }, { kind: "component", type: TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { kind: "component", type: AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: ["asset"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "filesize" }, { kind: "pipe", type: HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewComponent, decorators: [{
13222
+ AssetPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewComponent, deps: [{ token: i1$3.UntypedFormBuilder }, { token: DataService }, { token: NotificationService }, { token: i0.ChangeDetectorRef }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
13223
+ AssetPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AssetPreviewComponent, selector: "vdr-asset-preview", inputs: { asset: "asset", 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: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n [ngClass]=\"size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <vdr-asset-preview-links class=\"mb4\" [asset]=\"asset\"></vdr-asset-preview-links>\r\n <div *ngIf=\"!editable\" class=\"edit-button-wrapper\">\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;height:100%}.preview-image{width:100%;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==);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-left: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-right:12px}.edit-button-wrapper{padding-top:6px;border-top:1px solid var(--color-component-border-100);text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "component", type: i1$4.ClrSelectContainer, selector: "clr-select-container" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "component", type: FocalPointControlComponent, selector: "vdr-focal-point-control", inputs: ["visible", "editable", "width", "height", "fpx", "fpy"], outputs: ["focalPointChange"] }, { kind: "component", type: TagSelectorComponent, selector: "vdr-tag-selector", inputs: ["placeholder"] }, { kind: "component", type: TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { kind: "component", type: AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: ["asset"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "filesize" }, { kind: "pipe", type: HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewComponent, decorators: [{
13301
13225
  type: Component,
13302
13226
  args: [{ selector: 'vdr-asset-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"preview-image\" #previewDiv [class.centered]=\"centered\">\r\n <div class=\"image-wrapper\">\r\n <vdr-focal-point-control\r\n [width]=\"width\"\r\n [height]=\"height\"\r\n [fpx]=\"fpx\"\r\n [fpy]=\"fpy\"\r\n [editable]=\"settingFocalPoint\"\r\n (focalPointChange)=\"onFocalPointChange($event)\"\r\n >\r\n <img\r\n class=\"asset-image\"\r\n [src]=\"asset | assetPreview: size\"\r\n [ngClass]=\"size\"\r\n #imageElement\r\n (load)=\"onImageLoad()\"\r\n />\r\n </vdr-focal-point-control>\r\n <div class=\"focal-point-info\" *ngIf=\"settingFocalPoint\">\r\n <button class=\"icon-button\" (click)=\"setFocalPointCancel()\">\r\n <clr-icon shape=\"times\"></clr-icon>\r\n </button>\r\n <button class=\"btn btn-primary btn-sm\" (click)=\"setFocalPointEnd()\" [disabled]=\"!lastFocalPoint\">\r\n <clr-icon shape=\"crosshairs\"></clr-icon>\r\n {{ 'asset.set-focal-point' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"controls\" [class.fade]=\"settingFocalPoint\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container class=\"name-input\" *ngIf=\"editable\">\r\n <label>{{ 'common.name' | translate }}</label>\r\n <input\r\n clrInput\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission) || settingFocalPoint\"\r\n />\r\n </clr-input-container>\r\n\r\n <vdr-labeled-data [label]=\"'common.name' | translate\" *ngIf=\"!editable\">\r\n <span class=\"elide\">\r\n {{ asset.name }}\r\n </span>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.source-file' | translate\">\r\n <a [href]=\"asset.source\" [title]=\"asset.source\" target=\"_blank\" class=\"elide source-link\">{{\r\n getSourceFileName()\r\n }}</a>\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.original-asset-size' | translate\">\r\n {{ asset.fileSize | filesize }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.dimensions' | translate\">\r\n {{ asset.width }} x {{ asset.height }}\r\n </vdr-labeled-data>\r\n\r\n <vdr-labeled-data [label]=\"'asset.focal-point' | translate\">\r\n <span *ngIf=\"fpx\"\r\n ><clr-icon shape=\"crosshairs\"></clr-icon> x: {{ fpx | number: '1.2-2' }}, y:\r\n {{ fpy | number: '1.2-2' }}</span\r\n >\r\n <span *ngIf=\"!fpx\">{{ 'common.not-set' | translate }}</span>\r\n <br />\r\n <button\r\n class=\"btn btn-secondary-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n (click)=\"setFocalPointStart()\"\r\n >\r\n <ng-container *ngIf=\"!fpx\">{{ 'asset.set-focal-point' | translate }}</ng-container>\r\n <ng-container *ngIf=\"fpx\">{{ 'asset.update-focal-point' | translate }}</ng-container>\r\n </button>\r\n <button\r\n class=\"btn btn-warning-outline btn-sm\"\r\n [disabled]=\"settingFocalPoint\"\r\n *ngIf=\"!!fpx\"\r\n (click)=\"removeFocalPoint()\"\r\n >\r\n {{ 'asset.unset-focal-point' | translate }}\r\n </button>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.tags' | translate\">\r\n <ng-container *ngIf=\"editable\">\r\n <vdr-tag-selector formControlName=\"tags\"></vdr-tag-selector>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"manageTags()\">\r\n <clr-icon shape=\"tags\"></clr-icon>\r\n {{ 'common.manage-tags' | translate }}\r\n </button>\r\n </ng-container>\r\n <div *ngIf=\"!editable\">\r\n <vdr-chip *ngFor=\"let tag of asset.tags\" [colorFrom]=\"tag.value\">\r\n <clr-icon shape=\"tag\" class=\"mr2\"></clr-icon>\r\n {{ tag.value }}</vdr-chip\r\n >\r\n </div>\r\n </vdr-labeled-data>\r\n </form>\r\n <section *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Asset\"\r\n [compact]=\"true\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsForm\"\r\n [readonly]=\"!(['UpdateCatalog', 'UpdateAsset'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"preview-select\">\r\n <clr-select-container>\r\n <label>{{ 'asset.preview' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"size\" [disabled]=\"settingFocalPoint\">\r\n <option value=\"tiny\">tiny</option>\r\n <option value=\"thumb\">thumb</option>\r\n <option value=\"small\">small</option>\r\n <option value=\"medium\">medium</option>\r\n <option value=\"large\">large</option>\r\n <option value=\"\">full size</option>\r\n </select>\r\n </clr-select-container>\r\n <div class=\"asset-detail\">{{ width }} x {{ height }}</div>\r\n </div>\r\n <vdr-asset-preview-links class=\"mb4\" [asset]=\"asset\"></vdr-asset-preview-links>\r\n <div *ngIf=\"!editable\" class=\"edit-button-wrapper\">\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['/catalog', 'assets', asset.id]\"\r\n (click)=\"editClick.emit()\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;height:100%}.preview-image{width:100%;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==);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-left: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-right:12px}.edit-button-wrapper{padding-top:6px;border-top:1px solid var(--color-component-border-100);text-align:center}\n"] }]
13303
13227
  }], ctorParameters: function () { return [{ type: i1$3.UntypedFormBuilder }, { type: DataService }, { type: NotificationService }, { type: i0.ChangeDetectorRef }, { type: ModalService }]; }, propDecorators: { asset: [{
@@ -13339,9 +13263,9 @@ class AssetPreviewDialogComponent {
13339
13263
  return asset.hasOwnProperty('tags');
13340
13264
  }
13341
13265
  }
13342
- AssetPreviewDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewDialogComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13343
- AssetPreviewDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AssetPreviewDialogComponent, selector: "vdr-asset-preview-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n {{ asset.name }}\r\n </div>\r\n</ng-template>\r\n\r\n<vdr-asset-preview\r\n *ngIf=\"assetWithTags$ | async as assetWithTags\"\r\n [asset]=\"assetWithTags\"\r\n (assetChange)=\"assetChanges = $event\"\r\n (editClick)=\"resolveWith()\"\r\n></vdr-asset-preview>\r\n", styles: [":host{height:70vh}.update-button.hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AssetPreviewComponent, selector: "vdr-asset-preview", inputs: ["asset", "editable", "customFields", "customFieldsForm"], outputs: ["assetChange", "editClick"] }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPreviewDialogComponent, decorators: [{
13266
+ AssetPreviewDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewDialogComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13267
+ AssetPreviewDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AssetPreviewDialogComponent, selector: "vdr-asset-preview-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n {{ asset.name }}\r\n </div>\r\n</ng-template>\r\n\r\n<vdr-asset-preview\r\n *ngIf=\"assetWithTags$ | async as assetWithTags\"\r\n [asset]=\"assetWithTags\"\r\n (assetChange)=\"assetChanges = $event\"\r\n (editClick)=\"resolveWith()\"\r\n></vdr-asset-preview>\r\n", styles: [":host{height:70vh}.update-button.hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AssetPreviewComponent, selector: "vdr-asset-preview", inputs: ["asset", "editable", "customFields", "customFieldsForm"], outputs: ["assetChange", "editClick"] }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPreviewDialogComponent, decorators: [{
13345
13269
  type: Component,
13346
13270
  args: [{ selector: 'vdr-asset-preview-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n {{ asset.name }}\r\n </div>\r\n</ng-template>\r\n\r\n<vdr-asset-preview\r\n *ngIf=\"assetWithTags$ | async as assetWithTags\"\r\n [asset]=\"assetWithTags\"\r\n (assetChange)=\"assetChanges = $event\"\r\n (editClick)=\"resolveWith()\"\r\n></vdr-asset-preview>\r\n", styles: [":host{height:70vh}.update-button.hidden{visibility:hidden}\n"] }]
13347
13271
  }], ctorParameters: function () { return [{ type: DataService }]; } });
@@ -13351,9 +13275,9 @@ class EntityInfoComponent {
13351
13275
  this.small = false;
13352
13276
  }
13353
13277
  }
13354
- EntityInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EntityInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13355
- EntityInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EntityInfoComponent, selector: "vdr-entity-info", inputs: { small: "small", entity: "entity" }, ngImport: i0, template: "<vdr-dropdown *ngIf=\"entity.id\">\r\n <button class=\"btn btn-icon btn-link info-button\" [class.btn-sm]=\"small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"info-standard\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entity-info\">\r\n <vdr-labeled-data [label]=\"'common.ID' | translate\">\r\n {{ entity.id }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.createdAt\" [label]=\"'common.created-at' | translate\">\r\n {{ entity.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.updatedAt\" [label]=\"'common.updated-at' | translate\">\r\n {{ entity.updatedAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".info-button{color:var(--color-icon-button)}.entity-info{margin:0 12px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EntityInfoComponent, decorators: [{
13278
+ EntityInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EntityInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13279
+ EntityInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: EntityInfoComponent, selector: "vdr-entity-info", inputs: { small: "small", entity: "entity" }, ngImport: i0, template: "<vdr-dropdown *ngIf=\"entity.id\">\r\n <button class=\"btn btn-icon btn-link info-button\" [class.btn-sm]=\"small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"info-standard\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entity-info\">\r\n <vdr-labeled-data [label]=\"'common.ID' | translate\">\r\n {{ entity.id }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.createdAt\" [label]=\"'common.created-at' | translate\">\r\n {{ entity.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.updatedAt\" [label]=\"'common.updated-at' | translate\">\r\n {{ entity.updatedAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".info-button{color:var(--color-icon-button)}.entity-info{margin:0 12px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EntityInfoComponent, decorators: [{
13357
13281
  type: Component,
13358
13282
  args: [{ selector: 'vdr-entity-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown *ngIf=\"entity.id\">\r\n <button class=\"btn btn-icon btn-link info-button\" [class.btn-sm]=\"small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"info-standard\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entity-info\">\r\n <vdr-labeled-data [label]=\"'common.ID' | translate\">\r\n {{ entity.id }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.createdAt\" [label]=\"'common.created-at' | translate\">\r\n {{ entity.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.updatedAt\" [label]=\"'common.updated-at' | translate\">\r\n {{ entity.updatedAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".info-button{color:var(--color-icon-button)}.entity-info{margin:0 12px}\n"] }]
13359
13283
  }], propDecorators: { small: [{
@@ -13423,9 +13347,9 @@ class AssetGalleryComponent {
13423
13347
  event.stopPropagation();
13424
13348
  }
13425
13349
  }
13426
- AssetGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetGalleryComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
13427
- AssetGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AssetGalleryComponent, selector: "vdr-asset-gallery", inputs: { assets: "assets", multiSelect: "multiSelect", canDelete: "canDelete" }, outputs: { selectionChange: "selectionChange", deleteAssets: "deleteAssets" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let asset of assets\"\r\n (click)=\"toggleSelection(asset, $event)\"\r\n [class.selected]=\"isSelected(asset)\"\r\n >\r\n <div class=\"card-img\">\r\n <vdr-select-toggle\r\n [selected]=\"isSelected(asset)\"\r\n [disabled]=\"true\"\r\n [hiddenWhenOff]=\"true\"\r\n ></vdr-select-toggle>\r\n <img class=\"asset-thumb\" [src]=\"asset | assetPreview: 'thumb'\" />\r\n </div>\r\n <div class=\"detail\">\r\n <vdr-entity-info\r\n [entity]=\"asset\"\r\n [small]=\"true\"\r\n (click)=\"entityInfoClick($event)\"\r\n ></vdr-entity-info>\r\n <span [title]=\"asset.name\">{{ asset.name }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"info-bar\">\r\n <div class=\"card\">\r\n <div class=\"card-img\">\r\n <div class=\"placeholder\" *ngIf=\"selectionManager.selection.length === 0\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n <div>{{ 'catalog.no-selection' | translate }}</div>\r\n </div>\r\n <img\r\n class=\"preview\"\r\n *ngIf=\"selectionManager.selection.length >= 1\"\r\n [src]=\"lastSelected().preview + '?preset=medium'\"\r\n />\r\n </div>\r\n <div class=\"card-block details\" *ngIf=\"selectionManager.selection.length >= 1\">\r\n <div class=\"name\">{{ lastSelected().name }}</div>\r\n <div>{{ 'asset.original-asset-size' | translate }}: {{ lastSelected().fileSize | filesize }}</div>\r\n\r\n <ng-container *ngIf=\"selectionManager.selection.length === 1\">\r\n <vdr-chip *ngFor=\"let tag of lastSelected().tags\" [colorFrom]=\"tag.value\"\r\n ><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag.value }}</vdr-chip\r\n >\r\n <div>\r\n <button (click)=\"previewAsset(lastSelected())\" class=\"btn btn-link\">\r\n <clr-icon shape=\"eye\"></clr-icon> {{ 'asset.preview' | translate }}\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-asset-preview-links class=\"\" [asset]=\"lastSelected()\"></vdr-asset-preview-links>\r\n </div>\r\n <div>\r\n <a [routerLink]=\"['./', lastSelected().id]\" class=\"btn btn-link\">\r\n <clr-icon shape=\"pencil\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"canDelete\">\r\n <button (click)=\"deleteAssets.emit(selectionManager.selection)\" class=\"btn btn-link\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon> {{ 'common.delete' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card stack\" [class.visible]=\"selectionManager.selection.length > 1\"></div>\r\n <div class=\"selection-count\" [class.visible]=\"selectionManager.selection.length > 1\">\r\n {{ 'asset.assets-selected-count' | translate: { count: selectionManager.selection.length } }}\r\n <ul>\r\n <li *ngFor=\"let asset of selectionManager.selection\">{{ asset.name }}</li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;overflow:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,150px);grid-template-rows:repeat(auto-fill,180px);grid-gap:10px 20px;overflow-y:auto;padding-left:12px;padding-top:12px;padding-bottom:12px}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card{margin-top:0;position:relative}img.asset-thumb{aspect-ratio:1}vdr-select-toggle{position:absolute;top:-12px;left:-12px}vdr-select-toggle ::ng-deep .toggle{box-shadow:0 5px 5px -4px #000000bf}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.detail{font-size:12px;margin:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail vdr-entity-info{height:16px}.info-bar{width:25%;padding:0 6px;overflow-y:auto}.info-bar .card{z-index:1}.info-bar .stack{z-index:0;opacity:0;transform:perspective(500px) translateZ(0) translateY(-16px);height:16px;transition:transform .3s,opacity 0s .3s;background-color:#fff}.info-bar .stack.visible{opacity:1;transform:perspective(500px) translateZ(-44px) translateY(0);background-color:var(--color-component-bg-100);transition:transform .3s,color .3s}.info-bar .selection-count{opacity:0;position:relative;text-align:center;visibility:hidden;transition:opacity .3s,visibility 0s .3s}.info-bar .selection-count.visible{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}.info-bar .selection-count ul{text-align:left;list-style-type:none;margin-left:12px}.info-bar .selection-count ul li{font-size:12px}.info-bar .placeholder{text-align:center;color:var(--color-grey-300)}.info-bar .preview img{max-width:100%}.info-bar .details{font-size:12px;word-break:break-all}.info-bar .name{line-height:14px;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }, { kind: "component", type: EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { kind: "component", type: AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: ["asset"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "filesize" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetGalleryComponent, decorators: [{
13350
+ AssetGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetGalleryComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
13351
+ AssetGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AssetGalleryComponent, selector: "vdr-asset-gallery", inputs: { assets: "assets", multiSelect: "multiSelect", canDelete: "canDelete" }, outputs: { selectionChange: "selectionChange", deleteAssets: "deleteAssets" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let asset of assets\"\r\n (click)=\"toggleSelection(asset, $event)\"\r\n [class.selected]=\"isSelected(asset)\"\r\n >\r\n <div class=\"card-img\">\r\n <vdr-select-toggle\r\n [selected]=\"isSelected(asset)\"\r\n [disabled]=\"true\"\r\n [hiddenWhenOff]=\"true\"\r\n ></vdr-select-toggle>\r\n <img class=\"asset-thumb\" [src]=\"asset | assetPreview: 'thumb'\" />\r\n </div>\r\n <div class=\"detail\">\r\n <vdr-entity-info\r\n [entity]=\"asset\"\r\n [small]=\"true\"\r\n (click)=\"entityInfoClick($event)\"\r\n ></vdr-entity-info>\r\n <span [title]=\"asset.name\">{{ asset.name }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"info-bar\">\r\n <div class=\"card\">\r\n <div class=\"card-img\">\r\n <div class=\"placeholder\" *ngIf=\"selectionManager.selection.length === 0\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n <div>{{ 'catalog.no-selection' | translate }}</div>\r\n </div>\r\n <img\r\n class=\"preview\"\r\n *ngIf=\"selectionManager.selection.length >= 1\"\r\n [src]=\"lastSelected().preview + '?preset=medium'\"\r\n />\r\n </div>\r\n <div class=\"card-block details\" *ngIf=\"selectionManager.selection.length >= 1\">\r\n <div class=\"name\">{{ lastSelected().name }}</div>\r\n <div>{{ 'asset.original-asset-size' | translate }}: {{ lastSelected().fileSize | filesize }}</div>\r\n\r\n <ng-container *ngIf=\"selectionManager.selection.length === 1\">\r\n <vdr-chip *ngFor=\"let tag of lastSelected().tags\" [colorFrom]=\"tag.value\"\r\n ><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag.value }}</vdr-chip\r\n >\r\n <div>\r\n <button (click)=\"previewAsset(lastSelected())\" class=\"btn btn-link\">\r\n <clr-icon shape=\"eye\"></clr-icon> {{ 'asset.preview' | translate }}\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-asset-preview-links class=\"\" [asset]=\"lastSelected()\"></vdr-asset-preview-links>\r\n </div>\r\n <div>\r\n <a [routerLink]=\"['./', lastSelected().id]\" class=\"btn btn-link\">\r\n <clr-icon shape=\"pencil\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"canDelete\">\r\n <button (click)=\"deleteAssets.emit(selectionManager.selection)\" class=\"btn btn-link\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon> {{ 'common.delete' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card stack\" [class.visible]=\"selectionManager.selection.length > 1\"></div>\r\n <div class=\"selection-count\" [class.visible]=\"selectionManager.selection.length > 1\">\r\n {{ 'asset.assets-selected-count' | translate: { count: selectionManager.selection.length } }}\r\n <ul>\r\n <li *ngFor=\"let asset of selectionManager.selection\">{{ asset.name }}</li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;overflow:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,150px);grid-template-rows:repeat(auto-fill,180px);grid-gap:10px 20px;overflow-y:auto;padding-left:12px;padding-top:12px;padding-bottom:12px}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card{margin-top:0;position:relative}img.asset-thumb{aspect-ratio:1}vdr-select-toggle{position:absolute;top:-12px;left:-12px}vdr-select-toggle ::ng-deep .toggle{box-shadow:0 5px 5px -4px #000000bf}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.detail{font-size:12px;margin:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail vdr-entity-info{height:16px}.info-bar{width:25%;padding:0 6px;overflow-y:auto}.info-bar .card{z-index:1}.info-bar .stack{z-index:0;opacity:0;transform:perspective(500px) translateZ(0) translateY(-16px);height:16px;transition:transform .3s,opacity 0s .3s;background-color:#fff}.info-bar .stack.visible{opacity:1;transform:perspective(500px) translateZ(-44px) translateY(0);background-color:var(--color-component-bg-100);transition:transform .3s,color .3s}.info-bar .selection-count{opacity:0;position:relative;text-align:center;visibility:hidden;transition:opacity .3s,visibility 0s .3s}.info-bar .selection-count.visible{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}.info-bar .selection-count ul{text-align:left;list-style-type:none;margin-left:12px}.info-bar .selection-count ul li{font-size:12px}.info-bar .placeholder{text-align:center;color:var(--color-grey-300)}.info-bar .preview img{max-width:100%}.info-bar .details{font-size:12px;word-break:break-all}.info-bar .name{line-height:14px;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }, { kind: "component", type: EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { kind: "component", type: AssetPreviewLinksComponent, selector: "vdr-asset-preview-links", inputs: ["asset"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "filesize" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetGalleryComponent, decorators: [{
13429
13353
  type: Component,
13430
13354
  args: [{ selector: 'vdr-asset-gallery', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"gallery\">\r\n <div\r\n class=\"card\"\r\n *ngFor=\"let asset of assets\"\r\n (click)=\"toggleSelection(asset, $event)\"\r\n [class.selected]=\"isSelected(asset)\"\r\n >\r\n <div class=\"card-img\">\r\n <vdr-select-toggle\r\n [selected]=\"isSelected(asset)\"\r\n [disabled]=\"true\"\r\n [hiddenWhenOff]=\"true\"\r\n ></vdr-select-toggle>\r\n <img class=\"asset-thumb\" [src]=\"asset | assetPreview: 'thumb'\" />\r\n </div>\r\n <div class=\"detail\">\r\n <vdr-entity-info\r\n [entity]=\"asset\"\r\n [small]=\"true\"\r\n (click)=\"entityInfoClick($event)\"\r\n ></vdr-entity-info>\r\n <span [title]=\"asset.name\">{{ asset.name }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"info-bar\">\r\n <div class=\"card\">\r\n <div class=\"card-img\">\r\n <div class=\"placeholder\" *ngIf=\"selectionManager.selection.length === 0\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n <div>{{ 'catalog.no-selection' | translate }}</div>\r\n </div>\r\n <img\r\n class=\"preview\"\r\n *ngIf=\"selectionManager.selection.length >= 1\"\r\n [src]=\"lastSelected().preview + '?preset=medium'\"\r\n />\r\n </div>\r\n <div class=\"card-block details\" *ngIf=\"selectionManager.selection.length >= 1\">\r\n <div class=\"name\">{{ lastSelected().name }}</div>\r\n <div>{{ 'asset.original-asset-size' | translate }}: {{ lastSelected().fileSize | filesize }}</div>\r\n\r\n <ng-container *ngIf=\"selectionManager.selection.length === 1\">\r\n <vdr-chip *ngFor=\"let tag of lastSelected().tags\" [colorFrom]=\"tag.value\"\r\n ><clr-icon shape=\"tag\" class=\"mr2\"></clr-icon> {{ tag.value }}</vdr-chip\r\n >\r\n <div>\r\n <button (click)=\"previewAsset(lastSelected())\" class=\"btn btn-link\">\r\n <clr-icon shape=\"eye\"></clr-icon> {{ 'asset.preview' | translate }}\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-asset-preview-links class=\"\" [asset]=\"lastSelected()\"></vdr-asset-preview-links>\r\n </div>\r\n <div>\r\n <a [routerLink]=\"['./', lastSelected().id]\" class=\"btn btn-link\">\r\n <clr-icon shape=\"pencil\"></clr-icon> {{ 'common.edit' | translate }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"canDelete\">\r\n <button (click)=\"deleteAssets.emit(selectionManager.selection)\" class=\"btn btn-link\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon> {{ 'common.delete' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card stack\" [class.visible]=\"selectionManager.selection.length > 1\"></div>\r\n <div class=\"selection-count\" [class.visible]=\"selectionManager.selection.length > 1\">\r\n {{ 'asset.assets-selected-count' | translate: { count: selectionManager.selection.length } }}\r\n <ul>\r\n <li *ngFor=\"let asset of selectionManager.selection\">{{ asset.name }}</li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [":host{display:flex;overflow:hidden}.gallery{flex:1;display:grid;grid-template-columns:repeat(auto-fill,150px);grid-template-rows:repeat(auto-fill,180px);grid-gap:10px 20px;overflow-y:auto;padding-left:12px;padding-top:12px;padding-bottom:12px}.gallery .card:hover{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card{margin-top:0;position:relative}img.asset-thumb{aspect-ratio:1}vdr-select-toggle{position:absolute;top:-12px;left:-12px}vdr-select-toggle ::ng-deep .toggle{box-shadow:0 5px 5px -4px #000000bf}.card.selected{box-shadow:0 .125rem 0 0 var(--color-primary-500);border:1px solid var(--color-primary-500)}.card.selected .selected-checkbox{opacity:1}.detail{font-size:12px;margin:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail vdr-entity-info{height:16px}.info-bar{width:25%;padding:0 6px;overflow-y:auto}.info-bar .card{z-index:1}.info-bar .stack{z-index:0;opacity:0;transform:perspective(500px) translateZ(0) translateY(-16px);height:16px;transition:transform .3s,opacity 0s .3s;background-color:#fff}.info-bar .stack.visible{opacity:1;transform:perspective(500px) translateZ(-44px) translateY(0);background-color:var(--color-component-bg-100);transition:transform .3s,color .3s}.info-bar .selection-count{opacity:0;position:relative;text-align:center;visibility:hidden;transition:opacity .3s,visibility 0s .3s}.info-bar .selection-count.visible{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}.info-bar .selection-count ul{text-align:left;list-style-type:none;margin-left:12px}.info-bar .selection-count ul li{font-size:12px}.info-bar .placeholder{text-align:center;color:var(--color-grey-300)}.info-bar .preview img{max-width:100%}.info-bar .details{font-size:12px;word-break:break-all}.info-bar .name{line-height:14px;font-weight:700}\n"] }]
13431
13355
  }], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { assets: [{
@@ -13553,9 +13477,9 @@ class AssetPickerDialogComponent {
13553
13477
  });
13554
13478
  }
13555
13479
  }
13556
- AssetPickerDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPickerDialogComponent, deps: [{ token: DataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
13557
- AssetPickerDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", 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>\r\n <div class=\"title-row\">\r\n <span>{{ 'asset.select-assets' | translate }}</span>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-asset-file-input\r\n class=\"ml3\"\r\n (selectFiles)=\"createAssets($event)\"\r\n [uploading]=\"uploading\"\r\n dropZoneTarget=\".modal-content\"\r\n ></vdr-asset-file-input>\r\n </div>\r\n</ng-template>\r\n<vdr-asset-search-input\r\n class=\"mb2\"\r\n [tags]=\"allTags$ | async\"\r\n (searchTermChange)=\"searchTerm$.next($event)\"\r\n (tagsChange)=\"filterByTags$.next($event)\"\r\n #assetSearchInputComponent\r\n></vdr-asset-search-input>\r\n<vdr-asset-gallery\r\n [assets]=\"(assets$ | async)! | paginate: paginationConfig\"\r\n [multiSelect]=\"multiSelect\"\r\n (selectionChange)=\"selection = $event\"\r\n #assetGalleryComponent\r\n></vdr-asset-gallery>\r\n\r\n<div class=\"paging-controls\">\r\n <vdr-items-per-page-controls\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\r\n ></vdr-items-per-page-controls>\r\n\r\n <vdr-pagination-controls\r\n [currentPage]=\"paginationConfig.currentPage\"\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n [totalItems]=\"paginationConfig.totalItems\"\r\n (pageChange)=\"pageChange($event)\"\r\n ></vdr-pagination-controls>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"selection.length === 0\">\r\n {{ 'asset.add-asset-with-count' | translate: { count: selection.length } }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:70vh}.title-row{display:flex;align-items:center;justify-content:space-between}vdr-asset-gallery{flex:1}.paging-controls{padding-top:6px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between;flex-shrink:0}\n"], dependencies: [{ kind: "component", type: AssetSearchInputComponent, selector: "vdr-asset-search-input", inputs: ["tags"], outputs: ["searchTermChange", "tagsChange"] }, { kind: "component", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: AssetFileInputComponent, selector: "vdr-asset-file-input", inputs: ["dropZoneTarget", "uploading"], outputs: ["selectFiles"] }, { kind: "component", type: AssetGalleryComponent, selector: "vdr-asset-gallery", inputs: ["assets", "multiSelect", "canDelete"], outputs: ["selectionChange", "deleteAssets"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13558
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AssetPickerDialogComponent, decorators: [{
13480
+ AssetPickerDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPickerDialogComponent, deps: [{ token: DataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
13481
+ AssetPickerDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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>\r\n <div class=\"title-row\">\r\n <span>{{ 'asset.select-assets' | translate }}</span>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-asset-file-input\r\n class=\"ml3\"\r\n (selectFiles)=\"createAssets($event)\"\r\n [uploading]=\"uploading\"\r\n dropZoneTarget=\".modal-content\"\r\n ></vdr-asset-file-input>\r\n </div>\r\n</ng-template>\r\n<vdr-asset-search-input\r\n class=\"mb2\"\r\n [tags]=\"allTags$ | async\"\r\n (searchTermChange)=\"searchTerm$.next($event)\"\r\n (tagsChange)=\"filterByTags$.next($event)\"\r\n #assetSearchInputComponent\r\n></vdr-asset-search-input>\r\n<vdr-asset-gallery\r\n [assets]=\"(assets$ | async)! | paginate: paginationConfig\"\r\n [multiSelect]=\"multiSelect\"\r\n (selectionChange)=\"selection = $event\"\r\n #assetGalleryComponent\r\n></vdr-asset-gallery>\r\n\r\n<div class=\"paging-controls\">\r\n <vdr-items-per-page-controls\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\r\n ></vdr-items-per-page-controls>\r\n\r\n <vdr-pagination-controls\r\n [currentPage]=\"paginationConfig.currentPage\"\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n [totalItems]=\"paginationConfig.totalItems\"\r\n (pageChange)=\"pageChange($event)\"\r\n ></vdr-pagination-controls>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"selection.length === 0\">\r\n {{ 'asset.add-asset-with-count' | translate: { count: selection.length } }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:70vh}.title-row{display:flex;align-items:center;justify-content:space-between}vdr-asset-gallery{flex:1}.paging-controls{padding-top:6px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between;flex-shrink:0}\n"], dependencies: [{ kind: "component", type: AssetSearchInputComponent, selector: "vdr-asset-search-input", inputs: ["tags"], outputs: ["searchTermChange", "tagsChange"] }, { kind: "component", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "component", type: AssetFileInputComponent, selector: "vdr-asset-file-input", inputs: ["dropZoneTarget", "uploading"], outputs: ["selectFiles"] }, { kind: "component", type: AssetGalleryComponent, selector: "vdr-asset-gallery", inputs: ["assets", "multiSelect", "canDelete"], outputs: ["selectionChange", "deleteAssets"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2$1.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AssetPickerDialogComponent, decorators: [{
13559
13483
  type: Component,
13560
13484
  args: [{ selector: 'vdr-asset-picker-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\r\n <div class=\"title-row\">\r\n <span>{{ 'asset.select-assets' | translate }}</span>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-asset-file-input\r\n class=\"ml3\"\r\n (selectFiles)=\"createAssets($event)\"\r\n [uploading]=\"uploading\"\r\n dropZoneTarget=\".modal-content\"\r\n ></vdr-asset-file-input>\r\n </div>\r\n</ng-template>\r\n<vdr-asset-search-input\r\n class=\"mb2\"\r\n [tags]=\"allTags$ | async\"\r\n (searchTermChange)=\"searchTerm$.next($event)\"\r\n (tagsChange)=\"filterByTags$.next($event)\"\r\n #assetSearchInputComponent\r\n></vdr-asset-search-input>\r\n<vdr-asset-gallery\r\n [assets]=\"(assets$ | async)! | paginate: paginationConfig\"\r\n [multiSelect]=\"multiSelect\"\r\n (selectionChange)=\"selection = $event\"\r\n #assetGalleryComponent\r\n></vdr-asset-gallery>\r\n\r\n<div class=\"paging-controls\">\r\n <vdr-items-per-page-controls\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange($event)\"\r\n ></vdr-items-per-page-controls>\r\n\r\n <vdr-pagination-controls\r\n [currentPage]=\"paginationConfig.currentPage\"\r\n [itemsPerPage]=\"paginationConfig.itemsPerPage\"\r\n [totalItems]=\"paginationConfig.totalItems\"\r\n (pageChange)=\"pageChange($event)\"\r\n ></vdr-pagination-controls>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"selection.length === 0\">\r\n {{ 'asset.add-asset-with-count' | translate: { count: selection.length } }}\r\n </button>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:70vh}.title-row{display:flex;align-items:center;justify-content:space-between}vdr-asset-gallery{flex:1}.paging-controls{padding-top:6px;border-top:1px solid var(--color-component-border-100);display:flex;justify-content:space-between;flex-shrink:0}\n"] }]
13561
13485
  }], ctorParameters: function () { return [{ type: DataService }, { type: NotificationService }]; }, propDecorators: { assetSearchInputComponent: [{
@@ -13568,9 +13492,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
13568
13492
 
13569
13493
  class RelationCardPreviewDirective {
13570
13494
  }
13571
- RelationCardPreviewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCardPreviewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13572
- RelationCardPreviewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]", ngImport: i0 });
13573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCardPreviewDirective, decorators: [{
13495
+ RelationCardPreviewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCardPreviewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13496
+ RelationCardPreviewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]", ngImport: i0 });
13497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCardPreviewDirective, decorators: [{
13574
13498
  type: Directive,
13575
13499
  args: [{
13576
13500
  selector: '[vdrRelationCardPreview]',
@@ -13578,9 +13502,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
13578
13502
  }] });
13579
13503
  class RelationCardDetailDirective {
13580
13504
  }
13581
- RelationCardDetailDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCardDetailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13582
- RelationCardDetailDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]", ngImport: i0 });
13583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCardDetailDirective, decorators: [{
13505
+ RelationCardDetailDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCardDetailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13506
+ RelationCardDetailDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]", ngImport: i0 });
13507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCardDetailDirective, decorators: [{
13584
13508
  type: Directive,
13585
13509
  args: [{
13586
13510
  selector: '[vdrRelationCardDetail]',
@@ -13594,9 +13518,9 @@ class RelationCardComponent {
13594
13518
  this.remove = new EventEmitter();
13595
13519
  }
13596
13520
  }
13597
- RelationCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13598
- RelationCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationCardComponent, selector: "vdr-relation-card", inputs: { entity: "entity", placeholderIcon: "placeholderIcon", selectLabel: "selectLabel", readonly: "readonly", removable: "removable" }, outputs: { select: "select", remove: "remove" }, queries: [{ propertyName: "previewTemplate", first: true, predicate: RelationCardPreviewDirective, descendants: true, read: TemplateRef }, { propertyName: "detailTemplate", first: true, predicate: RelationCardDetailDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"flex\">\r\n <ng-container *ngIf=\"entity; else placeholder\">\r\n <div class=\"preview\">\r\n <ng-container *ngTemplateOutlet=\"previewTemplate; context: { entity: entity }\"></ng-container>\r\n </div>\r\n <div class=\"detail\">\r\n <div class=\"pl3\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: { entity: entity }\"></ng-container>\r\n </div>\r\n <button *ngIf=\"!readonly\" class=\"btn btn-sm btn-link\" (click)=\"select.emit()\">\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'common.change-selection' | translate }}\r\n </button>\r\n <button *ngIf=\"!readonly && removable\" class=\"btn btn-sm btn-link\" (click)=\"remove.emit()\">\r\n <clr-icon shape=\"times\"></clr-icon> {{ 'common.remove' | translate }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #placeholder>\r\n <div class=\"preview\">\r\n <div class=\"placeholder\" (click)=\"!readonly && select.emit()\">\r\n <clr-icon [attr.shape]=\"placeholderIcon\" size=\"50\"></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"detail\">\r\n <div class=\"pl3 not-set\">{{ 'common.not-set' | translate }}</div>\r\n <button *ngIf=\"!readonly\" class=\"btn btn-sm btn-link\" (click)=\"select.emit()\">\r\n <clr-icon shape=\"link\"></clr-icon> {{ selectLabel }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;min-width:300px}.placeholder,.not-set{color:var(--color-grey-300)}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13599
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCardComponent, decorators: [{
13521
+ RelationCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13522
+ RelationCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationCardComponent, selector: "vdr-relation-card", inputs: { entity: "entity", placeholderIcon: "placeholderIcon", selectLabel: "selectLabel", readonly: "readonly", removable: "removable" }, outputs: { select: "select", remove: "remove" }, queries: [{ propertyName: "previewTemplate", first: true, predicate: RelationCardPreviewDirective, descendants: true, read: TemplateRef }, { propertyName: "detailTemplate", first: true, predicate: RelationCardDetailDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"flex\">\r\n <ng-container *ngIf=\"entity; else placeholder\">\r\n <div class=\"preview\">\r\n <ng-container *ngTemplateOutlet=\"previewTemplate; context: { entity: entity }\"></ng-container>\r\n </div>\r\n <div class=\"detail\">\r\n <div class=\"pl3\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: { entity: entity }\"></ng-container>\r\n </div>\r\n <button *ngIf=\"!readonly\" class=\"btn btn-sm btn-link\" (click)=\"select.emit()\">\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'common.change-selection' | translate }}\r\n </button>\r\n <button *ngIf=\"!readonly && removable\" class=\"btn btn-sm btn-link\" (click)=\"remove.emit()\">\r\n <clr-icon shape=\"times\"></clr-icon> {{ 'common.remove' | translate }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #placeholder>\r\n <div class=\"preview\">\r\n <div class=\"placeholder\" (click)=\"!readonly && select.emit()\">\r\n <clr-icon [attr.shape]=\"placeholderIcon\" size=\"50\"></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"detail\">\r\n <div class=\"pl3 not-set\">{{ 'common.not-set' | translate }}</div>\r\n <button *ngIf=\"!readonly\" class=\"btn btn-sm btn-link\" (click)=\"select.emit()\">\r\n <clr-icon shape=\"link\"></clr-icon> {{ selectLabel }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;min-width:300px}.placeholder,.not-set{color:var(--color-grey-300)}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCardComponent, decorators: [{
13600
13524
  type: Component,
13601
13525
  args: [{ selector: 'vdr-relation-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\r\n <ng-container *ngIf=\"entity; else placeholder\">\r\n <div class=\"preview\">\r\n <ng-container *ngTemplateOutlet=\"previewTemplate; context: { entity: entity }\"></ng-container>\r\n </div>\r\n <div class=\"detail\">\r\n <div class=\"pl3\">\r\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: { entity: entity }\"></ng-container>\r\n </div>\r\n <button *ngIf=\"!readonly\" class=\"btn btn-sm btn-link\" (click)=\"select.emit()\">\r\n <clr-icon shape=\"link\"></clr-icon> {{ 'common.change-selection' | translate }}\r\n </button>\r\n <button *ngIf=\"!readonly && removable\" class=\"btn btn-sm btn-link\" (click)=\"remove.emit()\">\r\n <clr-icon shape=\"times\"></clr-icon> {{ 'common.remove' | translate }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #placeholder>\r\n <div class=\"preview\">\r\n <div class=\"placeholder\" (click)=\"!readonly && select.emit()\">\r\n <clr-icon [attr.shape]=\"placeholderIcon\" size=\"50\"></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"detail\">\r\n <div class=\"pl3 not-set\">{{ 'common.not-set' | translate }}</div>\r\n <button *ngIf=\"!readonly\" class=\"btn btn-sm btn-link\" (click)=\"select.emit()\">\r\n <clr-icon shape=\"link\"></clr-icon> {{ selectLabel }}\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;min-width:300px}.placeholder,.not-set{color:var(--color-grey-300)}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
13602
13526
  }], propDecorators: { entity: [{
@@ -13666,9 +13590,9 @@ class RelationAssetInputComponent {
13666
13590
  }
13667
13591
  }
13668
13592
  RelationAssetInputComponent.id = 'asset-form-input';
13669
- RelationAssetInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationAssetInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13670
- RelationAssetInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: { readonly: "readonly", formControl: ["parentFormControl", "formControl"], config: "config" }, ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13671
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationAssetInputComponent, decorators: [{
13593
+ RelationAssetInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationAssetInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13594
+ RelationAssetInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: { readonly: "readonly", formControl: ["parentFormControl", "formControl"], config: "config" }, ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationAssetInputComponent, decorators: [{
13672
13596
  type: Component,
13673
13597
  args: [{ selector: 'vdr-relation-asset-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
13674
13598
  }], ctorParameters: function () { return [{ type: ModalService }, { type: DataService }]; }, propDecorators: { readonly: [{
@@ -13682,9 +13606,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
13682
13606
 
13683
13607
  class RelationSelectorDialogComponent {
13684
13608
  }
13685
- RelationSelectorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationSelectorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13686
- RelationSelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationSelectorDialogComponent, selector: "vdr-relation-selector-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ title | translate }}</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"selectorTemplate\" [ngTemplateOutletContext]=\"{ select: resolveWith }\"></ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationSelectorDialogComponent, decorators: [{
13609
+ RelationSelectorDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationSelectorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13610
+ RelationSelectorDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationSelectorDialogComponent, selector: "vdr-relation-selector-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ title | translate }}</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"selectorTemplate\" [ngTemplateOutletContext]=\"{ select: resolveWith }\"></ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationSelectorDialogComponent, decorators: [{
13688
13612
  type: Component,
13689
13613
  args: [{ selector: 'vdr-relation-selector-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ title | translate }}</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"selectorTemplate\" [ngTemplateOutletContext]=\"{ select: resolveWith }\"></ng-container>\r\n" }]
13690
13614
  }] });
@@ -13744,9 +13668,9 @@ class RelationProductInputComponent {
13744
13668
  this.parentFormControl.markAsDirty();
13745
13669
  }
13746
13670
  }
13747
- RelationProductInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationProductInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13748
- RelationProductInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationProductInputComponent, selector: "vdr-relation-product-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectProduct()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"product$ | async\"\r\n [selectLabel]=\"'catalog.select-product' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-product=\"entity\">\r\n <img *ngIf=\"product.featuredAsset\" [src]=\"product.featuredAsset | assetPreview: 'tiny'\" />\r\n <div class=\"placeholder\" *ngIf=\"!product.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-product=\"entity\">\r\n <a [routerLink]=\"['/catalog/products', product.id]\">{{ product.name }}</a>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.featuredAsset | assetPreview: 32\" />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationProductInputComponent, decorators: [{
13671
+ RelationProductInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationProductInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13672
+ RelationProductInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationProductInputComponent, selector: "vdr-relation-product-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectProduct()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"product$ | async\"\r\n [selectLabel]=\"'catalog.select-product' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-product=\"entity\">\r\n <img *ngIf=\"product.featuredAsset\" [src]=\"product.featuredAsset | assetPreview: 'tiny'\" />\r\n <div class=\"placeholder\" *ngIf=\"!product.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-product=\"entity\">\r\n <a [routerLink]=\"['/catalog/products', product.id]\">{{ product.name }}</a>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.featuredAsset | assetPreview: 32\" />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationProductInputComponent, decorators: [{
13750
13674
  type: Component,
13751
13675
  args: [{ selector: 'vdr-relation-product-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectProduct()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"product$ | async\"\r\n [selectLabel]=\"'catalog.select-product' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-product=\"entity\">\r\n <img *ngIf=\"product.featuredAsset\" [src]=\"product.featuredAsset | assetPreview: 'tiny'\" />\r\n <div class=\"placeholder\" *ngIf=\"!product.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-product=\"entity\">\r\n <a [routerLink]=\"['/catalog/products', product.id]\">{{ product.name }}</a>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img [src]=\"item.featuredAsset | assetPreview: 32\" />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}\n"] }]
13752
13676
  }], ctorParameters: function () { return [{ type: ModalService }, { type: DataService }]; }, propDecorators: { readonly: [{
@@ -13815,9 +13739,9 @@ class RelationProductVariantInputComponent {
13815
13739
  this.parentFormControl.markAsDirty();
13816
13740
  }
13817
13741
  }
13818
- RelationProductVariantInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationProductVariantInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13819
- RelationProductVariantInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectProductVariant()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"productVariant$ | async\"\r\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\r\n <img\r\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n />\r\n <ng-template #placeholder>\r\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\r\n <a [routerLink]=\"['/catalog/products', variant.product.id, { tab: 'variants' }]\">{{ variant.name }}</a>\r\n <div class=\"\">{{ variant.sku }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img\r\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\r\n [src]=\"asset | assetPreview: 32\"\r\n />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationProductVariantInputComponent, decorators: [{
13742
+ RelationProductVariantInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationProductVariantInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13743
+ RelationProductVariantInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectProductVariant()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"productVariant$ | async\"\r\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\r\n <img\r\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n />\r\n <ng-template #placeholder>\r\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\r\n <a [routerLink]=\"['/catalog/products', variant.product.id, { tab: 'variants' }]\">{{ variant.name }}</a>\r\n <div class=\"\">{{ variant.sku }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img\r\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\r\n [src]=\"asset | assetPreview: 32\"\r\n />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: AssetPreviewPipe, name: "assetPreview" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationProductVariantInputComponent, decorators: [{
13821
13745
  type: Component,
13822
13746
  args: [{ selector: 'vdr-relation-product-variant-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectProductVariant()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"library\"\r\n [entity]=\"productVariant$ | async\"\r\n [selectLabel]=\"'catalog.select-product-variant' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-variant=\"entity\">\r\n <img\r\n *ngIf=\"variant.featuredAsset || variant.product.featuredAsset as asset; else placeholder\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n />\r\n <ng-template #placeholder>\r\n <div class=\"placeholder\" *ngIf=\"!variant.featuredAsset\">\r\n <clr-icon shape=\"image\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-variant=\"entity\">\r\n <a [routerLink]=\"['/catalog/products', variant.product.id, { tab: 'variants' }]\">{{ variant.name }}</a>\r\n <div class=\"\">{{ variant.sku }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <img\r\n *ngIf=\"item.featuredAsset || item.product.featuredAsset as asset\"\r\n [src]=\"asset | assetPreview: 32\"\r\n />\r\n {{ item.name }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [".placeholder{color:var(--color-grey-300)}\n"] }]
13823
13747
  }], ctorParameters: function () { return [{ type: ModalService }, { type: DataService }]; }, propDecorators: { readonly: [{
@@ -13868,9 +13792,9 @@ class RelationCustomerInputComponent {
13868
13792
  this.parentFormControl.markAsDirty();
13869
13793
  }
13870
13794
  }
13871
- RelationCustomerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCustomerInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13872
- RelationCustomerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationCustomerInputComponent, selector: "vdr-relation-customer-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectCustomer()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"user\"\r\n [entity]=\"customer\"\r\n [selectLabel]=\"'customer.select-customer' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"user\" class=\"is-solid\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-c=\"entity\">\r\n <div class=\"\">\r\n <a [routerLink]=\"['/customer/customers', c.id]\">{{ c.firstName }} {{ c.lastName }}</a>\r\n </div>\r\n <div class=\"\">{{ c.emailAddress }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <b>{{ item.emailAddress }}</b>\r\n {{ item.firstName }} {{ item.lastName }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationCustomerInputComponent, decorators: [{
13795
+ RelationCustomerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCustomerInputComponent, deps: [{ token: ModalService }, { token: DataService }], target: i0.ɵɵFactoryTarget.Component });
13796
+ RelationCustomerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationCustomerInputComponent, selector: "vdr-relation-customer-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectCustomer()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"user\"\r\n [entity]=\"customer\"\r\n [selectLabel]=\"'customer.select-customer' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"user\" class=\"is-solid\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-c=\"entity\">\r\n <div class=\"\">\r\n <a [routerLink]=\"['/customer/customers', c.id]\">{{ c.firstName }} {{ c.lastName }}</a>\r\n </div>\r\n <div class=\"\">{{ c.emailAddress }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <b>{{ item.emailAddress }}</b>\r\n {{ item.firstName }} {{ item.lastName }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$1.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationCustomerInputComponent, decorators: [{
13874
13798
  type: Component,
13875
13799
  args: [{ selector: 'vdr-relation-customer-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectCustomer()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"user\"\r\n [entity]=\"customer\"\r\n [selectLabel]=\"'customer.select-customer' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"user\" class=\"is-solid\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-c=\"entity\">\r\n <div class=\"\">\r\n <a [routerLink]=\"['/customer/customers', c.id]\">{{ c.firstName }} {{ c.lastName }}</a>\r\n </div>\r\n <div class=\"\">{{ c.emailAddress }}</div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <ng-select [items]=\"results$ | async\" [typeahead]=\"searchTerm$\" appendTo=\"body\" (change)=\"select($event)\">\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <b>{{ item.emailAddress }}</b>\r\n {{ item.firstName }} {{ item.lastName }}\r\n </ng-template>\r\n </ng-select>\r\n</ng-template>\r\n" }]
13876
13800
  }], ctorParameters: function () { return [{ type: ModalService }, { type: DataService }]; }, propDecorators: { readonly: [{
@@ -13920,9 +13844,9 @@ class ObjectTreeComponent {
13920
13844
  return Object.entries(inputValue).map(([key, value]) => ({ key, value }));
13921
13845
  }
13922
13846
  }
13923
- ObjectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ObjectTreeComponent, deps: [{ token: ObjectTreeComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
13924
- ObjectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ObjectTreeComponent, selector: "vdr-object-tree", inputs: { value: "value", isArrayItem: "isArrayItem" }, usesOnChanges: true, ngImport: i0, template: "<button class=\"icon-button\" (click)=\"expanded = !expanded\" *ngIf=\"depth !== 0 && !isArrayItem\">\r\n <clr-icon shape=\"caret\" size=\"12\" [dir]=\"expanded ? 'down' : 'right'\"></clr-icon>\r\n</button>\r\n<ul\r\n class=\"object-tree-node\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.array-value]=\"valueIsArray\"\r\n [class.array-item]=\"isArrayItem\"\r\n [class.expanded]=\"expanded\"\r\n>\r\n <li *ngFor=\"let entry of entries\">\r\n <span class=\"key\" *ngIf=\"entry.key\">{{ entry.key }}:</span>\r\n <ng-container *ngIf=\"isObject(entry.value); else primitive\">\r\n <vdr-object-tree [value]=\"entry.value\" [isArrayItem]=\"valueIsArray\"></vdr-object-tree>\r\n </ng-container>\r\n <ng-template #primitive>\r\n {{ entry.value }}\r\n </ng-template>\r\n </li>\r\n</ul>\r\n", styles: [".object-tree-node{list-style-type:none;line-height:16px;font-size:12px;overflow:hidden;max-height:0}.object-tree-node.depth-0{margin-left:0;margin-top:8px}.object-tree-node.depth-1,.object-tree-node.depth-2,.object-tree-node.depth-3,.object-tree-node.depth-4,.object-tree-node.depth-5,.object-tree-node.depth-6{margin-left:6px}.object-tree-node.expanded{max-height:5000px}.object-tree-node.array-item{margin-top:-16px;margin-left:16px}.object-tree-node.array-value.expanded>li+li{margin-top:6px}.key{color:var(--color-text-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ObjectTreeComponent, decorators: [{
13847
+ ObjectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ObjectTreeComponent, deps: [{ token: ObjectTreeComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
13848
+ ObjectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ObjectTreeComponent, selector: "vdr-object-tree", inputs: { value: "value", isArrayItem: "isArrayItem" }, usesOnChanges: true, ngImport: i0, template: "<button class=\"icon-button\" (click)=\"expanded = !expanded\" *ngIf=\"depth !== 0 && !isArrayItem\">\r\n <clr-icon shape=\"caret\" size=\"12\" [dir]=\"expanded ? 'down' : 'right'\"></clr-icon>\r\n</button>\r\n<ul\r\n class=\"object-tree-node\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.array-value]=\"valueIsArray\"\r\n [class.array-item]=\"isArrayItem\"\r\n [class.expanded]=\"expanded\"\r\n>\r\n <li *ngFor=\"let entry of entries\">\r\n <span class=\"key\" *ngIf=\"entry.key\">{{ entry.key }}:</span>\r\n <ng-container *ngIf=\"isObject(entry.value); else primitive\">\r\n <vdr-object-tree [value]=\"entry.value\" [isArrayItem]=\"valueIsArray\"></vdr-object-tree>\r\n </ng-container>\r\n <ng-template #primitive>\r\n {{ entry.value }}\r\n </ng-template>\r\n </li>\r\n</ul>\r\n", styles: [".object-tree-node{list-style-type:none;line-height:16px;font-size:12px;overflow:hidden;max-height:0}.object-tree-node.depth-0{margin-left:0;margin-top:8px}.object-tree-node.depth-1,.object-tree-node.depth-2,.object-tree-node.depth-3,.object-tree-node.depth-4,.object-tree-node.depth-5,.object-tree-node.depth-6{margin-left:6px}.object-tree-node.expanded{max-height:5000px}.object-tree-node.array-item{margin-top:-16px;margin-left:16px}.object-tree-node.array-value.expanded>li+li{margin-top:6px}.key{color:var(--color-text-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13849
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ObjectTreeComponent, decorators: [{
13926
13850
  type: Component,
13927
13851
  args: [{ selector: 'vdr-object-tree', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"icon-button\" (click)=\"expanded = !expanded\" *ngIf=\"depth !== 0 && !isArrayItem\">\r\n <clr-icon shape=\"caret\" size=\"12\" [dir]=\"expanded ? 'down' : 'right'\"></clr-icon>\r\n</button>\r\n<ul\r\n class=\"object-tree-node\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.array-value]=\"valueIsArray\"\r\n [class.array-item]=\"isArrayItem\"\r\n [class.expanded]=\"expanded\"\r\n>\r\n <li *ngFor=\"let entry of entries\">\r\n <span class=\"key\" *ngIf=\"entry.key\">{{ entry.key }}:</span>\r\n <ng-container *ngIf=\"isObject(entry.value); else primitive\">\r\n <vdr-object-tree [value]=\"entry.value\" [isArrayItem]=\"valueIsArray\"></vdr-object-tree>\r\n </ng-container>\r\n <ng-template #primitive>\r\n {{ entry.value }}\r\n </ng-template>\r\n </li>\r\n</ul>\r\n", styles: [".object-tree-node{list-style-type:none;line-height:16px;font-size:12px;overflow:hidden;max-height:0}.object-tree-node.depth-0{margin-left:0;margin-top:8px}.object-tree-node.depth-1,.object-tree-node.depth-2,.object-tree-node.depth-3,.object-tree-node.depth-4,.object-tree-node.depth-5,.object-tree-node.depth-6{margin-left:6px}.object-tree-node.expanded{max-height:5000px}.object-tree-node.array-item{margin-top:-16px;margin-left:16px}.object-tree-node.array-value.expanded>li+li{margin-top:6px}.key{color:var(--color-text-300)}\n"] }]
13928
13852
  }], ctorParameters: function () { return [{ type: ObjectTreeComponent, decorators: [{
@@ -13961,9 +13885,9 @@ class RelationGenericInputComponent {
13961
13885
  this.parentFormControl.markAsDirty();
13962
13886
  }
13963
13887
  }
13964
- RelationGenericInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationGenericInputComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
13965
- RelationGenericInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.JsonPipe, name: "json" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationGenericInputComponent, decorators: [{
13888
+ RelationGenericInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationGenericInputComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
13889
+ RelationGenericInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { kind: "directive", type: RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { kind: "directive", type: RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { kind: "pipe", type: i2.JsonPipe, name: "json" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationGenericInputComponent, decorators: [{
13967
13891
  type: Component,
13968
13892
  args: [{ selector: 'vdr-relation-generic-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"] }]
13969
13893
  }], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { readonly: [{
@@ -13989,9 +13913,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
13989
13913
  class RelationFormInputComponent {
13990
13914
  }
13991
13915
  RelationFormInputComponent.id = 'relation-form-input';
13992
- RelationFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13993
- RelationFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RelationFormInputComponent, selector: "vdr-relation-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n <vdr-relation-generic-input\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-generic-input>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationProductInputComponent, selector: "vdr-relation-product-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationCustomerInputComponent, selector: "vdr-relation-customer-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: ["readonly", "parentFormControl", "config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RelationFormInputComponent, decorators: [{
13916
+ RelationFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13917
+ RelationFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RelationFormInputComponent, selector: "vdr-relation-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n <vdr-relation-generic-input\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-generic-input>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationProductInputComponent, selector: "vdr-relation-product-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationCustomerInputComponent, selector: "vdr-relation-customer-input", inputs: ["readonly", "parentFormControl", "config"] }, { kind: "component", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: ["readonly", "parentFormControl", "config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RelationFormInputComponent, decorators: [{
13995
13919
  type: Component,
13996
13920
  args: [{ selector: 'vdr-relation-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n <vdr-relation-generic-input\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-generic-input>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"] }]
13997
13921
  }], propDecorators: { readonly: [{
@@ -14031,9 +13955,9 @@ class ContextMenuService {
14031
13955
  this.setContextMenuConfig$.next(undefined);
14032
13956
  }
14033
13957
  }
14034
- ContextMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14035
- ContextMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ContextMenuService, providedIn: 'root' });
14036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ContextMenuService, decorators: [{
13958
+ ContextMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13959
+ ContextMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ContextMenuService, providedIn: 'root' });
13960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ContextMenuService, decorators: [{
14037
13961
  type: Injectable,
14038
13962
  args: [{ providedIn: 'root' }]
14039
13963
  }], ctorParameters: function () { return []; } });
@@ -14289,9 +14213,9 @@ class ExternalImageDialogComponent {
14289
14213
  this.previewLoaded = false;
14290
14214
  }
14291
14215
  }
14292
- ExternalImageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExternalImageDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14293
- ExternalImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ExternalImageDialogComponent, selector: "vdr-external-image-dialog", ngImport: i0, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-left:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i1$4.ClrLayout, selector: "[clrForm][clrLayout]", inputs: ["clrLayout"] }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExternalImageDialogComponent, decorators: [{
14216
+ ExternalImageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExternalImageDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14217
+ ExternalImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ExternalImageDialogComponent, selector: "vdr-external-image-dialog", ngImport: i0, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-left:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { kind: "directive", type: i1$4.ClrLayout, selector: "[clrForm][clrLayout]", inputs: ["clrLayout"] }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExternalImageDialogComponent, decorators: [{
14295
14219
  type: Component,
14296
14220
  args: [{ selector: 'vdr-external-image-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-left:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"] }]
14297
14221
  }] });
@@ -14607,9 +14531,9 @@ class LinkDialogComponent {
14607
14531
  this.resolveWith(this.form.value);
14608
14532
  }
14609
14533
  }
14610
- LinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LinkDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14611
- LinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: LinkDialogComponent, selector: "vdr-link-dialog", ngImport: i0, template: "<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'editor.link-href' | translate\" for=\"href\">\r\n <input id=\"href\" type=\"text\" formControlName=\"href\" />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-title' | translate\" for=\"title\">\r\n <input id=\"title\" type=\"text\" formControlName=\"title\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"remove()\" *ngIf=\"existing\">\r\n <clr-icon shape=\"unlink\"></clr-icon> {{ 'editor.remove-link' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid\">\r\n {{ 'editor.set-link' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14612
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LinkDialogComponent, decorators: [{
14534
+ LinkDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LinkDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14535
+ LinkDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: LinkDialogComponent, selector: "vdr-link-dialog", ngImport: i0, template: "<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'editor.link-href' | translate\" for=\"href\">\r\n <input id=\"href\" type=\"text\" formControlName=\"href\" />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-title' | translate\" for=\"title\">\r\n <input id=\"title\" type=\"text\" formControlName=\"title\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"remove()\" *ngIf=\"existing\">\r\n <clr-icon shape=\"unlink\"></clr-icon> {{ 'editor.remove-link' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid\">\r\n {{ 'editor.set-link' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LinkDialogComponent, decorators: [{
14613
14537
  type: Component,
14614
14538
  args: [{ selector: 'vdr-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'editor.link-href' | translate\" for=\"href\">\r\n <input id=\"href\" type=\"text\" formControlName=\"href\" />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'editor.link-title' | translate\" for=\"title\">\r\n <input id=\"title\" type=\"text\" formControlName=\"title\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"remove()\" *ngIf=\"existing\">\r\n <clr-icon shape=\"unlink\"></clr-icon> {{ 'editor.remove-link' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid\">\r\n {{ 'editor.set-link' | translate }}\r\n </button>\r\n</ng-template>\r\n" }]
14615
14539
  }] });
@@ -15031,9 +14955,9 @@ class RawHtmlDialogComponent {
15031
14955
  this.resolveWith(this.formControl.value);
15032
14956
  }
15033
14957
  }
15034
- RawHtmlDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RawHtmlDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15035
- RawHtmlDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RawHtmlDialogComponent, selector: "vdr-raw-html-dialog", ngImport: i0, template: "<vdr-dynamic-form-input\r\n [def]=\"config\"\r\n [control]=\"formControl\"\r\n ></vdr-dynamic-form-input>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"formControl.invalid\">\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "component", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: ["def", "readonly", "control"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RawHtmlDialogComponent, decorators: [{
14958
+ RawHtmlDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RawHtmlDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14959
+ RawHtmlDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RawHtmlDialogComponent, selector: "vdr-raw-html-dialog", ngImport: i0, template: "<vdr-dynamic-form-input\r\n [def]=\"config\"\r\n [control]=\"formControl\"\r\n ></vdr-dynamic-form-input>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"formControl.invalid\">\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "component", type: DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: ["def", "readonly", "control"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RawHtmlDialogComponent, decorators: [{
15037
14961
  type: Component,
15038
14962
  args: [{ selector: 'vdr-raw-html-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dynamic-form-input\r\n [def]=\"config\"\r\n [control]=\"formControl\"\r\n ></vdr-dynamic-form-input>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"formControl.invalid\">\r\n {{ 'common.update' | translate }}\r\n </button>\r\n</ng-template>\r\n" }]
15039
14963
  }] });
@@ -15244,9 +15168,9 @@ class ProsemirrorService {
15244
15168
  }));
15245
15169
  }
15246
15170
  }
15247
- ProsemirrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProsemirrorService, deps: [{ token: i0.Injector }, { token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Injectable });
15248
- ProsemirrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProsemirrorService });
15249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ProsemirrorService, decorators: [{
15171
+ ProsemirrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProsemirrorService, deps: [{ token: i0.Injector }, { token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Injectable });
15172
+ ProsemirrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProsemirrorService });
15173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProsemirrorService, decorators: [{
15250
15174
  type: Injectable
15251
15175
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: ContextMenuService }]; } });
15252
15176
 
@@ -15362,9 +15286,9 @@ class ContextMenuComponent {
15362
15286
  return inverted;
15363
15287
  }
15364
15288
  }
15365
- ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i1$5.Overlay }, { token: i0.ViewContainerRef }, { token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
15366
- ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ContextMenuComponent, selector: "vdr-context-menu", inputs: { editorMenuElement: "editorMenuElement" }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["contextMenu"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #contextMenu>\r\n <vdr-dropdown>\r\n <button class=\"context-menu-trigger\" vdrDropdownTrigger [class.hidden]=\"hideTrigger$ | async\" (click)=\"triggerClick()\">\r\n <clr-icon\r\n *ngIf=\"menuConfig?.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n <span class=\"title-label\">{{ menuConfig?.title }}</span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\" customClasses=\"context-menu\">\r\n <ng-container *ngFor=\"let item of menuConfig?.items\">\r\n <button\r\n class=\"context-menu-item\"\r\n *ngIf=\"item.enabled && item.separator !== true\"\r\n type=\"button\"\r\n (click)=\"clickItem(item)\"\r\n >\r\n <div *ngIf=\"item.iconClass\" class=\"cm-icon\" [ngClass]=\"item.iconClass\"></div>\r\n <clr-icon\r\n *ngIf=\"item.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n {{ item.label }}\r\n </button>\r\n <div *ngIf=\"item.enabled && item.separator\" class=\"dropdown-divider\" role=\"separator\"></div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-template>\r\n", styles: [".context-menu-trigger{margin:0;display:flex;align-items:center;border:1px solid var(--color-component-border-200);font-size:90%;color:var(--color-text-200);border-radius:var(--border-radius-input);background-color:var(--color-component-bg-100)}.title-label{padding-right:15px;position:relative}.title-label:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.context-menu-item{display:flex;align-items:center;width:100%;text-align:start;font-size:90%;color:var(--color-text-200);background-color:var(--color-component-bg-100);cursor:pointer;border:none}.context-menu-item:hover{background-color:var(--color-component-bg-200)}::ng-deep .dropdown-menu.context-menu{padding:0;background-color:var(--color-component-bg-100)}::ng-deep .context-menu-trigger{min-height:16px}::ng-deep .context-menu-trigger.hidden{visibility:hidden}::ng-deep .cm-icon.add-column{height:14px;width:4px;border:1px solid;margin:0 6px 0 8px;position:relative}::ng-deep .cm-icon.add-column:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-10px}::ng-deep .cm-icon.add-row{height:4px;width:14px;border:1px solid;margin:6px 4px 2px 0;position:relative}::ng-deep .cm-icon.add-row:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-2px;top:-10px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ContextMenuComponent, decorators: [{
15289
+ ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i1$5.Overlay }, { token: i0.ViewContainerRef }, { token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
15290
+ ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ContextMenuComponent, selector: "vdr-context-menu", inputs: { editorMenuElement: "editorMenuElement" }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["contextMenu"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #contextMenu>\r\n <vdr-dropdown>\r\n <button class=\"context-menu-trigger\" vdrDropdownTrigger [class.hidden]=\"hideTrigger$ | async\" (click)=\"triggerClick()\">\r\n <clr-icon\r\n *ngIf=\"menuConfig?.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n <span class=\"title-label\">{{ menuConfig?.title }}</span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\" customClasses=\"context-menu\">\r\n <ng-container *ngFor=\"let item of menuConfig?.items\">\r\n <button\r\n class=\"context-menu-item\"\r\n *ngIf=\"item.enabled && item.separator !== true\"\r\n type=\"button\"\r\n (click)=\"clickItem(item)\"\r\n >\r\n <div *ngIf=\"item.iconClass\" class=\"cm-icon\" [ngClass]=\"item.iconClass\"></div>\r\n <clr-icon\r\n *ngIf=\"item.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n {{ item.label }}\r\n </button>\r\n <div *ngIf=\"item.enabled && item.separator\" class=\"dropdown-divider\" role=\"separator\"></div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-template>\r\n", styles: [".context-menu-trigger{margin:0;display:flex;align-items:center;border:1px solid var(--color-component-border-200);font-size:90%;color:var(--color-text-200);border-radius:var(--border-radius-input);background-color:var(--color-component-bg-100)}.title-label{padding-right:15px;position:relative}.title-label:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.context-menu-item{display:flex;align-items:center;width:100%;text-align:start;font-size:90%;color:var(--color-text-200);background-color:var(--color-component-bg-100);cursor:pointer;border:none}.context-menu-item:hover{background-color:var(--color-component-bg-200)}::ng-deep .dropdown-menu.context-menu{padding:0;background-color:var(--color-component-bg-100)}::ng-deep .context-menu-trigger{min-height:16px}::ng-deep .context-menu-trigger.hidden{visibility:hidden}::ng-deep .cm-icon.add-column{height:14px;width:4px;border:1px solid;margin:0 6px 0 8px;position:relative}::ng-deep .cm-icon.add-column:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-10px}::ng-deep .cm-icon.add-row{height:4px;width:14px;border:1px solid;margin:6px 4px 2px 0;position:relative}::ng-deep .cm-icon.add-row:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-2px;top:-10px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ContextMenuComponent, decorators: [{
15368
15292
  type: Component,
15369
15293
  args: [{ selector: 'vdr-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #contextMenu>\r\n <vdr-dropdown>\r\n <button class=\"context-menu-trigger\" vdrDropdownTrigger [class.hidden]=\"hideTrigger$ | async\" (click)=\"triggerClick()\">\r\n <clr-icon\r\n *ngIf=\"menuConfig?.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n <span class=\"title-label\">{{ menuConfig?.title }}</span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\" customClasses=\"context-menu\">\r\n <ng-container *ngFor=\"let item of menuConfig?.items\">\r\n <button\r\n class=\"context-menu-item\"\r\n *ngIf=\"item.enabled && item.separator !== true\"\r\n type=\"button\"\r\n (click)=\"clickItem(item)\"\r\n >\r\n <div *ngIf=\"item.iconClass\" class=\"cm-icon\" [ngClass]=\"item.iconClass\"></div>\r\n <clr-icon\r\n *ngIf=\"item.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n {{ item.label }}\r\n </button>\r\n <div *ngIf=\"item.enabled && item.separator\" class=\"dropdown-divider\" role=\"separator\"></div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-template>\r\n", styles: [".context-menu-trigger{margin:0;display:flex;align-items:center;border:1px solid var(--color-component-border-200);font-size:90%;color:var(--color-text-200);border-radius:var(--border-radius-input);background-color:var(--color-component-bg-100)}.title-label{padding-right:15px;position:relative}.title-label:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.context-menu-item{display:flex;align-items:center;width:100%;text-align:start;font-size:90%;color:var(--color-text-200);background-color:var(--color-component-bg-100);cursor:pointer;border:none}.context-menu-item:hover{background-color:var(--color-component-bg-200)}::ng-deep .dropdown-menu.context-menu{padding:0;background-color:var(--color-component-bg-100)}::ng-deep .context-menu-trigger{min-height:16px}::ng-deep .context-menu-trigger.hidden{visibility:hidden}::ng-deep .cm-icon.add-column{height:14px;width:4px;border:1px solid;margin:0 6px 0 8px;position:relative}::ng-deep .cm-icon.add-column:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-10px}::ng-deep .cm-icon.add-row{height:4px;width:14px;border:1px solid;margin:6px 4px 2px 0;position:relative}::ng-deep .cm-icon.add-row:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-2px;top:-10px}\n"] }]
15370
15294
  }], ctorParameters: function () { return [{ type: i1$5.Overlay }, { type: i0.ViewContainerRef }, { type: ContextMenuService }]; }, propDecorators: { editorMenuElement: [{
@@ -15437,8 +15361,8 @@ class RichTextEditorComponent {
15437
15361
  }
15438
15362
  }
15439
15363
  }
15440
- RichTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RichTextEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ProsemirrorService }, { token: i0.ViewContainerRef }, { token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
15441
- RichTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RichTextEditorComponent, selector: "vdr-rich-text-editor", inputs: { label: "label", readonly: "readonly" }, host: { properties: { "class.readonly": "this._readonly" } }, providers: [
15364
+ RichTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RichTextEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ProsemirrorService }, { token: i0.ViewContainerRef }, { token: ContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
15365
+ RichTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RichTextEditorComponent, selector: "vdr-rich-text-editor", inputs: { label: "label", readonly: "readonly" }, host: { properties: { "class.readonly": "this._readonly" } }, providers: [
15442
15366
  {
15443
15367
  provide: NG_VALUE_ACCESSOR,
15444
15368
  useExisting: RichTextEditorComponent,
@@ -15447,7 +15371,7 @@ RichTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15447
15371
  ProsemirrorService,
15448
15372
  ContextMenuService,
15449
15373
  ], viewQueries: [{ propertyName: "editorEl", first: true, predicate: ["editor"], descendants: true, static: true }], ngImport: i0, template: "<label class=\"clr-control-label\">{{ label }}</label>\r\n<div #editor></div>\r\n<vdr-context-menu [editorMenuElement]=\"menuElement\"></vdr-context-menu>\r\n", styles: ["@charset \"UTF-8\";::ng-deep .ProseMirror{position:relative}::ng-deep .ProseMirror{word-wrap:break-word;white-space:pre-wrap;font-variant-ligatures:none}::ng-deep .ProseMirror pre{white-space:pre-wrap}::ng-deep .ProseMirror li{position:relative}::ng-deep .ProseMirror-hideselection *::selection{background:transparent}::ng-deep .ProseMirror-hideselection *::-moz-selection{background:transparent}::ng-deep .ProseMirror-hideselection{caret-color:transparent}::ng-deep .ProseMirror-selectednode{outline:2px solid var(--color-primary-500)}::ng-deep li.ProseMirror-selectednode{outline:none}::ng-deep li.ProseMirror-selectednode:after{content:\"\";position:absolute;inset:-2px -2px -2px -32px;border:2px solid var(--color-primary-500);pointer-events:none}::ng-deep .ProseMirror-textblock-dropdown{min-width:3em}::ng-deep .ProseMirror-menu{margin:0 -4px;line-height:1}::ng-deep .ProseMirror-tooltip .ProseMirror-menu{width:-moz-fit-content;width:fit-content;white-space:pre}::ng-deep .ProseMirror-menuitem{margin-right:3px;display:inline-block}::ng-deep .ProseMirror-menuseparator{border-right:1px solid var(--color-component-border-200);margin:0 12px 0 8px;height:18px}::ng-deep .ProseMirror-menu-dropdown,::ng-deep .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap;border-radius:var(--border-radius-input)}::ng-deep .ProseMirror-menu-dropdown{vertical-align:1px;cursor:pointer;position:relative;padding-right:15px}::ng-deep .ProseMirror-menu-dropdown-wrap{padding:1px 3px 1px 6px;display:inline-block;position:relative}::ng-deep .ProseMirror-menu-dropdown:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}::ng-deep .ProseMirror-menu-dropdown-menu,::ng-deep .ProseMirror-menu-submenu{position:absolute;background:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);padding:2px}::ng-deep .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em;color:var(--color-text-200)}::ng-deep .ProseMirror-menu-dropdown-item{cursor:pointer;padding:2px 8px 2px 4px}::ng-deep .ProseMirror-menu-dropdown-item:hover{background:var(--color-component-bg-200)}::ng-deep .ProseMirror-menu-submenu-wrap{position:relative;margin-right:4px}::ng-deep .ProseMirror-menu-submenu-label:after{content:\"\";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:-8px;top:calc(50% - 4px)}::ng-deep .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:-3px}::ng-deep .ProseMirror-menu-active{background:var(--color-component-bg-100);border-radius:4px}::ng-deep .ProseMirror-menu-disabled{opacity:.3}::ng-deep .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,::ng-deep .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}::ng-deep .ProseMirror-menubar{border-top-left-radius:inherit;border-top-right-radius:inherit;position:relative;min-height:1em;color:var(--color-grey-600);padding:1px 6px;top:0;left:0;right:0;background:var(--color-component-bg-100);z-index:10;box-sizing:border-box;overflow:visible;align-items:center}::ng-deep .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:2px 8px;cursor:pointer}::ng-deep .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}::ng-deep .ProseMirror-icon svg{fill:currentColor;height:1em}::ng-deep .ProseMirror-icon span{vertical-align:text-top}::ng-deep .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}::ng-deep .ProseMirror-gapcursor:after{content:\"\";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}::ng-deep .ProseMirror-focused .ProseMirror-gapcursor{display:block}::ng-deep .ProseMirror ul,::ng-deep .ProseMirror ol{padding-left:30px;list-style-position:initial}::ng-deep .ProseMirror blockquote{padding-left:1em;border-left:3px solid var(--color-grey-100);margin-left:0;margin-right:0}::ng-deep .ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;z-index:11;box-shadow:-.5px 2px 5px #0003}::ng-deep .ProseMirror-prompt h5{margin:0;font-weight:400;font-size:100%;color:var(--color-grey-500)}::ng-deep .ProseMirror-prompt input[type=text],::ng-deep .ProseMirror-prompt textarea{background:var(--color-component-bg-100);border:none;outline:none}::ng-deep .ProseMirror-prompt input[type=text]{padding:0 4px}::ng-deep .ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:var(--color-grey-400);border:none;background:transparent;padding:0}::ng-deep .ProseMirror-prompt-close:after{content:\"\\e2\\153\\2022\";font-size:12px}::ng-deep .ProseMirror-invalid{background:var(--color-warning-200);border:1px solid var(--color-warning-300);border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}::ng-deep .ProseMirror-prompt-buttons{margin-top:5px;display:none}::ng-deep #editor,::ng-deep .editor{background:var(--color-form-input-bg);color:#000;background-clip:padding-box;border-radius:4px;border:2px solid rgba(0,0,0,.2);padding:5px 0;margin-bottom:23px}::ng-deep .ProseMirror p:first-child,::ng-deep .ProseMirror h1:first-child,::ng-deep .ProseMirror h2:first-child,::ng-deep .ProseMirror h3:first-child,::ng-deep .ProseMirror h4:first-child,::ng-deep .ProseMirror h5:first-child,::ng-deep .ProseMirror h6:first-child{margin-top:10px}::ng-deep .ProseMirror{padding:4px 8px 4px 14px;line-height:1.2;outline:none}::ng-deep .ProseMirror p{margin-bottom:.5rem;color:var(--color-grey-800)!important}::ng-deep .ProseMirror .tableWrapper td,::ng-deep .ProseMirror .tableWrapper th{border:1px solid var(--color-grey-300);padding:3px 6px}::ng-deep .ProseMirror .tableWrapper td p,::ng-deep .ProseMirror .tableWrapper th p{margin-top:0}::ng-deep .ProseMirror .tableWrapper th,::ng-deep .ProseMirror .tableWrapper th p{font-weight:700}::ng-deep .ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}::ng-deep .ProseMirror td,::ng-deep .ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}::ng-deep .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}::ng-deep .ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}::ng-deep .ProseMirror .selectedCell:after{z-index:2;position:absolute;content:\"\";inset:0;background:rgba(175,218,243,.3333333333);pointer-events:none}::ng-deep .menu-separator{border-bottom:1px solid var(--color-grey-400);height:0;margin:6px 0;pointer-events:none}::ng-deep .menu-item-with-icon{display:flex;align-items:center}::ng-deep .menu-item-with-icon clr-icon,::ng-deep .menu-item-with-icon .custom-icon{margin-right:4px;color:var(--color-text-200)}::ng-deep .menu-item-with-icon .hr-icon{width:13px;height:8px;border-bottom:2px solid var(--color-text-100);margin:-8px 5px 0 2px}::ng-deep .menu-item-with-icon .h-icon{width:16px;text-align:center;font-weight:700;font-size:12px}.context-menu{position:fixed}:host{display:block;max-width:710px;margin-bottom:.5rem}:host.readonly ::ng-deep .ProseMirror-menubar{display:none}::ng-deep .ProseMirror-menubar{position:sticky;top:24px;margin-top:6px;border:1px solid var(--color-component-border-200);border-bottom:none;background-color:var(--color-component-bg-200);color:var(--color-icon-button);border-radius:var(--border-radius-input) var(--border-radius-input) 0 0;padding:6px 12px;display:flex;flex-wrap:wrap}::ng-deep .vdr-prosemirror{background:var(--color-form-input-bg);min-height:128px;min-width:200px;border:1px solid var(--color-component-border-200);border-radius:0 0 var(--border-radius-input) var(--border-radius-input);transition:border-color .2s;overflow:auto;text-align:initial}::ng-deep .vdr-prosemirror:focus{border-color:var(--color-primary-500)!important;box-shadow:0 0 1px 1px var(--color-primary-100)}::ng-deep .vdr-prosemirror hr{padding:2px 10px;border:none;margin:1em 0}::ng-deep .vdr-prosemirror hr:after{content:\"\";display:block;height:1px;background-color:silver;line-height:2px}::ng-deep .vdr-prosemirror img{cursor:default;max-width:100%}::ng-deep .vdr-prosemirror .iframe-wrapper{width:100%;text-align:center;padding:6px;transition:background-color .3s}::ng-deep .vdr-prosemirror .iframe-wrapper:hover{background-color:var(--color-primary-100)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "component", type: ContextMenuComponent, selector: "vdr-context-menu", inputs: ["editorMenuElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RichTextEditorComponent, decorators: [{
15374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RichTextEditorComponent, decorators: [{
15451
15375
  type: Component,
15452
15376
  args: [{ selector: 'vdr-rich-text-editor', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
15453
15377
  {
@@ -15480,9 +15404,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
15480
15404
  class RichTextFormInputComponent {
15481
15405
  }
15482
15406
  RichTextFormInputComponent.id = 'rich-text-form-input';
15483
- RichTextFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RichTextFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15484
- RichTextFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RichTextFormInputComponent, selector: "vdr-rich-text-form-input", ngImport: i0, template: "<vdr-rich-text-editor\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></vdr-rich-text-editor>\r\n", styles: [":host textarea{resize:both;height:6rem;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: RichTextEditorComponent, selector: "vdr-rich-text-editor", inputs: ["label", "readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RichTextFormInputComponent, decorators: [{
15407
+ RichTextFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RichTextFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15408
+ RichTextFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RichTextFormInputComponent, selector: "vdr-rich-text-form-input", ngImport: i0, template: "<vdr-rich-text-editor\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></vdr-rich-text-editor>\r\n", styles: [":host textarea{resize:both;height:6rem;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: RichTextEditorComponent, selector: "vdr-rich-text-editor", inputs: ["label", "readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RichTextFormInputComponent, decorators: [{
15486
15410
  type: Component,
15487
15411
  args: [{ selector: 'vdr-rich-text-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-rich-text-editor\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></vdr-rich-text-editor>\r\n", styles: [":host textarea{resize:both;height:6rem;width:100%}\n"] }]
15488
15412
  }] });
@@ -15510,9 +15434,9 @@ class SelectFormInputComponent {
15510
15434
  }
15511
15435
  }
15512
15436
  SelectFormInputComponent.id = 'select-form-input';
15513
- SelectFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SelectFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
15514
- SelectFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: SelectFormInputComponent, selector: "vdr-select-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: CustomFieldLabelPipe, name: "customFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SelectFormInputComponent, decorators: [{
15437
+ SelectFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectFormInputComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
15438
+ SelectFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SelectFormInputComponent, selector: "vdr-select-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: CustomFieldLabelPipe, name: "customFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SelectFormInputComponent, decorators: [{
15516
15440
  type: Component,
15517
15441
  args: [{ selector: 'vdr-select-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"] }]
15518
15442
  }], ctorParameters: function () { return [{ type: DataService }]; }, propDecorators: { readonly: [{
@@ -15535,9 +15459,9 @@ class TextFormInputComponent {
15535
15459
  }
15536
15460
  }
15537
15461
  TextFormInputComponent.id = 'text-form-input';
15538
- TextFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TextFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15539
- TextFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TextFormInputComponent, selector: "vdr-text-form-input", ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input type=\"text\" [readonly]=\"readonly\" [formControl]=\"formControl\" />\r\n</vdr-affixed-input>\r\n", styles: ["input{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TextFormInputComponent, decorators: [{
15462
+ TextFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TextFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15463
+ TextFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TextFormInputComponent, selector: "vdr-text-form-input", ngImport: i0, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input type=\"text\" [readonly]=\"readonly\" [formControl]=\"formControl\" />\r\n</vdr-affixed-input>\r\n", styles: ["input{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TextFormInputComponent, decorators: [{
15541
15465
  type: Component,
15542
15466
  args: [{ selector: 'vdr-text-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-affixed-input\r\n [suffix]=\"suffix\"\r\n [prefix]=\"prefix\"\r\n>\r\n <input type=\"text\" [readonly]=\"readonly\" [formControl]=\"formControl\" />\r\n</vdr-affixed-input>\r\n", styles: ["input{width:100%}\n"] }]
15543
15467
  }] });
@@ -15555,9 +15479,9 @@ class TextareaFormInputComponent {
15555
15479
  }
15556
15480
  }
15557
15481
  TextareaFormInputComponent.id = 'textarea-form-input';
15558
- TextareaFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TextareaFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15559
- TextareaFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TextareaFormInputComponent, selector: "vdr-textarea-form-input", ngImport: i0, template: "<textarea [spellcheck]=\"spellcheck\" autocomplete=\"off\" autocorrect=\"off\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></textarea>\r\n", styles: [":host textarea{resize:both;height:6rem;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TextareaFormInputComponent, decorators: [{
15482
+ TextareaFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TextareaFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15483
+ TextareaFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TextareaFormInputComponent, selector: "vdr-textarea-form-input", ngImport: i0, template: "<textarea [spellcheck]=\"spellcheck\" autocomplete=\"off\" autocorrect=\"off\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></textarea>\r\n", styles: [":host textarea{resize:both;height:6rem;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TextareaFormInputComponent, decorators: [{
15561
15485
  type: Component,
15562
15486
  args: [{ selector: 'vdr-textarea-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<textarea [spellcheck]=\"spellcheck\" autocomplete=\"off\" autocorrect=\"off\"\r\n [readonly]=\"readonly\"\r\n [formControl]=\"formControl\"\r\n></textarea>\r\n", styles: [":host textarea{resize:both;height:6rem;width:100%}\n"] }]
15563
15487
  }] });
@@ -15735,9 +15659,9 @@ class IfPermissionsDirective extends IfDirectiveBase {
15735
15659
  this.updateArgs$.next([this.permissionToCheck]);
15736
15660
  }
15737
15661
  }
15738
- IfPermissionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfPermissionsDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
15739
- IfPermissionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: { vdrIfPermissions: "vdrIfPermissions", vdrIfPermissionsElse: "vdrIfPermissionsElse" }, usesInheritance: true, ngImport: i0 });
15740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfPermissionsDirective, decorators: [{
15662
+ IfPermissionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfPermissionsDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
15663
+ IfPermissionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: { vdrIfPermissions: "vdrIfPermissions", vdrIfPermissionsElse: "vdrIfPermissionsElse" }, usesInheritance: true, ngImport: i0 });
15664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfPermissionsDirective, decorators: [{
15741
15665
  type: Directive,
15742
15666
  args: [{
15743
15667
  selector: '[vdrIfPermissions]',
@@ -15800,9 +15724,9 @@ class ActionBarItemsComponent {
15800
15724
  }
15801
15725
  }
15802
15726
  }
15803
- ActionBarItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarItemsComponent, deps: [{ token: NavBuilderService }, { token: i1$2.ActivatedRoute }, { token: DataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
15804
- ActionBarItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: { locationId: "locationId" }, host: { properties: { "attr.data-location-id": "this.locationId" } }, usesOnChanges: true, ngImport: i0, template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"actionBar\" [leftPx]=\"-24\" [topPx]=\"-6\">\r\n <ng-container *ngFor=\"let item of items$ | async\">\r\n <button\r\n *vdrIfPermissions=\"item.requiresPermission\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n [disabled]=\"item.disabled ? (item.disabled | async) : false\"\r\n (click)=\"handleClick($event, item)\"\r\n [ngClass]=\"getButtonStyles(item)\"\r\n >\r\n <clr-icon *ngIf=\"item.icon\" [attr.shape]=\"item.icon\"></clr-icon>\r\n {{ item.label | translate }}\r\n </button>\r\n </ng-container>\r\n</vdr-ui-extension-point>\r\n", styles: [":host{display:inline-block;min-height:36px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarItemsComponent, decorators: [{
15727
+ ActionBarItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarItemsComponent, deps: [{ token: NavBuilderService }, { token: i1$2.ActivatedRoute }, { token: DataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
15728
+ ActionBarItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: { locationId: "locationId" }, host: { properties: { "attr.data-location-id": "this.locationId" } }, usesOnChanges: true, ngImport: i0, template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"actionBar\" [leftPx]=\"-24\" [topPx]=\"-6\">\r\n <ng-container *ngFor=\"let item of items$ | async\">\r\n <button\r\n *vdrIfPermissions=\"item.requiresPermission\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n [disabled]=\"item.disabled ? (item.disabled | async) : false\"\r\n (click)=\"handleClick($event, item)\"\r\n [ngClass]=\"getButtonStyles(item)\"\r\n >\r\n <clr-icon *ngIf=\"item.icon\" [attr.shape]=\"item.icon\"></clr-icon>\r\n {{ item.label | translate }}\r\n </button>\r\n </ng-container>\r\n</vdr-ui-extension-point>\r\n", styles: [":host{display:inline-block;min-height:36px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarItemsComponent, decorators: [{
15806
15730
  type: Component,
15807
15731
  args: [{ selector: 'vdr-action-bar-items', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"actionBar\" [leftPx]=\"-24\" [topPx]=\"-6\">\r\n <ng-container *ngFor=\"let item of items$ | async\">\r\n <button\r\n *vdrIfPermissions=\"item.requiresPermission\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n [disabled]=\"item.disabled ? (item.disabled | async) : false\"\r\n (click)=\"handleClick($event, item)\"\r\n [ngClass]=\"getButtonStyles(item)\"\r\n >\r\n <clr-icon *ngIf=\"item.icon\" [attr.shape]=\"item.icon\"></clr-icon>\r\n {{ item.label | translate }}\r\n </button>\r\n </ng-container>\r\n</vdr-ui-extension-point>\r\n", styles: [":host{display:inline-block;min-height:36px}\n"] }]
15808
15732
  }], ctorParameters: function () { return [{ type: NavBuilderService }, { type: i1$2.ActivatedRoute }, { type: DataService }, { type: NotificationService }]; }, propDecorators: { locationId: [{
@@ -15817,9 +15741,9 @@ class ActionBarLeftComponent {
15817
15741
  this.grow = false;
15818
15742
  }
15819
15743
  }
15820
- ActionBarLeftComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarLeftComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15821
- ActionBarLeftComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ActionBarLeftComponent, selector: "vdr-ab-left", inputs: { grow: "grow" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true });
15822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarLeftComponent, decorators: [{
15744
+ ActionBarLeftComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarLeftComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15745
+ ActionBarLeftComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ActionBarLeftComponent, selector: "vdr-ab-left", inputs: { grow: "grow" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true });
15746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarLeftComponent, decorators: [{
15823
15747
  type: Component,
15824
15748
  args: [{
15825
15749
  selector: 'vdr-ab-left',
@@ -15833,9 +15757,9 @@ class ActionBarRightComponent {
15833
15757
  this.grow = false;
15834
15758
  }
15835
15759
  }
15836
- ActionBarRightComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarRightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15837
- ActionBarRightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ActionBarRightComponent, selector: "vdr-ab-right", inputs: { grow: "grow" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true });
15838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarRightComponent, decorators: [{
15760
+ ActionBarRightComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarRightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15761
+ ActionBarRightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ActionBarRightComponent, selector: "vdr-ab-right", inputs: { grow: "grow" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true });
15762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarRightComponent, decorators: [{
15839
15763
  type: Component,
15840
15764
  args: [{
15841
15765
  selector: 'vdr-ab-right',
@@ -15846,9 +15770,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
15846
15770
  }] } });
15847
15771
  class ActionBarComponent {
15848
15772
  }
15849
- ActionBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15850
- ActionBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ActionBarComponent, selector: "vdr-action-bar", queries: [{ propertyName: "left", first: true, predicate: ActionBarLeftComponent, descendants: true }, { propertyName: "right", first: true, predicate: ActionBarRightComponent, descendants: true }], ngImport: i0, template: "<div class=\"left-content\" [class.grow]=\"left?.grow\"><ng-content select=\"vdr-ab-left\"></ng-content></div>\r\n<div class=\"right-content\" [class.grow]=\"right?.grow\"><ng-content select=\"vdr-ab-right\"></ng-content></div>\r\n", styles: [":host{display:flex;justify-content:space-between;align-items:baseline;background-color:var(--color-component-bg-100);position:sticky;top:40px;z-index:25;border-bottom:1px solid var(--color-component-border-200);flex-direction:column-reverse}:host>.grow{flex:1}:host .right-content{width:100%;display:flex;justify-content:flex-end}:host ::ng-deep vdr-ab-right>*:last-child{margin-right:0}@media screen and (min-width: 768px){:host{flex-direction:row}:host .right-content{width:initial}}\n"] });
15851
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ActionBarComponent, decorators: [{
15773
+ ActionBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15774
+ ActionBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ActionBarComponent, selector: "vdr-action-bar", queries: [{ propertyName: "left", first: true, predicate: ActionBarLeftComponent, descendants: true }, { propertyName: "right", first: true, predicate: ActionBarRightComponent, descendants: true }], ngImport: i0, template: "<div class=\"left-content\" [class.grow]=\"left?.grow\"><ng-content select=\"vdr-ab-left\"></ng-content></div>\r\n<div class=\"right-content\" [class.grow]=\"right?.grow\"><ng-content select=\"vdr-ab-right\"></ng-content></div>\r\n", styles: [":host{display:flex;justify-content:space-between;align-items:baseline;background-color:var(--color-component-bg-100);position:sticky;top:40px;z-index:25;border-bottom:1px solid var(--color-component-border-200);flex-direction:column-reverse}:host>.grow{flex:1}:host .right-content{width:100%;display:flex;justify-content:flex-end}:host ::ng-deep vdr-ab-right>*:last-child{margin-right:0}@media screen and (min-width: 768px){:host{flex-direction:row}:host .right-content{width:initial}}\n"] });
15775
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ActionBarComponent, decorators: [{
15852
15776
  type: Component,
15853
15777
  args: [{ selector: 'vdr-action-bar', template: "<div class=\"left-content\" [class.grow]=\"left?.grow\"><ng-content select=\"vdr-ab-left\"></ng-content></div>\r\n<div class=\"right-content\" [class.grow]=\"right?.grow\"><ng-content select=\"vdr-ab-right\"></ng-content></div>\r\n", styles: [":host{display:flex;justify-content:space-between;align-items:baseline;background-color:var(--color-component-bg-100);position:sticky;top:40px;z-index:25;border-bottom:1px solid var(--color-component-border-200);flex-direction:column-reverse}:host>.grow{flex:1}:host .right-content{width:100%;display:flex;justify-content:flex-end}:host ::ng-deep vdr-ab-right>*:last-child{margin-right:0}@media screen and (min-width: 768px){:host{flex-direction:row}:host .right-content{width:initial}}\n"] }]
15854
15778
  }], propDecorators: { left: [{
@@ -15861,9 +15785,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
15861
15785
 
15862
15786
  class AddressFormComponent {
15863
15787
  }
15864
- AddressFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AddressFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15865
- AddressFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: AddressFormComponent, selector: "vdr-address-form", inputs: { customFields: "customFields", formGroup: "formGroup", availableCountries: "availableCountries" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.company' | translate }}</label>\r\n <input formControlName=\"company\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Address\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15866
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AddressFormComponent, decorators: [{
15788
+ AddressFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AddressFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15789
+ AddressFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AddressFormComponent, selector: "vdr-address-form", inputs: { customFields: "customFields", formGroup: "formGroup", availableCountries: "availableCountries" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.company' | translate }}</label>\r\n <input formControlName=\"company\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Address\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrInput, selector: "[clrInput]" }, { kind: "component", type: i1$4.ClrInputContainer, selector: "clr-input-container" }, { kind: "directive", type: i1$4.ClrSelect, selector: "[clrSelect]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.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$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AddressFormComponent, decorators: [{
15867
15791
  type: Component,
15868
15792
  args: [{ selector: 'vdr-address-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.company' | translate }}</label>\r\n <input formControlName=\"company\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Address\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n</form>\r\n" }]
15869
15793
  }], propDecorators: { customFields: [{
@@ -15906,8 +15830,8 @@ class PercentageSuffixInputComponent {
15906
15830
  }
15907
15831
  }
15908
15832
  }
15909
- PercentageSuffixInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PercentageSuffixInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15910
- PercentageSuffixInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: PercentageSuffixInputComponent, selector: "vdr-percentage-suffix-input", inputs: { disabled: "disabled", readonly: "readonly", value: "value" }, providers: [
15833
+ PercentageSuffixInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PercentageSuffixInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15834
+ PercentageSuffixInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PercentageSuffixInputComponent, selector: "vdr-percentage-suffix-input", inputs: { disabled: "disabled", readonly: "readonly", value: "value" }, providers: [
15911
15835
  {
15912
15836
  provide: NG_VALUE_ACCESSOR,
15913
15837
  useExisting: PercentageSuffixInputComponent,
@@ -15926,7 +15850,7 @@ PercentageSuffixInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
15926
15850
  />
15927
15851
  </vdr-affixed-input>
15928
15852
  `, isInline: true, styles: [":host{padding:0}\n"], dependencies: [{ kind: "component", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: ["prefix", "suffix"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }] });
15929
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PercentageSuffixInputComponent, decorators: [{
15853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PercentageSuffixInputComponent, decorators: [{
15930
15854
  type: Component,
15931
15855
  args: [{ selector: 'vdr-percentage-suffix-input', template: `
15932
15856
  <vdr-affixed-input suffix="%">
@@ -15972,9 +15896,9 @@ class BulkActionRegistryService {
15972
15896
  return [...(this.locationBulActionMap.get(id)?.values() ?? [])];
15973
15897
  }
15974
15898
  }
15975
- BulkActionRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BulkActionRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15976
- BulkActionRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BulkActionRegistryService, providedIn: 'root' });
15977
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BulkActionRegistryService, decorators: [{
15899
+ BulkActionRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BulkActionRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15900
+ BulkActionRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BulkActionRegistryService, providedIn: 'root' });
15901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BulkActionRegistryService, decorators: [{
15978
15902
  type: Injectable,
15979
15903
  args: [{
15980
15904
  providedIn: 'root',
@@ -16050,9 +15974,9 @@ class BulkActionMenuComponent {
16050
15974
  this.changeDetectorRef.markForCheck();
16051
15975
  }
16052
15976
  }
16053
- BulkActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BulkActionMenuComponent, deps: [{ token: BulkActionRegistryService }, { token: i0.Injector }, { token: i1$2.ActivatedRoute }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16054
- BulkActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: BulkActionMenuComponent, selector: "vdr-bulk-action-menu", inputs: { locationId: "locationId", selectionManager: "selectionManager", hostComponent: "hostComponent" }, ngImport: i0, template: "<vdr-dropdown *ngIf=\"actions$ | async as actions\">\r\n <button\r\n class=\"btn btn-sm btn-outline mr1\"\r\n vdrDropdownTrigger\r\n [disabled]=\"!selectionManager.selection?.length\"\r\n [class.hidden]=\"!selectionManager.selection?.length\"\r\n >\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n {{ 'common.with-selected' | translate: { count:selectionManager.selection.length } }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <ng-container *ngIf=\"actions.length; else noActions\">\r\n <ng-container *ngFor=\"let action of actions\">\r\n <button\r\n *ngIf=\"action.display\"\r\n [disabled]=\"!hasPermissions(action)\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"actionClick($event, action)\"\r\n >\r\n <clr-icon\r\n *ngIf=\"action.icon\"\r\n [attr.shape]=\"action.icon\"\r\n [ngClass]=\"action.iconClass || ''\"\r\n ></clr-icon>\r\n {{ action.label | translate: action.translationVars }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #noActions>\r\n <button type=\"button\" disabled vdrDropdownItem>{{ 'common.no-bulk-actions-available' | translate }}</button>\r\n </ng-template>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n<button\r\n class=\"btn btn-sm btn-link\"\r\n (click)=\"clearSelection()\"\r\n [class.hidden]=\"!selectionManager.selection?.length\"\r\n>\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.clear-selection' | translate }}\r\n</button>\r\n", styles: [":host{display:inline-flex;align-items:center}button.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16055
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BulkActionMenuComponent, decorators: [{
15977
+ BulkActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BulkActionMenuComponent, deps: [{ token: BulkActionRegistryService }, { token: i0.Injector }, { token: i1$2.ActivatedRoute }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
15978
+ BulkActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BulkActionMenuComponent, selector: "vdr-bulk-action-menu", inputs: { locationId: "locationId", selectionManager: "selectionManager", hostComponent: "hostComponent" }, ngImport: i0, template: "<vdr-dropdown *ngIf=\"actions$ | async as actions\">\r\n <button\r\n class=\"btn btn-sm btn-outline mr1\"\r\n vdrDropdownTrigger\r\n [disabled]=\"!selectionManager.selection?.length\"\r\n [class.hidden]=\"!selectionManager.selection?.length\"\r\n >\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n {{ 'common.with-selected' | translate: { count:selectionManager.selection.length } }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <ng-container *ngIf=\"actions.length; else noActions\">\r\n <ng-container *ngFor=\"let action of actions\">\r\n <button\r\n *ngIf=\"action.display\"\r\n [disabled]=\"!hasPermissions(action)\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"actionClick($event, action)\"\r\n >\r\n <clr-icon\r\n *ngIf=\"action.icon\"\r\n [attr.shape]=\"action.icon\"\r\n [ngClass]=\"action.iconClass || ''\"\r\n ></clr-icon>\r\n {{ action.label | translate: action.translationVars }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #noActions>\r\n <button type=\"button\" disabled vdrDropdownItem>{{ 'common.no-bulk-actions-available' | translate }}</button>\r\n </ng-template>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n<button\r\n class=\"btn btn-sm btn-link\"\r\n (click)=\"clearSelection()\"\r\n [class.hidden]=\"!selectionManager.selection?.length\"\r\n>\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.clear-selection' | translate }}\r\n</button>\r\n", styles: [":host{display:inline-flex;align-items:center}button.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BulkActionMenuComponent, decorators: [{
16056
15980
  type: Component,
16057
15981
  args: [{ selector: 'vdr-bulk-action-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown *ngIf=\"actions$ | async as actions\">\r\n <button\r\n class=\"btn btn-sm btn-outline mr1\"\r\n vdrDropdownTrigger\r\n [disabled]=\"!selectionManager.selection?.length\"\r\n [class.hidden]=\"!selectionManager.selection?.length\"\r\n >\r\n <clr-icon shape=\"file-group\"></clr-icon>\r\n {{ 'common.with-selected' | translate: { count:selectionManager.selection.length } }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <ng-container *ngIf=\"actions.length; else noActions\">\r\n <ng-container *ngFor=\"let action of actions\">\r\n <button\r\n *ngIf=\"action.display\"\r\n [disabled]=\"!hasPermissions(action)\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"actionClick($event, action)\"\r\n >\r\n <clr-icon\r\n *ngIf=\"action.icon\"\r\n [attr.shape]=\"action.icon\"\r\n [ngClass]=\"action.iconClass || ''\"\r\n ></clr-icon>\r\n {{ action.label | translate: action.translationVars }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #noActions>\r\n <button type=\"button\" disabled vdrDropdownItem>{{ 'common.no-bulk-actions-available' | translate }}</button>\r\n </ng-template>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n<button\r\n class=\"btn btn-sm btn-link\"\r\n (click)=\"clearSelection()\"\r\n [class.hidden]=\"!selectionManager.selection?.length\"\r\n>\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.clear-selection' | translate }}\r\n</button>\r\n", styles: [":host{display:inline-flex;align-items:center}button.hidden{display:none}\n"] }]
16058
15982
  }], ctorParameters: function () { return [{ type: BulkActionRegistryService }, { type: i0.Injector }, { type: i1$2.ActivatedRoute }, { type: DataService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { locationId: [{
@@ -16141,15 +16065,15 @@ class ChannelAssignmentControlComponent {
16141
16065
  }
16142
16066
  }
16143
16067
  }
16144
- ChannelAssignmentControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelAssignmentControlComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
16145
- ChannelAssignmentControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ChannelAssignmentControlComponent, selector: "vdr-channel-assignment-control", inputs: { multiple: "multiple", includeDefaultChannel: "includeDefaultChannel", disableChannelIds: "disableChannelIds" }, providers: [
16068
+ ChannelAssignmentControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelAssignmentControlComponent, deps: [{ token: DataService }], target: i0.ɵɵFactoryTarget.Component });
16069
+ ChannelAssignmentControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ChannelAssignmentControlComponent, selector: "vdr-channel-assignment-control", inputs: { multiple: "multiple", includeDefaultChannel: "includeDefaultChannel", disableChannelIds: "disableChannelIds" }, providers: [
16146
16070
  {
16147
16071
  provide: NG_VALUE_ACCESSOR,
16148
16072
  useExisting: ChannelAssignmentControlComponent,
16149
16073
  multi: true,
16150
16074
  },
16151
16075
  ], ngImport: i0, template: "<ng-select\r\n appendTo=\"body\"\r\n [addTag]=\"false\"\r\n [multiple]=\"multiple\"\r\n [ngModel]=\"value\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [disabled]=\"disabled\"\r\n [compareWith]=\"compareFn\"\r\n (focus)=\"focussed()\"\r\n (change)=\"valueChanged($event)\"\r\n>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span aria-hidden=\"true\" class=\"ng-value-icon left\" (click)=\"clear(item)\"> \u00D7 </span>\r\n <vdr-channel-badge [channelCode]=\"item.code\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{ item.code | channelCodeToLabel | translate }}</span>\r\n </ng-template>\r\n <ng-option *ngFor=\"let item of channels$ | async\" [value]=\"item\" [disabled]=\"channelIsDisabled(item.id)\">\r\n <vdr-channel-badge [channelCode]=\"item.code\"></vdr-channel-badge>\r\n {{ item.code | channelCodeToLabel | translate }}\r\n </ng-option>\r\n</ng-select>\r\n\r\n", styles: [":host{min-width:200px}:host.clr-input{border-bottom:none;padding:0}::ng-deep .ng-value>vdr-channel-badge,::ng-deep .ng-option>vdr-channel-badge{margin-bottom:-1px}::ng-deep .ng-value>vdr-channel-badge{margin-left:6px}.channel-label{margin-right:6px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i3$1.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i3$1.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.Default });
16152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ChannelAssignmentControlComponent, decorators: [{
16076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ChannelAssignmentControlComponent, decorators: [{
16153
16077
  type: Component,
16154
16078
  args: [{ selector: 'vdr-channel-assignment-control', changeDetection: ChangeDetectionStrategy.Default, providers: [
16155
16079
  {
@@ -16199,9 +16123,9 @@ class CustomDetailComponentService {
16199
16123
  return this.customDetailComponents.get(locationId) ?? [];
16200
16124
  }
16201
16125
  }
16202
- CustomDetailComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomDetailComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16203
- CustomDetailComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomDetailComponentService, providedIn: 'root' });
16204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomDetailComponentService, decorators: [{
16126
+ CustomDetailComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomDetailComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16127
+ CustomDetailComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomDetailComponentService, providedIn: 'root' });
16128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomDetailComponentService, decorators: [{
16205
16129
  type: Injectable,
16206
16130
  args: [{
16207
16131
  providedIn: 'root',
@@ -16231,9 +16155,9 @@ class CustomDetailComponentHostComponent {
16231
16155
  }
16232
16156
  }
16233
16157
  }
16234
- CustomDetailComponentHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomDetailComponentHostComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: CustomDetailComponentService }], target: i0.ɵɵFactoryTarget.Component });
16235
- CustomDetailComponentHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: { locationId: "locationId", entity$: "entity$", detailForm: "detailForm" }, ngImport: i0, template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"detailComponent\"></vdr-ui-extension-point>\r\n", styles: [""], dependencies: [{ kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomDetailComponentHostComponent, decorators: [{
16158
+ CustomDetailComponentHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomDetailComponentHostComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: CustomDetailComponentService }], target: i0.ɵɵFactoryTarget.Component });
16159
+ CustomDetailComponentHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: { locationId: "locationId", entity$: "entity$", detailForm: "detailForm" }, ngImport: i0, template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"detailComponent\"></vdr-ui-extension-point>\r\n", styles: [""], dependencies: [{ kind: "component", type: UiExtensionPointComponent, selector: "vdr-ui-extension-point", inputs: ["locationId", "topPx", "leftPx", "display", "api"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomDetailComponentHostComponent, decorators: [{
16237
16161
  type: Component,
16238
16162
  args: [{ selector: 'vdr-custom-detail-component-host', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-ui-extension-point [locationId]=\"locationId\" api=\"detailComponent\"></vdr-ui-extension-point>\r\n" }]
16239
16163
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: CustomDetailComponentService }]; }, propDecorators: { locationId: [{
@@ -16246,9 +16170,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
16246
16170
 
16247
16171
  class CustomerLabelComponent {
16248
16172
  }
16249
- CustomerLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomerLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16250
- CustomerLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: CustomerLabelComponent, selector: "vdr-customer-label", inputs: { customer: "customer" }, ngImport: i0, template: "<clr-icon shape=\"user\" [class.is-solid]=\"customer\"></clr-icon>\r\n<div *ngIf=\"customer\">\r\n <a [routerLink]=\"['/customer', 'customers', customer.id]\">\r\n {{ customer.firstName }} {{ customer.lastName }}\r\n </a>\r\n</div>\r\n<div *ngIf=\"!customer\">{{ 'common.guest' | translate }}</div>\r\n", styles: [":host{display:flex;align-items:center}clr-icon{margin-right:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CustomerLabelComponent, decorators: [{
16173
+ CustomerLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomerLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16174
+ CustomerLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CustomerLabelComponent, selector: "vdr-customer-label", inputs: { customer: "customer" }, ngImport: i0, template: "<clr-icon shape=\"user\" [class.is-solid]=\"customer\"></clr-icon>\r\n<div *ngIf=\"customer\">\r\n <a [routerLink]=\"['/customer', 'customers', customer.id]\">\r\n {{ customer.firstName }} {{ customer.lastName }}\r\n </a>\r\n</div>\r\n<div *ngIf=\"!customer\">{{ 'common.guest' | translate }}</div>\r\n", styles: [":host{display:flex;align-items:center}clr-icon{margin-right:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CustomerLabelComponent, decorators: [{
16252
16176
  type: Component,
16253
16177
  args: [{ selector: 'vdr-customer-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<clr-icon shape=\"user\" [class.is-solid]=\"customer\"></clr-icon>\r\n<div *ngIf=\"customer\">\r\n <a [routerLink]=\"['/customer', 'customers', customer.id]\">\r\n {{ customer.firstName }} {{ customer.lastName }}\r\n </a>\r\n</div>\r\n<div *ngIf=\"!customer\">{{ 'common.guest' | translate }}</div>\r\n", styles: [":host{display:flex;align-items:center}clr-icon{margin-right:6px}\n"] }]
16254
16178
  }], propDecorators: { customer: [{
@@ -16263,11 +16187,11 @@ class DataTableColumnComponent {
16263
16187
  this.expand = false;
16264
16188
  }
16265
16189
  }
16266
- DataTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16267
- DataTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DataTableColumnComponent, selector: "vdr-dt-column", inputs: { expand: "expand" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
16190
+ DataTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16191
+ DataTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DataTableColumnComponent, selector: "vdr-dt-column", inputs: { expand: "expand" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: `
16268
16192
  <ng-template><ng-content></ng-content></ng-template>
16269
16193
  `, isInline: true });
16270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataTableColumnComponent, decorators: [{
16194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataTableColumnComponent, decorators: [{
16271
16195
  type: Component,
16272
16196
  args: [{
16273
16197
  selector: 'vdr-dt-column',
@@ -16284,9 +16208,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
16284
16208
 
16285
16209
  class EmptyPlaceholderComponent {
16286
16210
  }
16287
- EmptyPlaceholderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EmptyPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16288
- EmptyPlaceholderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EmptyPlaceholderComponent, selector: "vdr-empty-placeholder", inputs: { emptyStateLabel: "emptyStateLabel" }, ngImport: i0, template: "<div class=\"empty-state\">\r\n <clr-icon shape=\"bubble-exclamation\" size=\"64\"></clr-icon>\r\n <div class=\"empty-label\">\r\n <ng-container *ngIf=\"emptyStateLabel; else defaultEmptyLabel\">{{ emptyStateLabel }}</ng-container>\r\n <ng-template #defaultEmptyLabel>{{ 'common.no-results' | translate }}</ng-template>\r\n </div>\r\n</div>\r\n", styles: [".empty-state{text-align:center;padding:60px;color:var(--color-grey-400);width:100%}.empty-state .empty-label{margin-top:12px;font-size:22px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EmptyPlaceholderComponent, decorators: [{
16211
+ EmptyPlaceholderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmptyPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16212
+ EmptyPlaceholderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: EmptyPlaceholderComponent, selector: "vdr-empty-placeholder", inputs: { emptyStateLabel: "emptyStateLabel" }, ngImport: i0, template: "<div class=\"empty-state\">\r\n <clr-icon shape=\"bubble-exclamation\" size=\"64\"></clr-icon>\r\n <div class=\"empty-label\">\r\n <ng-container *ngIf=\"emptyStateLabel; else defaultEmptyLabel\">{{ emptyStateLabel }}</ng-container>\r\n <ng-template #defaultEmptyLabel>{{ 'common.no-results' | translate }}</ng-template>\r\n </div>\r\n</div>\r\n", styles: [".empty-state{text-align:center;padding:60px;color:var(--color-grey-400);width:100%}.empty-state .empty-label{margin-top:12px;font-size:22px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmptyPlaceholderComponent, decorators: [{
16290
16214
  type: Component,
16291
16215
  args: [{ selector: 'vdr-empty-placeholder', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"empty-state\">\r\n <clr-icon shape=\"bubble-exclamation\" size=\"64\"></clr-icon>\r\n <div class=\"empty-label\">\r\n <ng-container *ngIf=\"emptyStateLabel; else defaultEmptyLabel\">{{ emptyStateLabel }}</ng-container>\r\n <ng-template #defaultEmptyLabel>{{ 'common.no-results' | translate }}</ng-template>\r\n </div>\r\n</div>\r\n", styles: [".empty-state{text-align:center;padding:60px;color:var(--color-grey-400);width:100%}.empty-state .empty-label{margin-top:12px;font-size:22px}\n"] }]
16292
16216
  }], propDecorators: { emptyStateLabel: [{
@@ -16418,9 +16342,9 @@ class DataTableComponent {
16418
16342
  this.selectionManager?.toggleSelection(item, event);
16419
16343
  }
16420
16344
  }
16421
- DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16422
- DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DataTableComponent, selector: "vdr-data-table", inputs: { items: "items", itemsPerPage: "itemsPerPage", currentPage: "currentPage", totalItems: "totalItems", emptyStateLabel: "emptyStateLabel", selectionManager: "selectionManager", allSelected: "allSelected", isRowSelectedFn: "isRowSelectedFn" }, outputs: { pageChange: "pageChange", itemsPerPageChange: "itemsPerPageChange", allSelectChange: "allSelectChange", rowSelectChange: "rowSelectChange" }, providers: [PaginationService], queries: [{ propertyName: "columns", predicate: DataTableColumnComponent }, { propertyName: "templateRefs", predicate: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!items || (items && items.length); else emptyPlaceholder\">\r\n <div class=\"bulk-actions\">\r\n <ng-content select=\"vdr-bulk-action-menu\"></ng-content>\r\n </div>\r\n <table class=\"table\" [class.no-select]=\"disableSelect\">\r\n <thead [class.items-selected]=\"selectionManager?.selection.length\">\r\n <tr>\r\n <th *ngIf=\"isRowSelectedFn || selectionManager\" class=\"align-middle\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"allSelected ? allSelected : selectionManager?.areAllCurrentItemsSelected()\"\r\n (change)=\"onToggleAllClick()\"\r\n />\r\n </th>\r\n <th *ngFor=\"let header of columns?.toArray()\" class=\"left align-middle\" [class.expand]=\"header.expand\">\r\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let item of items\r\n | paginate\r\n : {\r\n itemsPerPage: itemsPerPage,\r\n currentPage: currentPage,\r\n totalItems: totalItems\r\n };\r\n index as i;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <td *ngIf=\"isRowSelectedFn || selectionManager\" class=\"align-middle selection-col\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"isRowSelectedFn ? isRowSelectedFn(item) : selectionManager?.isSelected(item)\"\r\n (click)=\"onRowClick(item, $event)\"\r\n />\r\n </td>\r\n <ng-container\r\n *ngTemplateOutlet=\"rowTemplate; context: { item: item, index: i }\"\r\n ></ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <div class=\"table-footer\">\r\n <vdr-items-per-page-controls\r\n *ngIf=\"totalItems\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange.emit($event)\"\r\n ></vdr-items-per-page-controls>\r\n <div *ngIf=\"totalItems\" class=\"p5\">\r\n {{ 'common.total-items' | translate: { currentStart, currentEnd, totalItems } }}\r\n </div>\r\n\r\n <vdr-pagination-controls\r\n *ngIf=\"totalItems\"\r\n [currentPage]=\"currentPage\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [totalItems]=\"totalItems\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n ></vdr-pagination-controls>\r\n </div>\r\n</ng-container>\r\n<ng-template #emptyPlaceholder>\r\n <vdr-empty-placeholder [emptyStateLabel]=\"emptyStateLabel\"></vdr-empty-placeholder>\r\n</ng-template>\r\n", styles: [":host{display:block;max-width:100%;overflow:auto;position:relative}.bulk-actions{position:absolute;left:50px;top:30px;z-index:2}table.table{max-width:100vw;overflow-x:auto}table.no-select{-webkit-user-select:none;user-select:none}thead th{position:sticky;top:24px;z-index:1}thead th.expand{width:100%}thead.items-selected tr th{color:transparent}.selection-col{width:24px}.table-footer{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: EmptyPlaceholderComponent, selector: "vdr-empty-placeholder", inputs: ["emptyStateLabel"] }, { kind: "pipe", type: i2$1.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DataTableComponent, decorators: [{
16345
+ DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16346
+ DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: DataTableComponent, selector: "vdr-data-table", inputs: { items: "items", itemsPerPage: "itemsPerPage", currentPage: "currentPage", totalItems: "totalItems", emptyStateLabel: "emptyStateLabel", selectionManager: "selectionManager", allSelected: "allSelected", isRowSelectedFn: "isRowSelectedFn" }, outputs: { pageChange: "pageChange", itemsPerPageChange: "itemsPerPageChange", allSelectChange: "allSelectChange", rowSelectChange: "rowSelectChange" }, providers: [PaginationService], queries: [{ propertyName: "columns", predicate: DataTableColumnComponent }, { propertyName: "templateRefs", predicate: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!items || (items && items.length); else emptyPlaceholder\">\r\n <div class=\"bulk-actions\">\r\n <ng-content select=\"vdr-bulk-action-menu\"></ng-content>\r\n </div>\r\n <table class=\"table\" [class.no-select]=\"disableSelect\">\r\n <thead [class.items-selected]=\"selectionManager?.selection.length\">\r\n <tr>\r\n <th *ngIf=\"isRowSelectedFn || selectionManager\" class=\"align-middle\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"allSelected ? allSelected : selectionManager?.areAllCurrentItemsSelected()\"\r\n (change)=\"onToggleAllClick()\"\r\n />\r\n </th>\r\n <th *ngFor=\"let header of columns?.toArray()\" class=\"left align-middle\" [class.expand]=\"header.expand\">\r\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let item of items\r\n | paginate\r\n : {\r\n itemsPerPage: itemsPerPage,\r\n currentPage: currentPage,\r\n totalItems: totalItems\r\n };\r\n index as i;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <td *ngIf=\"isRowSelectedFn || selectionManager\" class=\"align-middle selection-col\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"isRowSelectedFn ? isRowSelectedFn(item) : selectionManager?.isSelected(item)\"\r\n (click)=\"onRowClick(item, $event)\"\r\n />\r\n </td>\r\n <ng-container\r\n *ngTemplateOutlet=\"rowTemplate; context: { item: item, index: i }\"\r\n ></ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <div class=\"table-footer\">\r\n <vdr-items-per-page-controls\r\n *ngIf=\"totalItems\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange.emit($event)\"\r\n ></vdr-items-per-page-controls>\r\n <div *ngIf=\"totalItems\" class=\"p5\">\r\n {{ 'common.total-items' | translate: { currentStart, currentEnd, totalItems } }}\r\n </div>\r\n\r\n <vdr-pagination-controls\r\n *ngIf=\"totalItems\"\r\n [currentPage]=\"currentPage\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [totalItems]=\"totalItems\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n ></vdr-pagination-controls>\r\n </div>\r\n</ng-container>\r\n<ng-template #emptyPlaceholder>\r\n <vdr-empty-placeholder [emptyStateLabel]=\"emptyStateLabel\"></vdr-empty-placeholder>\r\n</ng-template>\r\n", styles: [":host{display:block;max-width:100%;overflow:auto;position:relative}.bulk-actions{position:absolute;left:50px;top:30px;z-index:2}table.table{max-width:100vw;overflow-x:auto}table.no-select{-webkit-user-select:none;user-select:none}thead th{position:sticky;top:24px;z-index:1}thead th.expand{width:100%}thead.items-selected tr th{color:transparent}.selection-col{width:24px}.table-footer{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }, { kind: "directive", type: i1$4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ItemsPerPageControlsComponent, selector: "vdr-items-per-page-controls", inputs: ["itemsPerPage"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: PaginationControlsComponent, selector: "vdr-pagination-controls", inputs: ["id", "currentPage", "itemsPerPage", "totalItems"], outputs: ["pageChange"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: EmptyPlaceholderComponent, selector: "vdr-empty-placeholder", inputs: ["emptyStateLabel"] }, { kind: "pipe", type: i2$1.PaginatePipe, name: "paginate" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DataTableComponent, decorators: [{
16424
16348
  type: Component,
16425
16349
  args: [{ selector: 'vdr-data-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [PaginationService], template: "<ng-container *ngIf=\"!items || (items && items.length); else emptyPlaceholder\">\r\n <div class=\"bulk-actions\">\r\n <ng-content select=\"vdr-bulk-action-menu\"></ng-content>\r\n </div>\r\n <table class=\"table\" [class.no-select]=\"disableSelect\">\r\n <thead [class.items-selected]=\"selectionManager?.selection.length\">\r\n <tr>\r\n <th *ngIf=\"isRowSelectedFn || selectionManager\" class=\"align-middle\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"allSelected ? allSelected : selectionManager?.areAllCurrentItemsSelected()\"\r\n (change)=\"onToggleAllClick()\"\r\n />\r\n </th>\r\n <th *ngFor=\"let header of columns?.toArray()\" class=\"left align-middle\" [class.expand]=\"header.expand\">\r\n <ng-container *ngTemplateOutlet=\"header.template\"></ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"\r\n let item of items\r\n | paginate\r\n : {\r\n itemsPerPage: itemsPerPage,\r\n currentPage: currentPage,\r\n totalItems: totalItems\r\n };\r\n index as i;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <td *ngIf=\"isRowSelectedFn || selectionManager\" class=\"align-middle selection-col\">\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n [checked]=\"isRowSelectedFn ? isRowSelectedFn(item) : selectionManager?.isSelected(item)\"\r\n (click)=\"onRowClick(item, $event)\"\r\n />\r\n </td>\r\n <ng-container\r\n *ngTemplateOutlet=\"rowTemplate; context: { item: item, index: i }\"\r\n ></ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <div class=\"table-footer\">\r\n <vdr-items-per-page-controls\r\n *ngIf=\"totalItems\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n (itemsPerPageChange)=\"itemsPerPageChange.emit($event)\"\r\n ></vdr-items-per-page-controls>\r\n <div *ngIf=\"totalItems\" class=\"p5\">\r\n {{ 'common.total-items' | translate: { currentStart, currentEnd, totalItems } }}\r\n </div>\r\n\r\n <vdr-pagination-controls\r\n *ngIf=\"totalItems\"\r\n [currentPage]=\"currentPage\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n [totalItems]=\"totalItems\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n ></vdr-pagination-controls>\r\n </div>\r\n</ng-container>\r\n<ng-template #emptyPlaceholder>\r\n <vdr-empty-placeholder [emptyStateLabel]=\"emptyStateLabel\"></vdr-empty-placeholder>\r\n</ng-template>\r\n", styles: [":host{display:block;max-width:100%;overflow:auto;position:relative}.bulk-actions{position:absolute;left:50px;top:30px;z-index:2}table.table{max-width:100vw;overflow-x:auto}table.no-select{-webkit-user-select:none;user-select:none}thead th{position:sticky;top:24px;z-index:1}thead th.expand{width:100%}thead.items-selected tr th{color:transparent}.selection-col{width:24px}.table-footer{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}\n"] }]
16426
16350
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { items: [{
@@ -16471,9 +16395,9 @@ class EditNoteDialogComponent {
16471
16395
  this.resolveWith();
16472
16396
  }
16473
16397
  }
16474
- EditNoteDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EditNoteDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16475
- EditNoteDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: EditNoteDialogComponent, selector: "vdr-edit-note-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n {{ 'common.edit-note' | translate }}\r\n</ng-template>\r\n\r\n<textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n<div class=\"visibility-select\" *ngIf=\"displayPrivacyControls\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"confirm()\" class=\"btn btn-primary\" [disabled]=\"note.length === 0\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{width:100%;height:72px;border-radius:3px;margin-right:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1$4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.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$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: EditNoteDialogComponent, decorators: [{
16398
+ EditNoteDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EditNoteDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16399
+ EditNoteDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: EditNoteDialogComponent, selector: "vdr-edit-note-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>\r\n {{ 'common.edit-note' | translate }}\r\n</ng-template>\r\n\r\n<textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n<div class=\"visibility-select\" *ngIf=\"displayPrivacyControls\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"confirm()\" class=\"btn btn-primary\" [disabled]=\"note.length === 0\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{width:100%;height:72px;border-radius:3px;margin-right:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1$4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.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$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "directive", type: DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EditNoteDialogComponent, decorators: [{
16477
16401
  type: Component,
16478
16402
  args: [{ selector: 'vdr-edit-note-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>\r\n {{ 'common.edit-note' | translate }}\r\n</ng-template>\r\n\r\n<textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n<div class=\"visibility-select\" *ngIf=\"displayPrivacyControls\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"confirm()\" class=\"btn btn-primary\" [disabled]=\"note.length === 0\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n</ng-template>\r\n", styles: [".visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{width:100%;height:72px;border-radius:3px;margin-right:6px}\n"] }]
16479
16403
  }] });
@@ -16563,9 +16487,9 @@ class ExtensionHostService {
16563
16487
  return (input.hasOwnProperty('type') && input.hasOwnProperty('data') && input.hasOwnProperty('requestId'));
16564
16488
  }
16565
16489
  }
16566
- ExtensionHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExtensionHostService, deps: [{ token: DataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Injectable });
16567
- ExtensionHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExtensionHostService });
16568
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExtensionHostService, decorators: [{
16490
+ ExtensionHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExtensionHostService, deps: [{ token: DataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Injectable });
16491
+ ExtensionHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExtensionHostService });
16492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExtensionHostService, decorators: [{
16569
16493
  type: Injectable
16570
16494
  }], ctorParameters: function () { return [{ type: DataService }, { type: NotificationService }]; } });
16571
16495
 
@@ -16630,9 +16554,9 @@ class ExtensionHostComponent {
16630
16554
  return input.hasOwnProperty('extensionUrl');
16631
16555
  }
16632
16556
  }
16633
- ExtensionHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExtensionHostComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2$2.DomSanitizer }, { token: ExtensionHostService }], target: i0.ɵɵFactoryTarget.Component });
16634
- ExtensionHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: ExtensionHostComponent, selector: "vdr-extension-host", providers: [ExtensionHostService], viewQueries: [{ propertyName: "extensionFrame", first: true, predicate: ["extensionFrame"], descendants: true }], ngImport: i0, template: "<ng-template [ngIf]=\"openInIframe\" [ngIfElse]=\"launchExtension\">\r\n <iframe [src]=\"extensionUrl\" #extensionFrame></iframe>\r\n</ng-template>\r\n<ng-template #launchExtension>\r\n <div class=\"launch-button\" [class.launched]=\"extensionWindowIsOpen\">\r\n <div>\r\n <button\r\n class=\"btn btn-lg btn-primary\"\r\n [disabled]=\"extensionWindowIsOpen\"\r\n (click)=\"launchExtensionWindow()\"\r\n >\r\n <clr-icon shape=\"pop-out\"></clr-icon>\r\n {{ 'common.launch-extension' | translate }}\r\n </button>\r\n <h3 class=\"window-hint\" [class.visible]=\"extensionWindowIsOpen\">\r\n {{ 'common.extension-running-in-separate-window' | translate }}\r\n </h3>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: ["iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.launch-button{position:absolute;inset:0;width:100%;height:100%;border:none;padding:24px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;text-align:center}.launch-button.launched{background-color:var(--color-component-bg-300)}.window-hint{visibility:hidden;opacity:0;transition:visibility .3s 0,opacity .3s}.window-hint.visible{visibility:visible;opacity:1;transition:visibility 0,opacity .3s}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
16635
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ExtensionHostComponent, decorators: [{
16557
+ ExtensionHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExtensionHostComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2$2.DomSanitizer }, { token: ExtensionHostService }], target: i0.ɵɵFactoryTarget.Component });
16558
+ ExtensionHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ExtensionHostComponent, selector: "vdr-extension-host", providers: [ExtensionHostService], viewQueries: [{ propertyName: "extensionFrame", first: true, predicate: ["extensionFrame"], descendants: true }], ngImport: i0, template: "<ng-template [ngIf]=\"openInIframe\" [ngIfElse]=\"launchExtension\">\r\n <iframe [src]=\"extensionUrl\" #extensionFrame></iframe>\r\n</ng-template>\r\n<ng-template #launchExtension>\r\n <div class=\"launch-button\" [class.launched]=\"extensionWindowIsOpen\">\r\n <div>\r\n <button\r\n class=\"btn btn-lg btn-primary\"\r\n [disabled]=\"extensionWindowIsOpen\"\r\n (click)=\"launchExtensionWindow()\"\r\n >\r\n <clr-icon shape=\"pop-out\"></clr-icon>\r\n {{ 'common.launch-extension' | translate }}\r\n </button>\r\n <h3 class=\"window-hint\" [class.visible]=\"extensionWindowIsOpen\">\r\n {{ 'common.extension-running-in-separate-window' | translate }}\r\n </h3>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: ["iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.launch-button{position:absolute;inset:0;width:100%;height:100%;border:none;padding:24px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;text-align:center}.launch-button.launched{background-color:var(--color-component-bg-300)}.window-hint{visibility:hidden;opacity:0;transition:visibility .3s 0,opacity .3s}.window-hint.visible{visibility:visible;opacity:1;transition:visibility 0,opacity .3s}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
16559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ExtensionHostComponent, decorators: [{
16636
16560
  type: Component,
16637
16561
  args: [{ selector: 'vdr-extension-host', changeDetection: ChangeDetectionStrategy.Default, providers: [ExtensionHostService], template: "<ng-template [ngIf]=\"openInIframe\" [ngIfElse]=\"launchExtension\">\r\n <iframe [src]=\"extensionUrl\" #extensionFrame></iframe>\r\n</ng-template>\r\n<ng-template #launchExtension>\r\n <div class=\"launch-button\" [class.launched]=\"extensionWindowIsOpen\">\r\n <div>\r\n <button\r\n class=\"btn btn-lg btn-primary\"\r\n [disabled]=\"extensionWindowIsOpen\"\r\n (click)=\"launchExtensionWindow()\"\r\n >\r\n <clr-icon shape=\"pop-out\"></clr-icon>\r\n {{ 'common.launch-extension' | translate }}\r\n </button>\r\n <h3 class=\"window-hint\" [class.visible]=\"extensionWindowIsOpen\">\r\n {{ 'common.extension-running-in-separate-window' | translate }}\r\n </h3>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: ["iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.launch-button{position:absolute;inset:0;width:100%;height:100%;border:none;padding:24px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;text-align:center}.launch-button.launched{background-color:var(--color-component-bg-300)}.window-hint{visibility:hidden;opacity:0;transition:visibility .3s 0,opacity .3s}.window-hint.visible{visibility:visible;opacity:1;transition:visibility 0,opacity .3s}\n"] }]
16638
16562
  }], ctorParameters: function () { return [{ type: i1$2.ActivatedRoute }, { type: i2$2.DomSanitizer }, { type: ExtensionHostService }]; }, propDecorators: { extensionFrame: [{
@@ -16646,9 +16570,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
16646
16570
  */
16647
16571
  class FormItemComponent {
16648
16572
  }
16649
- FormItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16650
- FormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FormItemComponent, selector: "vdr-form-item", inputs: { label: "label" }, ngImport: i0, template: "<div class=\"form-group\">\r\n <label class=\"clr-control-label\">{{ label }}</label>\r\n <div class=\"content\"><ng-content></ng-content></div>\r\n</div>\r\n", styles: [":host{display:block}:host .form-group>.content{flex:1;max-width:20rem}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormItemComponent, decorators: [{
16573
+ FormItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16574
+ FormItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FormItemComponent, selector: "vdr-form-item", inputs: { label: "label" }, ngImport: i0, template: "<div class=\"form-group\">\r\n <label class=\"clr-control-label\">{{ label }}</label>\r\n <div class=\"content\"><ng-content></ng-content></div>\r\n</div>\r\n", styles: [":host{display:block}:host .form-group>.content{flex:1;max-width:20rem}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormItemComponent, decorators: [{
16652
16576
  type: Component,
16653
16577
  args: [{ selector: 'vdr-form-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\r\n <label class=\"clr-control-label\">{{ label }}</label>\r\n <div class=\"content\"><ng-content></ng-content></div>\r\n</div>\r\n", styles: [":host{display:block}:host .form-group>.content{flex:1;max-width:20rem}\n"] }]
16654
16578
  }], propDecorators: { label: [{
@@ -16679,9 +16603,9 @@ class FormattedAddressComponent {
16679
16603
  return typeof input.country !== 'string';
16680
16604
  }
16681
16605
  }
16682
- FormattedAddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormattedAddressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16683
- FormattedAddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: FormattedAddressComponent, selector: "vdr-formatted-address", inputs: { address: "address" }, ngImport: i0, template: "<ul class=\"address-lines\">\r\n <li *ngIf=\"address.fullName\">{{ address.fullName }}</li>\r\n <li *ngIf=\"address.company\">{{ address.company }}</li>\r\n <li *ngIf=\"address.streetLine1\">{{ address.streetLine1 }}</li>\r\n <li *ngIf=\"address.streetLine2\">{{ address.streetLine2 }}</li>\r\n <li *ngIf=\"address.city\">{{ address.city }}</li>\r\n <li *ngIf=\"address.province\">{{ address.province }}</li>\r\n <li *ngIf=\"address.postalCode\">{{ address.postalCode }}</li>\r\n <li *ngIf=\"address.country\">\r\n <clr-icon shape=\"world\" size=\"12\"></clr-icon>\r\n {{ getCountryName() }}\r\n </li>\r\n <li *ngIf=\"address.phoneNumber\">\r\n <clr-icon shape=\"phone-handset\" size=\"12\"></clr-icon>\r\n {{ address.phoneNumber }}\r\n </li>\r\n <li *ngFor=\"let customField of getCustomFields()\" class=\"custom-field\">\r\n <vdr-labeled-data [label]=\"customField.key\">{{ customField.value }}</vdr-labeled-data>\r\n </li>\r\n</ul>\r\n", styles: [".address-lines{list-style-type:none;line-height:1.2em}.custom-field{margin-top:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: FormattedAddressComponent, decorators: [{
16606
+ FormattedAddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormattedAddressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16607
+ FormattedAddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FormattedAddressComponent, selector: "vdr-formatted-address", inputs: { address: "address" }, ngImport: i0, template: "<ul class=\"address-lines\">\r\n <li *ngIf=\"address.fullName\">{{ address.fullName }}</li>\r\n <li *ngIf=\"address.company\">{{ address.company }}</li>\r\n <li *ngIf=\"address.streetLine1\">{{ address.streetLine1 }}</li>\r\n <li *ngIf=\"address.streetLine2\">{{ address.streetLine2 }}</li>\r\n <li *ngIf=\"address.city\">{{ address.city }}</li>\r\n <li *ngIf=\"address.province\">{{ address.province }}</li>\r\n <li *ngIf=\"address.postalCode\">{{ address.postalCode }}</li>\r\n <li *ngIf=\"address.country\">\r\n <clr-icon shape=\"world\" size=\"12\"></clr-icon>\r\n {{ getCountryName() }}\r\n </li>\r\n <li *ngIf=\"address.phoneNumber\">\r\n <clr-icon shape=\"phone-handset\" size=\"12\"></clr-icon>\r\n {{ address.phoneNumber }}\r\n </li>\r\n <li *ngFor=\"let customField of getCustomFields()\" class=\"custom-field\">\r\n <vdr-labeled-data [label]=\"customField.key\">{{ customField.value }}</vdr-labeled-data>\r\n </li>\r\n</ul>\r\n", styles: [".address-lines{list-style-type:none;line-height:1.2em}.custom-field{margin-top:6px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FormattedAddressComponent, decorators: [{
16685
16609
  type: Component,
16686
16610
  args: [{ selector: 'vdr-formatted-address', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"address-lines\">\r\n <li *ngIf=\"address.fullName\">{{ address.fullName }}</li>\r\n <li *ngIf=\"address.company\">{{ address.company }}</li>\r\n <li *ngIf=\"address.streetLine1\">{{ address.streetLine1 }}</li>\r\n <li *ngIf=\"address.streetLine2\">{{ address.streetLine2 }}</li>\r\n <li *ngIf=\"address.city\">{{ address.city }}</li>\r\n <li *ngIf=\"address.province\">{{ address.province }}</li>\r\n <li *ngIf=\"address.postalCode\">{{ address.postalCode }}</li>\r\n <li *ngIf=\"address.country\">\r\n <clr-icon shape=\"world\" size=\"12\"></clr-icon>\r\n {{ getCountryName() }}\r\n </li>\r\n <li *ngIf=\"address.phoneNumber\">\r\n <clr-icon shape=\"phone-handset\" size=\"12\"></clr-icon>\r\n {{ address.phoneNumber }}\r\n </li>\r\n <li *ngFor=\"let customField of getCustomFields()\" class=\"custom-field\">\r\n <vdr-labeled-data [label]=\"customField.key\">{{ customField.value }}</vdr-labeled-data>\r\n </li>\r\n</ul>\r\n", styles: [".address-lines{list-style-type:none;line-height:1.2em}.custom-field{margin-top:6px}\n"] }]
16687
16611
  }], propDecorators: { address: [{
@@ -16690,9 +16614,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
16690
16614
 
16691
16615
  class HistoryEntryDetailComponent {
16692
16616
  }
16693
- HistoryEntryDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HistoryEntryDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16694
- HistoryEntryDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: HistoryEntryDetailComponent, selector: "vdr-history-entry-detail", ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\" size=\"12\"></clr-icon>\r\n {{ 'common.details' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entry-dropdown\">\r\n <ng-content></ng-content>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".entry-dropdown{margin:0 12px}.details-button{margin:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HistoryEntryDetailComponent, decorators: [{
16617
+ HistoryEntryDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HistoryEntryDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16618
+ HistoryEntryDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: HistoryEntryDetailComponent, selector: "vdr-history-entry-detail", ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\" size=\"12\"></clr-icon>\r\n {{ 'common.details' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entry-dropdown\">\r\n <ng-content></ng-content>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".entry-dropdown{margin:0 12px}.details-button{margin:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HistoryEntryDetailComponent, decorators: [{
16696
16620
  type: Component,
16697
16621
  args: [{ selector: 'vdr-history-entry-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\" size=\"12\"></clr-icon>\r\n {{ 'common.details' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entry-dropdown\">\r\n <ng-content></ng-content>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".entry-dropdown{margin:0 12px}.details-button{margin:0}\n"] }]
16698
16622
  }] });
@@ -16703,9 +16627,9 @@ class LanguageSelectorComponent {
16703
16627
  this.languageCodeChange = new EventEmitter();
16704
16628
  }
16705
16629
  }
16706
- LanguageSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16707
- LanguageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: LanguageSelectorComponent, selector: "vdr-language-selector", inputs: { currentLanguageCode: "currentLanguageCode", availableLanguageCodes: "availableLanguageCodes", disabled: "disabled" }, outputs: { languageCodeChange: "languageCodeChange" }, ngImport: i0, template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n <span>{{ code | localeLanguageName }}</span> <span class=\"code ml2\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [".code{color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleLanguageNamePipe, name: "localeLanguageName" }] });
16708
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
16630
+ LanguageSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16631
+ LanguageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: LanguageSelectorComponent, selector: "vdr-language-selector", inputs: { currentLanguageCode: "currentLanguageCode", availableLanguageCodes: "availableLanguageCodes", disabled: "disabled" }, outputs: { languageCodeChange: "languageCodeChange" }, ngImport: i0, template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n <span>{{ code | localeLanguageName }}</span> <span class=\"code ml2\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [".code{color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleLanguageNamePipe, name: "localeLanguageName" }] });
16632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
16709
16633
  type: Component,
16710
16634
  args: [{ selector: 'vdr-language-selector', template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n <span>{{ code | localeLanguageName }}</span> <span class=\"code ml2\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [".code{color:var(--color-grey-400)}\n"] }]
16711
16635
  }], propDecorators: { currentLanguageCode: [{
@@ -16757,9 +16681,9 @@ class StateI18nTokenPipe {
16757
16681
  return value;
16758
16682
  }
16759
16683
  }
16760
- StateI18nTokenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StateI18nTokenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16761
- StateI18nTokenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: StateI18nTokenPipe, name: "stateI18nToken" });
16762
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StateI18nTokenPipe, decorators: [{
16684
+ StateI18nTokenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: StateI18nTokenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16685
+ StateI18nTokenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: StateI18nTokenPipe, name: "stateI18nToken" });
16686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: StateI18nTokenPipe, decorators: [{
16763
16687
  type: Pipe,
16764
16688
  args: [{
16765
16689
  name: 'stateI18nToken',
@@ -16797,9 +16721,9 @@ class OrderStateLabelComponent {
16797
16721
  }
16798
16722
  }
16799
16723
  }
16800
- OrderStateLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OrderStateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16801
- OrderStateLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: OrderStateLabelComponent, selector: "vdr-order-state-label", inputs: { state: "state" }, ngImport: i0, template: "<vdr-chip [ngClass]=\"state\" [colorType]=\"chipColorType\">\r\n <clr-icon shape=\"success-standard\" *ngIf=\"state === 'Delivered'\" size=\"12\"></clr-icon>\r\n <clr-icon shape=\"success-standard\" *ngIf=\"state === 'PartiallyDelivered'\" size=\"12\"></clr-icon>\r\n <clr-icon shape=\"ban\" *ngIf=\"state === 'Cancelled'\" size=\"12\"></clr-icon>\r\n {{ state | stateI18nToken | translate }}\r\n <ng-content></ng-content>\r\n</vdr-chip>\r\n", styles: ["clr-icon{margin-right:3px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: StateI18nTokenPipe, name: "stateI18nToken" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: OrderStateLabelComponent, decorators: [{
16724
+ OrderStateLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrderStateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16725
+ OrderStateLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: OrderStateLabelComponent, selector: "vdr-order-state-label", inputs: { state: "state" }, ngImport: i0, template: "<vdr-chip [ngClass]=\"state\" [colorType]=\"chipColorType\">\r\n <clr-icon shape=\"success-standard\" *ngIf=\"state === 'Delivered'\" size=\"12\"></clr-icon>\r\n <clr-icon shape=\"success-standard\" *ngIf=\"state === 'PartiallyDelivered'\" size=\"12\"></clr-icon>\r\n <clr-icon shape=\"ban\" *ngIf=\"state === 'Cancelled'\" size=\"12\"></clr-icon>\r\n {{ state | stateI18nToken | translate }}\r\n <ng-content></ng-content>\r\n</vdr-chip>\r\n", styles: ["clr-icon{margin-right:3px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: StateI18nTokenPipe, name: "stateI18nToken" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrderStateLabelComponent, decorators: [{
16803
16727
  type: Component,
16804
16728
  args: [{ selector: 'vdr-order-state-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-chip [ngClass]=\"state\" [colorType]=\"chipColorType\">\r\n <clr-icon shape=\"success-standard\" *ngIf=\"state === 'Delivered'\" size=\"12\"></clr-icon>\r\n <clr-icon shape=\"success-standard\" *ngIf=\"state === 'PartiallyDelivered'\" size=\"12\"></clr-icon>\r\n <clr-icon shape=\"ban\" *ngIf=\"state === 'Cancelled'\" size=\"12\"></clr-icon>\r\n {{ state | stateI18nToken | translate }}\r\n <ng-content></ng-content>\r\n</vdr-chip>\r\n", styles: ["clr-icon{margin-right:3px}\n"] }]
16805
16729
  }], propDecorators: { state: [{
@@ -16843,9 +16767,9 @@ class RadioCardFieldsetComponent {
16843
16767
  this.focussedId = item && this.idFn(item);
16844
16768
  }
16845
16769
  }
16846
- RadioCardFieldsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RadioCardFieldsetComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16847
- RadioCardFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RadioCardFieldsetComponent, selector: "vdr-radio-card-fieldset", inputs: { selectedItemId: "selectedItemId", idFn: "idFn" }, outputs: { selectItem: "selectItem" }, usesOnChanges: true, ngImport: i0, template: `<fieldset><ng-content></ng-content></fieldset> `, isInline: true, styles: ["fieldset{display:flex;align-items:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RadioCardFieldsetComponent, decorators: [{
16770
+ RadioCardFieldsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioCardFieldsetComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16771
+ RadioCardFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RadioCardFieldsetComponent, selector: "vdr-radio-card-fieldset", inputs: { selectedItemId: "selectedItemId", idFn: "idFn" }, outputs: { selectItem: "selectItem" }, usesOnChanges: true, ngImport: i0, template: `<fieldset><ng-content></ng-content></fieldset> `, isInline: true, styles: ["fieldset{display:flex;align-items:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioCardFieldsetComponent, decorators: [{
16849
16773
  type: Component,
16850
16774
  args: [{ selector: 'vdr-radio-card-fieldset', template: `<fieldset><ng-content></ng-content></fieldset> `, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["fieldset{display:flex;align-items:flex-start}\n"] }]
16851
16775
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedItemId: [{
@@ -16889,9 +16813,9 @@ class RadioCardComponent {
16889
16813
  return this.fieldset.idFn(item);
16890
16814
  }
16891
16815
  }
16892
- RadioCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RadioCardComponent, deps: [{ token: RadioCardFieldsetComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16893
- RadioCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: RadioCardComponent, selector: "vdr-radio-card", inputs: { item: "item" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["VdrRadioCard"], ngImport: i0, template: "<label\r\n [ngClass]=\"{\r\n 'selected': isSelected(item),\r\n 'focussed': isFocussed(item)\r\n }\"\r\n class=\"radio-card\"\r\n>\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"getItemId(item)\"\r\n class=\"hidden\"\r\n (focus)=\"setFocussedId(item)\"\r\n (blur)=\"setFocussedId(undefined)\"\r\n (change)=\"selectChanged(item)\"\r\n />\r\n <vdr-select-toggle [selected]=\"isSelected(item)\" size=\"small\"></vdr-select-toggle>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [":host{display:inline-block}.radio-card{background:none;position:relative;display:block;border:1px solid var(--clr-btn-default-border-color, #0072a3);border-radius:var(--clr-btn-border-radius, .15rem);padding:6px;text-align:left;margin:6px}.radio-card:hover{cursor:pointer;outline:1px solid var(--color-primary-500)}.radio-card.selected{outline:1px solid var(--color-primary-500);background-color:var(--color-primary-100)}input.hidden{visibility:hidden;position:absolute}vdr-select-toggle{position:absolute;top:3px;left:3px}.content{margin-left:24px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: RadioCardComponent, decorators: [{
16816
+ RadioCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioCardComponent, deps: [{ token: RadioCardFieldsetComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16817
+ RadioCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RadioCardComponent, selector: "vdr-radio-card", inputs: { item: "item" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["VdrRadioCard"], ngImport: i0, template: "<label\r\n [ngClass]=\"{\r\n 'selected': isSelected(item),\r\n 'focussed': isFocussed(item)\r\n }\"\r\n class=\"radio-card\"\r\n>\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"getItemId(item)\"\r\n class=\"hidden\"\r\n (focus)=\"setFocussedId(item)\"\r\n (blur)=\"setFocussedId(undefined)\"\r\n (change)=\"selectChanged(item)\"\r\n />\r\n <vdr-select-toggle [selected]=\"isSelected(item)\" size=\"small\"></vdr-select-toggle>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [":host{display:inline-block}.radio-card{background:none;position:relative;display:block;border:1px solid var(--clr-btn-default-border-color, #0072a3);border-radius:var(--clr-btn-border-radius, .15rem);padding:6px;text-align:left;margin:6px}.radio-card:hover{cursor:pointer;outline:1px solid var(--color-primary-500)}.radio-card.selected{outline:1px solid var(--color-primary-500);background-color:var(--color-primary-100)}input.hidden{visibility:hidden;position:absolute}vdr-select-toggle{position:absolute;top:3px;left:3px}.content{margin-left:24px}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: SelectToggleComponent, selector: "vdr-select-toggle", inputs: ["size", "selected", "hiddenWhenOff", "disabled", "label"], outputs: ["selectedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioCardComponent, decorators: [{
16895
16819
  type: Component,
16896
16820
  args: [{ selector: 'vdr-radio-card', exportAs: 'VdrRadioCard', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\r\n [ngClass]=\"{\r\n 'selected': isSelected(item),\r\n 'focussed': isFocussed(item)\r\n }\"\r\n class=\"radio-card\"\r\n>\r\n <input\r\n type=\"radio\"\r\n [name]=\"name\"\r\n [value]=\"getItemId(item)\"\r\n class=\"hidden\"\r\n (focus)=\"setFocussedId(item)\"\r\n (blur)=\"setFocussedId(undefined)\"\r\n (change)=\"selectChanged(item)\"\r\n />\r\n <vdr-select-toggle [selected]=\"isSelected(item)\" size=\"small\"></vdr-select-toggle>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [":host{display:inline-block}.radio-card{background:none;position:relative;display:block;border:1px solid var(--clr-btn-default-border-color, #0072a3);border-radius:var(--clr-btn-border-radius, .15rem);padding:6px;text-align:left;margin:6px}.radio-card:hover{cursor:pointer;outline:1px solid var(--color-primary-500)}.radio-card.selected{outline:1px solid var(--color-primary-500);background-color:var(--color-primary-100)}input.hidden{visibility:hidden;position:absolute}vdr-select-toggle{position:absolute;top:3px;left:3px}.content{margin-left:24px}\n"] }]
16897
16821
  }], ctorParameters: function () { return [{ type: RadioCardFieldsetComponent }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
@@ -16909,9 +16833,9 @@ class TableRowActionComponent {
16909
16833
  this.disabled = false;
16910
16834
  }
16911
16835
  }
16912
- TableRowActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TableRowActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16913
- TableRowActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TableRowActionComponent, selector: "vdr-table-row-action", inputs: { linkTo: "linkTo", label: "label", iconShape: "iconShape", disabled: "disabled" }, ngImport: i0, template: "<ng-container *ngIf=\"!disabled; else: disabledLink\">\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"linkTo\">\r\n <clr-icon [attr.shape]=\"iconShape\"></clr-icon>\r\n {{ label }}\r\n </a>\r\n</ng-container>\r\n<ng-template #disabledLink>\r\n <button class=\"btn btn-link btn-sm\" disabled>\r\n <clr-icon [attr.shape]=\"iconShape\"></clr-icon>\r\n {{ label }}\r\n </button>\r\n</ng-template>\r\n", styles: ["a.btn{margin:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
16914
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TableRowActionComponent, decorators: [{
16836
+ TableRowActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableRowActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16837
+ TableRowActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TableRowActionComponent, selector: "vdr-table-row-action", inputs: { linkTo: "linkTo", label: "label", iconShape: "iconShape", disabled: "disabled" }, ngImport: i0, template: "<ng-container *ngIf=\"!disabled; else: disabledLink\">\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"linkTo\">\r\n <clr-icon [attr.shape]=\"iconShape\"></clr-icon>\r\n {{ label }}\r\n </a>\r\n</ng-container>\r\n<ng-template #disabledLink>\r\n <button class=\"btn btn-link btn-sm\" disabled>\r\n <clr-icon [attr.shape]=\"iconShape\"></clr-icon>\r\n {{ label }}\r\n </button>\r\n</ng-template>\r\n", styles: ["a.btn{margin:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
16838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TableRowActionComponent, decorators: [{
16915
16839
  type: Component,
16916
16840
  args: [{ selector: 'vdr-table-row-action', template: "<ng-container *ngIf=\"!disabled; else: disabledLink\">\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"linkTo\">\r\n <clr-icon [attr.shape]=\"iconShape\"></clr-icon>\r\n {{ label }}\r\n </a>\r\n</ng-container>\r\n<ng-template #disabledLink>\r\n <button class=\"btn btn-link btn-sm\" disabled>\r\n <clr-icon [attr.shape]=\"iconShape\"></clr-icon>\r\n {{ label }}\r\n </button>\r\n</ng-template>\r\n", styles: ["a.btn{margin:0}\n"] }]
16917
16841
  }], propDecorators: { linkTo: [{
@@ -16943,9 +16867,9 @@ class TimelineEntryComponent {
16943
16867
  }
16944
16868
  }
16945
16869
  }
16946
- TimelineEntryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TimelineEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16947
- TimelineEntryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: { displayType: "displayType", createdAt: "createdAt", name: "name", featured: "featured", iconShape: "iconShape", isLast: "isLast", collapsed: "collapsed" }, outputs: { expandClick: "expandClick" }, host: { properties: { "class.collapsed": "this.collapsed" } }, ngImport: i0, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TimelineEntryComponent, decorators: [{
16870
+ TimelineEntryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TimelineEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16871
+ TimelineEntryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TimelineEntryComponent, selector: "vdr-timeline-entry", inputs: { displayType: "displayType", createdAt: "createdAt", name: "name", featured: "featured", iconShape: "iconShape", isLast: "isLast", collapsed: "collapsed" }, outputs: { expandClick: "expandClick" }, host: { properties: { "class.collapsed": "this.collapsed" } }, ngImport: i0, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TimelineEntryComponent, decorators: [{
16949
16873
  type: Component,
16950
16874
  args: [{ selector: 'vdr-timeline-entry', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"displayType\"\r\n [class.has-custom-icon]=\"!!iconShape\"\r\n class=\"entry\"\r\n [class.last]=\"isLast === true\"\r\n [class.collapsed]=\"collapsed\"\r\n>\r\n <div class=\"timeline\" (click)=\"expandClick.emit()\" [title]=\"timelineTitle | translate\">\r\n <div class=\"custom-icon\">\r\n <clr-icon\r\n *ngIf=\"iconShape && !collapsed\"\r\n [attr.shape]=\"getIconShape()\"\r\n [ngClass]=\"getIconClass()\"\r\n size=\"24\"\r\n ></clr-icon>\r\n </div>\r\n </div>\r\n <div class=\"entry-body\">\r\n <div class=\"detail\">\r\n <div class=\"time\">\r\n {{ createdAt | localeDate: 'short' }}\r\n </div>\r\n <div class=\"name\">\r\n {{ name || '' }}\r\n </div>\r\n </div>\r\n <div [class.featured-entry]=\"featured\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}:host:first-of-type .timeline:before{border-left-color:var(--color-timeline-thread)}:host:first-of-type .entry-body{max-height:initial}.entry{display:flex}.timeline{border-left:2px solid var(--color-timeline-thread);padding-bottom:8px;position:relative}.timeline:before{content:\"\";position:absolute;width:2px;height:32px;left:-2px;border-left:2px solid var(--color-timeline-thread)}.timeline:after{content:\"\";display:block;border-radius:50%;width:8px;height:8px;background-color:var(--color-component-bg-200);border:1px solid var(--color-component-border-300);position:absolute;left:-5px;top:32px;transition:top .2s;cursor:pointer}.timeline .custom-icon{position:absolute;width:32px;height:32px;left:-17px;top:32px;align-items:center;justify-content:center;border-radius:50%;color:var(--color-primary-600);background-color:var(--color-component-bg-100);border:1px solid var(--color-component-border-200);display:none}.entry.has-custom-icon .timeline:after{display:none}.entry.has-custom-icon .custom-icon{display:flex}.entry.last .timeline{border-left-color:transparent}.entry-body{flex:1;padding-top:24px;padding-left:12px;line-height:16px;margin-left:12px;color:var(--color-text-200);overflow:visible;max-height:100px;transition:max-height .2s,padding-top .2s,opacity .2s .2s}.featured-entry ::ng-deep .title{color:var(--color-text-100);font-size:16px;line-height:26px}.featured-entry ::ng-deep .note-text{color:var(--color-text-100);white-space:pre-wrap}.detail{display:flex;color:var(--color-text-300);font-size:12px}.detail .name{margin-left:12px}.muted .timeline,.muted .timeline .custom-icon{color:var(--color-text-300)}.success .timeline,.success .timeline .custom-icon{color:var(--color-success-400)}.success .timeline:after{background-color:var(--color-success-200);border:1px solid var(--color-success-400)}.error .timeline,.error .timeline .custom-icon{color:var(--color-error-400)}.error .timeline:after{background-color:var(--color-error-200);border:1px solid var(--color-error-400)}.warning .timeline,.warning .timeline .custom-icon{color:var(--color-warning-400)}.warning .timeline:after{background-color:var(--color-warning-200);border:1px solid var(--color-warning-400)}.collapsed .entry-body{max-height:0;overflow:hidden;opacity:0;padding-top:0}.collapsed .timeline{border-left-color:transparent}.collapsed .timeline:after{top:0}\n"] }]
16951
16875
  }], propDecorators: { displayType: [{
@@ -16974,9 +16898,9 @@ class TitleInputComponent {
16974
16898
  this.readonly = false;
16975
16899
  }
16976
16900
  }
16977
- TitleInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TitleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16978
- TitleInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TitleInputComponent, selector: "vdr-title-input", inputs: { readonly: "readonly" }, host: { properties: { "class.readonly": "this.readonly" } }, ngImport: i0, template: "<ng-content></ng-content>\r\n<div class=\"edit-icon\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n</div>\r\n", styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:var(--color-component-bg-100)!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-400);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16979
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TitleInputComponent, decorators: [{
16901
+ TitleInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TitleInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16902
+ TitleInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TitleInputComponent, selector: "vdr-title-input", inputs: { readonly: "readonly" }, host: { properties: { "class.readonly": "this.readonly" } }, ngImport: i0, template: "<ng-content></ng-content>\r\n<div class=\"edit-icon\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n</div>\r\n", styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:var(--color-component-bg-100)!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-400);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"], dependencies: [{ kind: "directive", type: i1$4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TitleInputComponent, decorators: [{
16980
16904
  type: Component,
16981
16905
  args: [{ selector: 'vdr-title-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n<div class=\"edit-icon\" *ngIf=\"!readonly\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n</div>\r\n", styles: [":host{display:block;position:relative}:host ::ng-deep input{font-size:18px;color:var(--clr-p1-color);max-width:100%}:host ::ng-deep input:not(:focus){border-color:transparent!important;background-color:var(--color-component-bg-100)!important}:host ::ng-deep input:focus{background-color:var(--clr-global-app-background)}:host ::ng-deep .clr-control-container{max-width:100%}:host ::ng-deep .clr-input-wrapper{max-width:100%!important}:host .edit-icon{position:absolute;right:8px;top:6px;color:var(--color-grey-400);opacity:0;transition:opacity .2s}:host:hover ::ng-deep input:not(:focus){background-color:var(--color-component-bg-200)!important}:host:hover .edit-icon{opacity:1}:host.readonly .edit-icon{display:none}:host.readonly:hover ::ng-deep input:not(:focus){background-color:var(--color-grey-200)!important}\n"] }]
16982
16906
  }], propDecorators: { readonly: [{
@@ -17006,9 +16930,9 @@ class IfDefaultChannelActiveDirective extends IfDirectiveBase {
17006
16930
  return !!(defaultChannel && userStatus.activeChannelId === defaultChannel.id);
17007
16931
  }
17008
16932
  }
17009
- IfDefaultChannelActiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfDefaultChannelActiveDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
17010
- IfDefaultChannelActiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: IfDefaultChannelActiveDirective, selector: "[vdrIfDefaultChannelActive]", inputs: { vdrIfMultichannelElse: "vdrIfMultichannelElse" }, usesInheritance: true, ngImport: i0 });
17011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: IfDefaultChannelActiveDirective, decorators: [{
16933
+ IfDefaultChannelActiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfDefaultChannelActiveDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
16934
+ IfDefaultChannelActiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: IfDefaultChannelActiveDirective, selector: "[vdrIfDefaultChannelActive]", inputs: { vdrIfMultichannelElse: "vdrIfMultichannelElse" }, usesInheritance: true, ngImport: i0 });
16935
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: IfDefaultChannelActiveDirective, decorators: [{
17012
16936
  type: Directive,
17013
16937
  args: [{
17014
16938
  selector: '[vdrIfDefaultChannelActive]',
@@ -17053,9 +16977,9 @@ class DurationPipe {
17053
16977
  }
17054
16978
  }
17055
16979
  }
17056
- DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DurationPipe, deps: [{ token: I18nService }], target: i0.ɵɵFactoryTarget.Pipe });
17057
- DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: DurationPipe, name: "duration" });
17058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DurationPipe, decorators: [{
16980
+ DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DurationPipe, deps: [{ token: I18nService }], target: i0.ɵɵFactoryTarget.Pipe });
16981
+ DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: DurationPipe, name: "duration" });
16982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DurationPipe, decorators: [{
17059
16983
  type: Pipe,
17060
16984
  args: [{
17061
16985
  name: 'duration',
@@ -17099,9 +17023,9 @@ class TimeAgoPipe {
17099
17023
  return then.format();
17100
17024
  }
17101
17025
  }
17102
- TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TimeAgoPipe, deps: [{ token: I18nService }], target: i0.ɵɵFactoryTarget.Pipe });
17103
- TimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: TimeAgoPipe, name: "timeAgo", pure: false });
17104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TimeAgoPipe, decorators: [{
17026
+ TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TimeAgoPipe, deps: [{ token: I18nService }], target: i0.ɵɵFactoryTarget.Pipe });
17027
+ TimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: TimeAgoPipe, name: "timeAgo", pure: false });
17028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TimeAgoPipe, decorators: [{
17105
17029
  type: Pipe,
17106
17030
  args: [{
17107
17031
  name: 'timeAgo',
@@ -17132,9 +17056,9 @@ class CanDeactivateDetailGuard {
17132
17056
  }
17133
17057
  }
17134
17058
  }
17135
- CanDeactivateDetailGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CanDeactivateDetailGuard, deps: [{ token: ModalService }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
17136
- CanDeactivateDetailGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CanDeactivateDetailGuard });
17137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CanDeactivateDetailGuard, decorators: [{
17059
+ CanDeactivateDetailGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CanDeactivateDetailGuard, deps: [{ token: ModalService }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
17060
+ CanDeactivateDetailGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CanDeactivateDetailGuard });
17061
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CanDeactivateDetailGuard, decorators: [{
17138
17062
  type: Injectable
17139
17063
  }], ctorParameters: function () { return [{ type: ModalService }, { type: i1$2.Router }]; } });
17140
17064
 
@@ -17278,8 +17202,8 @@ const DYNAMIC_FORM_INPUTS = [
17278
17202
  ];
17279
17203
  class SharedModule {
17280
17204
  }
17281
- SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17282
- SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: SharedModule, declarations: [ActionBarComponent,
17205
+ SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17206
+ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SharedModule, declarations: [ActionBarComponent,
17283
17207
  ActionBarLeftComponent,
17284
17208
  ActionBarRightComponent,
17285
17209
  AssetPreviewComponent,
@@ -17538,7 +17462,7 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
17538
17462
  HtmlEditorFormInputComponent,
17539
17463
  ProductMultiSelectorFormInputComponent,
17540
17464
  CombinationModeFormInputComponent] });
17541
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SharedModule, providers: [
17465
+ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedModule, providers: [
17542
17466
  // This needs to be shared, since lazy-loaded
17543
17467
  // modules have their own entryComponents which
17544
17468
  // are unknown to the CoreModule instance of ModalService.
@@ -17555,7 +17479,7 @@ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
17555
17479
  TranslateModule,
17556
17480
  OverlayModule,
17557
17481
  DragDropModule] });
17558
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: SharedModule, decorators: [{
17482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedModule, decorators: [{
17559
17483
  type: NgModule,
17560
17484
  args: [{
17561
17485
  imports: [IMPORTS],
@@ -17601,8 +17525,8 @@ class CoreModule {
17601
17525
  this.titleService.setTitle(title);
17602
17526
  }
17603
17527
  }
17604
- CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CoreModule, deps: [{ token: I18nService }, { token: LocalStorageService }, { token: i2$2.Title }], target: i0.ɵɵFactoryTarget.NgModule });
17605
- CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: CoreModule, declarations: [AppShellComponent,
17528
+ CoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, deps: [{ token: I18nService }, { token: LocalStorageService }, { token: i2$2.Title }], target: i0.ɵɵFactoryTarget.NgModule });
17529
+ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, declarations: [AppShellComponent,
17606
17530
  UserMenuComponent,
17607
17531
  BaseNavComponent,
17608
17532
  MainNavComponent,
@@ -17617,7 +17541,7 @@ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
17617
17541
  DataModule,
17618
17542
  SharedModule,
17619
17543
  BrowserAnimationsModule, i3.TranslateModule], exports: [SharedModule, OverlayHostComponent] });
17620
- CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CoreModule, providers: [registerDefaultFormInputs(), Title], imports: [BrowserModule,
17544
+ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, providers: [registerDefaultFormInputs(), Title], imports: [BrowserModule,
17621
17545
  DataModule,
17622
17546
  SharedModule,
17623
17547
  BrowserAnimationsModule,
@@ -17629,7 +17553,7 @@ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15
17629
17553
  },
17630
17554
  compiler: { provide: TranslateCompiler, useClass: InjectableTranslateMessageFormatCompiler },
17631
17555
  }), SharedModule] });
17632
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CoreModule, decorators: [{
17556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CoreModule, decorators: [{
17633
17557
  type: NgModule,
17634
17558
  args: [{
17635
17559
  imports: [
@@ -17672,10 +17596,10 @@ function HttpLoaderFactory(http, location) {
17672
17596
 
17673
17597
  class AppComponentModule {
17674
17598
  }
17675
- AppComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17676
- AppComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: AppComponentModule, declarations: [AppComponent], imports: [SharedModule, CoreModule], exports: [AppComponent] });
17677
- AppComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppComponentModule, imports: [SharedModule, CoreModule] });
17678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AppComponentModule, decorators: [{
17599
+ AppComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17600
+ AppComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: AppComponentModule, declarations: [AppComponent], imports: [SharedModule, CoreModule], exports: [AppComponent] });
17601
+ AppComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppComponentModule, imports: [SharedModule, CoreModule] });
17602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AppComponentModule, decorators: [{
17679
17603
  type: NgModule,
17680
17604
  args: [{
17681
17605
  imports: [SharedModule, CoreModule],
@@ -17994,9 +17918,9 @@ class BaseListComponent {
17994
17918
  });
17995
17919
  }
17996
17920
  }
17997
- BaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseListComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive });
17998
- BaseListComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: BaseListComponent, ngImport: i0 });
17999
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: BaseListComponent, decorators: [{
17921
+ BaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseListComponent, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive });
17922
+ BaseListComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BaseListComponent, ngImport: i0 });
17923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseListComponent, decorators: [{
18000
17924
  type: Directive
18001
17925
  }], ctorParameters: function () { return [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }]; } });
18002
17926
 
@@ -18142,7 +18066,7 @@ function patchObject(obj, patch) {
18142
18066
  }
18143
18067
 
18144
18068
  // Auto-generated by the set-version.js script.
18145
- const ADMIN_UI_VERSION = '2.0.0-beta.0';
18069
+ const ADMIN_UI_VERSION = '2.0.0-beta.2';
18146
18070
 
18147
18071
  /**
18148
18072
  * @description
@@ -18234,9 +18158,9 @@ class HistoryEntryComponentService {
18234
18158
  return this.customEntryComponents.get(type)?.component;
18235
18159
  }
18236
18160
  }
18237
- HistoryEntryComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HistoryEntryComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18238
- HistoryEntryComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HistoryEntryComponentService, providedIn: 'root' });
18239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: HistoryEntryComponentService, decorators: [{
18161
+ HistoryEntryComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HistoryEntryComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18162
+ HistoryEntryComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HistoryEntryComponentService, providedIn: 'root' });
18163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: HistoryEntryComponentService, decorators: [{
18240
18164
  type: Injectable,
18241
18165
  args: [{
18242
18166
  providedIn: 'root',
@@ -18322,9 +18246,9 @@ class DashboardWidgetService {
18322
18246
  return layout;
18323
18247
  }
18324
18248
  }
18325
- DashboardWidgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DashboardWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18326
- DashboardWidgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DashboardWidgetService, providedIn: 'root' });
18327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DashboardWidgetService, decorators: [{
18249
+ DashboardWidgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DashboardWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18250
+ DashboardWidgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DashboardWidgetService, providedIn: 'root' });
18251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DashboardWidgetService, decorators: [{
18328
18252
  type: Injectable,
18329
18253
  args: [{
18330
18254
  providedIn: 'root',
@@ -18384,9 +18308,9 @@ class AuthGuard {
18384
18308
  }));
18385
18309
  }
18386
18310
  }
18387
- AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AuthGuard, deps: [{ token: i1$2.Router }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
18388
- AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AuthGuard, providedIn: 'root' });
18389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AuthGuard, decorators: [{
18311
+ AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthGuard, deps: [{ token: i1$2.Router }, { token: AuthService }], target: i0.ɵɵFactoryTarget.Injectable });
18312
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthGuard, providedIn: 'root' });
18313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AuthGuard, decorators: [{
18390
18314
  type: Injectable,
18391
18315
  args: [{
18392
18316
  providedIn: 'root',