@elderbyte/ngx-starter 15.2.3 → 15.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/_index.scss +2 -0
  2. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  3. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +3 -3
  4. package/esm2020/lib/common/forms/elder-from-field-base.mjs +3 -3
  5. package/esm2020/lib/common/forms/elder-from-field-customizable-base.mjs +3 -3
  6. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +3 -3
  7. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +3 -3
  8. package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
  9. package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
  10. package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
  11. package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
  12. package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
  13. package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
  14. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  15. package/esm2020/lib/common/url/elder-router.service.mjs +3 -3
  16. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  17. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  18. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  19. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  20. package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
  21. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  22. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
  23. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  24. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  25. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  26. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  27. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  28. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  29. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  30. package/esm2020/lib/components/chips/elder-chip-label.directive.mjs +120 -0
  31. package/esm2020/lib/components/chips/elder-chips.module.mjs +48 -0
  32. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  33. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  34. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  35. package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
  36. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  37. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  38. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  39. package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
  40. package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
  41. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
  42. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  43. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  44. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +53 -29
  45. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  46. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  47. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +4 -11
  48. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  49. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  50. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  51. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  52. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  53. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  54. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  55. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +9 -9
  56. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  57. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  58. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  59. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  60. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  61. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  62. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  63. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  64. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  65. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  66. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  67. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  68. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  69. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
  70. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  71. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  72. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +4 -4
  73. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  74. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  75. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  76. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  77. package/esm2020/lib/components/errors/elder-error.module.mjs +4 -4
  78. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  79. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  80. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  81. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  82. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  83. package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
  84. package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
  85. package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
  86. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  87. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  88. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  89. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  90. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  91. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  92. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  93. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  94. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  95. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +4 -4
  96. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  97. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  98. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  99. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  100. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  101. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  102. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  103. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  104. package/esm2020/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +3 -3
  105. package/esm2020/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +3 -3
  106. package/esm2020/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +3 -3
  107. package/esm2020/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +3 -3
  108. package/esm2020/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +3 -3
  109. package/esm2020/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +3 -3
  110. package/esm2020/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +3 -3
  111. package/esm2020/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +3 -3
  112. package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
  113. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  114. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  115. package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
  116. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  117. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  118. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
  119. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
  120. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
  121. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  122. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  123. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  124. package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
  125. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
  126. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  127. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  128. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  129. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  130. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
  131. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  132. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  133. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  134. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  135. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  136. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  137. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
  138. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
  139. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  140. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  141. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +3 -3
  142. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -3
  143. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +4 -4
  144. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
  145. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  146. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  147. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  148. package/esm2020/lib/components/iframes/iframe.service.mjs +3 -3
  149. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  150. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
  151. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
  152. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  153. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +3 -3
  154. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
  155. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  156. package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
  157. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  158. package/esm2020/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  159. package/esm2020/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +3 -3
  160. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
  161. package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
  162. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  163. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  164. package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
  165. package/esm2020/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +3 -3
  166. package/esm2020/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +3 -3
  167. package/esm2020/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +3 -3
  168. package/esm2020/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +3 -3
  169. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  170. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  171. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  172. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  173. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  174. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  175. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  176. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  177. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  178. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  179. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  180. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  181. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  182. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  183. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  184. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +3 -3
  185. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
  186. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  187. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  188. package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
  189. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  190. package/esm2020/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +3 -3
  191. package/esm2020/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +9 -9
  192. package/esm2020/lib/components/public_api.mjs +2 -1
  193. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
  194. package/esm2020/lib/components/select/elder-select-base.mjs +3 -3
  195. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +9 -9
  196. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +3 -3
  197. package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
  198. package/esm2020/lib/components/select/elder-select.module.mjs +4 -4
  199. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
  200. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  201. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +3 -3
  202. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +3 -3
  203. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
  204. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  205. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +3 -3
  206. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
  207. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +3 -3
  208. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  209. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  210. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  211. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  212. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  213. package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
  214. package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
  215. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  216. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  217. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  218. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  219. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  220. package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
  221. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
  222. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  223. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  224. package/esm2020/lib/components/theme/elder-theme.directive.mjs +3 -3
  225. package/esm2020/lib/components/theme/elder-theme.module.mjs +5 -5
  226. package/esm2020/lib/components/theme/elder-theme.service.mjs +3 -3
  227. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  228. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  229. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +12 -7
  230. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  231. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +6 -6
  232. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
  233. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  234. package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
  235. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  236. package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
  237. package/esm2020/lib/components/toasts/elder-toast.service.mjs +3 -3
  238. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  239. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  240. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
  241. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  242. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
  243. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
  244. package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
  245. package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
  246. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
  247. package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
  248. package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
  249. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  250. package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
  251. package/esm2020/lib/pipes/elder-pipes.module.mjs +10 -10
  252. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
  253. package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
  254. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  255. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +3 -3
  256. package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
  257. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  258. package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
  259. package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
  260. package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
  261. package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
  262. package/fesm2015/elderbyte-ngx-starter.mjs +1096 -916
  263. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  264. package/fesm2020/elderbyte-ngx-starter.mjs +1092 -916
  265. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  266. package/lib/components/chips/elder-chip-label.directive.d.ts +40 -0
  267. package/lib/components/chips/elder-chips.module.d.ts +12 -0
  268. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +15 -3
  269. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +2 -9
  270. package/lib/components/public_api.d.ts +1 -0
  271. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +3 -1
  272. package/package.json +1 -1
  273. package/src/lib/components/time/_elder-time-input.theme.scss +7 -0
  274. package/theming/_elder-chip-theme.scss +160 -0
  275. package/theming/_elder-mdc-support.scss +20 -13
@@ -1,8 +1,10 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { map } from 'rxjs/operators';
2
+ import { BehaviorSubject, switchMap } from 'rxjs';
3
+ import { filter, map } from 'rxjs/operators';
3
4
  import { LoggerFactory } from '@elderbyte/ts-logger';
4
5
  import { BytesPerSecondFormat } from '../../../common/format/bytes-per-second-format';
5
6
  import { BytesFormat } from '../../../common/format/bytes-format';
7
+ import { DataTransferStatus } from '../../../common/http/transfer/data-transfer-status';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "@angular/common";
8
10
  import * as i2 from "@angular/material/icon";
@@ -21,7 +23,10 @@ export class HttpDataTransferComponent {
21
23
  * Fields *
22
24
  * *
23
25
  **************************************************************************/
24
- this.logger = LoggerFactory.getLogger('HttpDataTransferComponent');
26
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
27
+ this._transfer$ = new BehaviorSubject(null);
28
+ this.$state = this._transfer$.pipe(filter(transfer => !!transfer), switchMap(transfer => transfer.state$));
29
+ this.$detail = this.$state.pipe(map(state => this.renderTransferProgress(state)));
25
30
  }
26
31
  /***************************************************************************
27
32
  * *
@@ -29,39 +34,58 @@ export class HttpDataTransferComponent {
29
34
  * *
30
35
  **************************************************************************/
31
36
  get transfer() {
32
- return this._transfer;
37
+ return this._transfer$.getValue();
33
38
  }
34
39
  set transfer(value) {
35
- this._transfer = value;
36
- this.$state = value.state$;
37
- this.$detail = value.state$.pipe(map(state => {
38
- if (state.isAborted) {
39
- return 'Canceled.';
40
- }
41
- if (state.hasFailed) {
42
- return 'Failed!';
43
- }
44
- const e = state.progress;
45
- // 100Mb of 332Mb (1200Kb/sec)
46
- if (e.percentDone === 100) {
47
- return BytesFormat.format(e.doneBytes) + '( ' + BytesPerSecondFormat.formatAsBitsPerSecond(e.avgBytesPerSec) + ')';
48
- }
49
- else {
50
- let progress = BytesFormat.format(e.doneBytes) + ' of ' + BytesFormat.format(e.totalBytes);
51
- if (e.bytesPerSec) {
52
- progress += ' (' + BytesPerSecondFormat.formatAsBitsPerSecond(e.bytesPerSec) + ')';
53
- }
54
- return progress;
40
+ this._transfer$.next(value);
41
+ }
42
+ /***************************************************************************
43
+ * *
44
+ * Public API *
45
+ * *
46
+ **************************************************************************/
47
+ statusIcon(state) {
48
+ switch (state.status) {
49
+ case DataTransferStatus.Pending: return 'pending';
50
+ case DataTransferStatus.Transferring: return 'cloud_sync';
51
+ case DataTransferStatus.Completed: return 'check';
52
+ case DataTransferStatus.Aborted: return 'block';
53
+ case DataTransferStatus.Failed: return 'error';
54
+ default: return 'help_outline';
55
+ }
56
+ }
57
+ /***************************************************************************
58
+ * *
59
+ * Private methods *
60
+ * *
61
+ **************************************************************************/
62
+ renderTransferProgress(state) {
63
+ if (state.isAborted) {
64
+ return 'Canceled.';
65
+ }
66
+ if (state.hasFailed) {
67
+ return 'Failed!';
68
+ }
69
+ const e = state.progress;
70
+ // 100Mb of 332Mb (1200Kb/sec)
71
+ if (e.percentDone === 100) {
72
+ return BytesFormat.format(e.doneBytes) + '( ' + BytesPerSecondFormat.formatAsBitsPerSecond(e.avgBytesPerSec) + ')';
73
+ }
74
+ else {
75
+ let progress = BytesFormat.format(e.doneBytes) + ' of ' + BytesFormat.format(e.totalBytes);
76
+ if (e.bytesPerSec) {
77
+ progress += ' (' + BytesPerSecondFormat.formatAsBitsPerSecond(e.bytesPerSec) + ')';
55
78
  }
56
- }));
79
+ return progress;
80
+ }
57
81
  }
58
82
  }
59
- HttpDataTransferComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
- HttpDataTransferComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: { transfer: "transfer" }, ngImport: i0, template: "\n\n<div *ngIf=\"($state | async) as state\"\n class=\"layout-row place-start-center gap-lg flex p-md transfer\"\n>\n\n <div class=\"layout-col place-center-center flex-10\">\n <mat-icon class=\"noselect\">\n {{state.isCompleted ? 'check' : 'attachment'}}\n </mat-icon>\n\n <!--\n <mat-icon\n *ngIf=\"!(statusOf(file)?.error | async) && (statusOf(file)?.progress | async) === 100\"\n class=\"green-icon\"\n >check</mat-icon>\n -->\n\n </div>\n\n\n <div class=\"layout-col flex-80\" style=\"overflow: hidden\">\n\n <span class=\"mat-subtitle-2 noselect title\">{{transfer.name}}</span>\n\n <mat-progress-bar\n [matTooltip]=\"state.error?.message\"\n [color]=\"(state.error ? 'warn' : '')\"\n mode=\"determinate\"\n [value]=\"state.progress.percentDone\"\n ></mat-progress-bar>\n\n <span class=\"mat-caption noselect\">{{($detail | async)}}</span>\n\n </div>\n\n\n <div class=\"layout-col place-center-center flex-10\">\n <button mat-icon-button type=\"button\"\n (click)=\"transfer.abort()\" [disabled]=\"state.isDone\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n </div>\n\n</div>\n", styles: [".transfer{overflow:hidden}.title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferComponent, decorators: [{
83
+ HttpDataTransferComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
+ HttpDataTransferComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: { transfer: "transfer" }, ngImport: i0, template: "\n\n<div *ngIf=\"($state | async) as state\"\n class=\"layout-row place-start-center gap-lg flex p-md transfer\"\n>\n\n <div class=\"layout-col place-center-center flex-10\">\n <mat-icon class=\"noselect\">\n {{statusIcon(state)}}\n </mat-icon>\n\n <!--\n <mat-icon\n *ngIf=\"!(statusOf(file)?.error | async) && (statusOf(file)?.progress | async) === 100\"\n class=\"green-icon\"\n >check</mat-icon>\n -->\n\n </div>\n\n\n <div class=\"layout-col flex-80\" style=\"overflow: hidden\">\n\n <span class=\"mat-subtitle-2 noselect title\">{{transfer.name}}</span>\n\n <mat-progress-bar\n [matTooltip]=\"state.error?.message\"\n [color]=\"(state.error ? 'warn' : '')\"\n mode=\"determinate\"\n [value]=\"state.progress.percentDone\"\n ></mat-progress-bar>\n\n <span class=\"mat-caption noselect\">{{($detail | async)}}</span>\n\n </div>\n\n\n <div class=\"layout-col place-center-center flex-10\">\n <button mat-icon-button type=\"button\"\n (click)=\"transfer.abort()\" [disabled]=\"state.isDone\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n </div>\n\n</div>\n", styles: [".transfer{overflow:hidden}.title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferComponent, decorators: [{
62
86
  type: Component,
63
- args: [{ selector: 'elder-data-transfer', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div *ngIf=\"($state | async) as state\"\n class=\"layout-row place-start-center gap-lg flex p-md transfer\"\n>\n\n <div class=\"layout-col place-center-center flex-10\">\n <mat-icon class=\"noselect\">\n {{state.isCompleted ? 'check' : 'attachment'}}\n </mat-icon>\n\n <!--\n <mat-icon\n *ngIf=\"!(statusOf(file)?.error | async) && (statusOf(file)?.progress | async) === 100\"\n class=\"green-icon\"\n >check</mat-icon>\n -->\n\n </div>\n\n\n <div class=\"layout-col flex-80\" style=\"overflow: hidden\">\n\n <span class=\"mat-subtitle-2 noselect title\">{{transfer.name}}</span>\n\n <mat-progress-bar\n [matTooltip]=\"state.error?.message\"\n [color]=\"(state.error ? 'warn' : '')\"\n mode=\"determinate\"\n [value]=\"state.progress.percentDone\"\n ></mat-progress-bar>\n\n <span class=\"mat-caption noselect\">{{($detail | async)}}</span>\n\n </div>\n\n\n <div class=\"layout-col place-center-center flex-10\">\n <button mat-icon-button type=\"button\"\n (click)=\"transfer.abort()\" [disabled]=\"state.isDone\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n </div>\n\n</div>\n", styles: [".transfer{overflow:hidden}.title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:5px}\n"] }]
87
+ args: [{ selector: 'elder-data-transfer', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div *ngIf=\"($state | async) as state\"\n class=\"layout-row place-start-center gap-lg flex p-md transfer\"\n>\n\n <div class=\"layout-col place-center-center flex-10\">\n <mat-icon class=\"noselect\">\n {{statusIcon(state)}}\n </mat-icon>\n\n <!--\n <mat-icon\n *ngIf=\"!(statusOf(file)?.error | async) && (statusOf(file)?.progress | async) === 100\"\n class=\"green-icon\"\n >check</mat-icon>\n -->\n\n </div>\n\n\n <div class=\"layout-col flex-80\" style=\"overflow: hidden\">\n\n <span class=\"mat-subtitle-2 noselect title\">{{transfer.name}}</span>\n\n <mat-progress-bar\n [matTooltip]=\"state.error?.message\"\n [color]=\"(state.error ? 'warn' : '')\"\n mode=\"determinate\"\n [value]=\"state.progress.percentDone\"\n ></mat-progress-bar>\n\n <span class=\"mat-caption noselect\">{{($detail | async)}}</span>\n\n </div>\n\n\n <div class=\"layout-col place-center-center flex-10\">\n <button mat-icon-button type=\"button\"\n (click)=\"transfer.abort()\" [disabled]=\"state.isDone\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n </div>\n\n</div>\n", styles: [".transfer{overflow:hidden}.title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-bottom:5px}\n"] }]
64
88
  }], ctorParameters: function () { return []; }, propDecorators: { transfer: [{
65
89
  type: Input
66
90
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBUWhFLE1BQU0sT0FBTyx5QkFBeUI7SUFjcEM7Ozs7Z0ZBSTRFO0lBRTVFO1FBbEJBOzs7O29GQUk0RTtRQUVwRSxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBYXRFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDVyxRQUFRLENBQUMsS0FBdUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRTNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUVWLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFBRSxPQUFPLFdBQVcsQ0FBQzthQUFFO1lBQzVDLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFBRSxPQUFPLFNBQVMsQ0FBQzthQUFFO1lBRTFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFFekIsOEJBQThCO1lBQzlCLElBQUksQ0FBQyxDQUFDLFdBQVcsS0FBSyxHQUFHLEVBQUU7Z0JBQ3pCLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxHQUFHLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUM7YUFDcEg7aUJBQU07Z0JBQ0wsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUUzRixJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUU7b0JBQ2pCLFFBQVEsSUFBSSxJQUFJLEdBQUcsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztpQkFDcEY7Z0JBQ0QsT0FBTyxRQUFRLENBQUM7YUFDakI7UUFDSCxDQUFDLENBQUMsQ0FFSCxDQUFDO0lBRUosQ0FBQzs7c0hBOURVLHlCQUF5QjswR0FBekIseUJBQXlCLDZGQ2Z0QywycUNBK0NBOzJGRGhDYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07MEVBb0NwQyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtIdHRwRGF0YVRyYW5zZmVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaHR0cC90cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXInO1xuaW1wb3J0IHtEYXRhVHJhbnNmZXJTdGF0ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1zdGF0ZSc7XG5pbXBvcnQge0J5dGVzUGVyU2Vjb25kRm9ybWF0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybWF0L2J5dGVzLXBlci1zZWNvbmQtZm9ybWF0JztcbmltcG9ydCB7Qnl0ZXNGb3JtYXR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3JtYXQvYnl0ZXMtZm9ybWF0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItZGF0YS10cmFuc2ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9odHRwLWRhdGEtdHJhbnNmZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2ZlckNvbXBvbmVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignSHR0cERhdGFUcmFuc2ZlckNvbXBvbmVudCcpO1xuICBwcml2YXRlIF90cmFuc2ZlcjogSHR0cERhdGFUcmFuc2ZlcjtcblxuICBwdWJsaWMgJHN0YXRlOiBPYnNlcnZhYmxlPERhdGFUcmFuc2ZlclN0YXRlPjtcbiAgcHVibGljICRkZXRhaWw6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgdHJhbnNmZXIoKTogSHR0cERhdGFUcmFuc2ZlciB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zZmVyO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0cmFuc2Zlcih2YWx1ZTogSHR0cERhdGFUcmFuc2Zlcikge1xuICAgIHRoaXMuX3RyYW5zZmVyID0gdmFsdWU7XG5cbiAgICB0aGlzLiRzdGF0ZSA9IHZhbHVlLnN0YXRlJDtcblxuICAgIHRoaXMuJGRldGFpbCA9IHZhbHVlLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKHN0YXRlID0+IHtcblxuICAgICAgICBpZiAoc3RhdGUuaXNBYm9ydGVkKSB7IHJldHVybiAnQ2FuY2VsZWQuJzsgfVxuICAgICAgICBpZiAoc3RhdGUuaGFzRmFpbGVkKSB7IHJldHVybiAnRmFpbGVkISc7IH1cblxuICAgICAgICBjb25zdCBlID0gc3RhdGUucHJvZ3Jlc3M7XG5cbiAgICAgICAgLy8gMTAwTWIgb2YgMzMyTWIgKDEyMDBLYi9zZWMpXG4gICAgICAgIGlmIChlLnBlcmNlbnREb25lID09PSAxMDApIHtcbiAgICAgICAgICByZXR1cm4gQnl0ZXNGb3JtYXQuZm9ybWF0KGUuZG9uZUJ5dGVzKSArICcoICcgKyBCeXRlc1BlclNlY29uZEZvcm1hdC5mb3JtYXRBc0JpdHNQZXJTZWNvbmQoZS5hdmdCeXRlc1BlclNlYykgKyAnKSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IHByb2dyZXNzID0gQnl0ZXNGb3JtYXQuZm9ybWF0KGUuZG9uZUJ5dGVzKSArICcgb2YgJyArIEJ5dGVzRm9ybWF0LmZvcm1hdChlLnRvdGFsQnl0ZXMpO1xuXG4gICAgICAgICAgaWYgKGUuYnl0ZXNQZXJTZWMpIHtcbiAgICAgICAgICAgIHByb2dyZXNzICs9ICcgKCcgKyBCeXRlc1BlclNlY29uZEZvcm1hdC5mb3JtYXRBc0JpdHNQZXJTZWNvbmQoZS5ieXRlc1BlclNlYykgKyAnKSc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBwcm9ncmVzcztcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICAvLyB0YXAobWVzc2FnZSA9PiB0aGlzLmxvZ2dlci5pbmZvKG1lc3NhZ2UpKVxuICAgICk7XG5cbiAgfVxuXG5cblxufVxuIiwiXG5cbjxkaXYgKm5nSWY9XCIoJHN0YXRlIHwgYXN5bmMpIGFzIHN0YXRlXCJcbiAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBnYXAtbGcgZmxleCBwLW1kIHRyYW5zZmVyXCJcbj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXgtMTBcIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJub3NlbGVjdFwiPlxuICAgICAge3tzdGF0ZS5pc0NvbXBsZXRlZCA/ICdjaGVjaycgOiAnYXR0YWNobWVudCd9fVxuICAgIDwvbWF0LWljb24+XG5cbiAgICA8IS0tXG4gICAgPG1hdC1pY29uXG4gICAgICAqbmdJZj1cIiEoc3RhdHVzT2YoZmlsZSk/LmVycm9yIHwgYXN5bmMpICYmIChzdGF0dXNPZihmaWxlKT8ucHJvZ3Jlc3MgfCBhc3luYykgPT09IDEwMFwiXG4gICAgICBjbGFzcz1cImdyZWVuLWljb25cIlxuICAgID5jaGVjazwvbWF0LWljb24+XG4gICAgLS0+XG5cbiAgPC9kaXY+XG5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4LTgwXCIgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuXCI+XG5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1zdWJ0aXRsZS0yIG5vc2VsZWN0IHRpdGxlXCI+e3t0cmFuc2Zlci5uYW1lfX08L3NwYW4+XG5cbiAgICA8bWF0LXByb2dyZXNzLWJhclxuICAgICAgW21hdFRvb2x0aXBdPVwic3RhdGUuZXJyb3I/Lm1lc3NhZ2VcIlxuICAgICAgW2NvbG9yXT1cIihzdGF0ZS5lcnJvciA/ICd3YXJuJyA6ICcnKVwiXG4gICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgW3ZhbHVlXT1cInN0YXRlLnByb2dyZXNzLnBlcmNlbnREb25lXCJcbiAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvbiBub3NlbGVjdFwiPnt7KCRkZXRhaWwgfCBhc3luYyl9fTwvc3Bhbj5cblxuICA8L2Rpdj5cblxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZmxleC0xMFwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRyYW5zZmVyLmFib3J0KClcIiBbZGlzYWJsZWRdPVwic3RhdGUuaXNEb25lXCI+XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIGNsb3NlXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQWMsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7OztBQVF0RixNQUFNLE9BQU8seUJBQXlCO0lBY3BDOzs7O2dGQUk0RTtJQUU1RTtRQWxCQTs7OztvRkFJNEU7UUFFcEUsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBWS9ELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFDOUIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBRWpELENBQUM7SUFDSixDQUFDO0lBR0Q7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLEtBQXVCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsVUFBVSxDQUFDLEtBQXdCO1FBQ3hDLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNwQixLQUFLLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVEsU0FBUyxDQUFDO1lBQ25ELEtBQUssa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBUSxZQUFZLENBQUM7WUFDM0QsS0FBSyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFRLE9BQU8sQ0FBQztZQUNuRCxLQUFLLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVEsT0FBTyxDQUFDO1lBQ2pELEtBQUssa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBUSxPQUFPLENBQUM7WUFDaEQsT0FBTyxDQUFDLENBQUMsT0FBTyxjQUFjLENBQUE7U0FDL0I7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLHNCQUFzQixDQUFDLEtBQXdCO1FBQ3JELElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU8sV0FBVyxDQUFDO1NBQUU7UUFDNUMsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTtRQUUxQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRXpCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssR0FBRyxFQUFFO1lBQ3pCLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxHQUFHLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDcEg7YUFBTTtZQUNMLElBQUksUUFBUSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUUzRixJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ2pCLFFBQVEsSUFBSSxJQUFJLEdBQUcsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUNwRjtZQUNELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7c0hBdkZVLHlCQUF5QjswR0FBekIseUJBQXlCLDZGQ2hCdEMsa3BDQStDQTsyRkQvQmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzBFQTZDcEMsUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7SHR0cERhdGFUcmFuc2Zlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyJztcbmltcG9ydCB7RGF0YVRyYW5zZmVyU3RhdGV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2RhdGEtdHJhbnNmZXItc3RhdGUnO1xuaW1wb3J0IHtCeXRlc1BlclNlY29uZEZvcm1hdH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1hdC9ieXRlcy1wZXItc2Vjb25kLWZvcm1hdCc7XG5pbXBvcnQge0J5dGVzRm9ybWF0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybWF0L2J5dGVzLWZvcm1hdCc7XG5pbXBvcnQge0RhdGFUcmFuc2ZlclN0YXR1c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1zdGF0dXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1kYXRhLXRyYW5zZmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG4gIHByaXZhdGUgX3RyYW5zZmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SHR0cERhdGFUcmFuc2Zlcj4obnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5ICRzdGF0ZTogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJTdGF0ZT47XG4gIHB1YmxpYyByZWFkb25seSAkZGV0YWlsOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4kc3RhdGUgPSB0aGlzLl90cmFuc2ZlciQucGlwZShcbiAgICAgIGZpbHRlcih0cmFuc2ZlciA9PiAhIXRyYW5zZmVyKSxcbiAgICAgIHN3aXRjaE1hcCh0cmFuc2ZlciA9PiB0cmFuc2Zlci5zdGF0ZSQpXG4gICAgKTtcbiAgICB0aGlzLiRkZXRhaWwgPSB0aGlzLiRzdGF0ZS5waXBlKFxuICAgICAgbWFwKHN0YXRlID0+IHRoaXMucmVuZGVyVHJhbnNmZXJQcm9ncmVzcyhzdGF0ZSkpLFxuICAgICAgLy8gdGFwKG1lc3NhZ2UgPT4gdGhpcy5sb2dnZXIuaW5mbyhtZXNzYWdlKSlcbiAgICApO1xuICB9XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHRyYW5zZmVyKCk6IEh0dHBEYXRhVHJhbnNmZXIge1xuICAgIHJldHVybiB0aGlzLl90cmFuc2ZlciQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHJhbnNmZXIodmFsdWU6IEh0dHBEYXRhVHJhbnNmZXIpIHtcbiAgICB0aGlzLl90cmFuc2ZlciQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdHVzSWNvbihzdGF0ZTogRGF0YVRyYW5zZmVyU3RhdGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoc3RhdGUuc3RhdHVzKSB7XG4gICAgICBjYXNlIERhdGFUcmFuc2ZlclN0YXR1cy5QZW5kaW5nOiByZXR1cm4gICdwZW5kaW5nJztcbiAgICAgIGNhc2UgRGF0YVRyYW5zZmVyU3RhdHVzLlRyYW5zZmVycmluZzogcmV0dXJuICAnY2xvdWRfc3luYyc7XG4gICAgICBjYXNlIERhdGFUcmFuc2ZlclN0YXR1cy5Db21wbGV0ZWQ6IHJldHVybiAgJ2NoZWNrJztcbiAgICAgIGNhc2UgRGF0YVRyYW5zZmVyU3RhdHVzLkFib3J0ZWQ6IHJldHVybiAgJ2Jsb2NrJztcbiAgICAgIGNhc2UgRGF0YVRyYW5zZmVyU3RhdHVzLkZhaWxlZDogcmV0dXJuICAnZXJyb3InO1xuICAgICAgZGVmYXVsdDogcmV0dXJuICdoZWxwX291dGxpbmUnXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZW5kZXJUcmFuc2ZlclByb2dyZXNzKHN0YXRlOiBEYXRhVHJhbnNmZXJTdGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXRlLmlzQWJvcnRlZCkgeyByZXR1cm4gJ0NhbmNlbGVkLic7IH1cbiAgICBpZiAoc3RhdGUuaGFzRmFpbGVkKSB7IHJldHVybiAnRmFpbGVkISc7IH1cblxuICAgIGNvbnN0IGUgPSBzdGF0ZS5wcm9ncmVzcztcblxuICAgIC8vIDEwME1iIG9mIDMzMk1iICgxMjAwS2Ivc2VjKVxuICAgIGlmIChlLnBlcmNlbnREb25lID09PSAxMDApIHtcbiAgICAgIHJldHVybiBCeXRlc0Zvcm1hdC5mb3JtYXQoZS5kb25lQnl0ZXMpICsgJyggJyArIEJ5dGVzUGVyU2Vjb25kRm9ybWF0LmZvcm1hdEFzQml0c1BlclNlY29uZChlLmF2Z0J5dGVzUGVyU2VjKSArICcpJztcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHByb2dyZXNzID0gQnl0ZXNGb3JtYXQuZm9ybWF0KGUuZG9uZUJ5dGVzKSArICcgb2YgJyArIEJ5dGVzRm9ybWF0LmZvcm1hdChlLnRvdGFsQnl0ZXMpO1xuXG4gICAgICBpZiAoZS5ieXRlc1BlclNlYykge1xuICAgICAgICBwcm9ncmVzcyArPSAnICgnICsgQnl0ZXNQZXJTZWNvbmRGb3JtYXQuZm9ybWF0QXNCaXRzUGVyU2Vjb25kKGUuYnl0ZXNQZXJTZWMpICsgJyknO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb2dyZXNzO1xuICAgIH1cbiAgfVxuXG59XG4iLCJcblxuPGRpdiAqbmdJZj1cIigkc3RhdGUgfCBhc3luYykgYXMgc3RhdGVcIlxuICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGdhcC1sZyBmbGV4IHAtbWQgdHJhbnNmZXJcIlxuPlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZmxleC0xMFwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIm5vc2VsZWN0XCI+XG4gICAgICB7e3N0YXR1c0ljb24oc3RhdGUpfX1cbiAgICA8L21hdC1pY29uPlxuXG4gICAgPCEtLVxuICAgIDxtYXQtaWNvblxuICAgICAgKm5nSWY9XCIhKHN0YXR1c09mKGZpbGUpPy5lcnJvciB8IGFzeW5jKSAmJiAoc3RhdHVzT2YoZmlsZSk/LnByb2dyZXNzIHwgYXN5bmMpID09PSAxMDBcIlxuICAgICAgY2xhc3M9XCJncmVlbi1pY29uXCJcbiAgICA+Y2hlY2s8L21hdC1pY29uPlxuICAgIC0tPlxuXG4gIDwvZGl2PlxuXG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZmxleC04MFwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlblwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMiBub3NlbGVjdCB0aXRsZVwiPnt7dHJhbnNmZXIubmFtZX19PC9zcGFuPlxuXG4gICAgPG1hdC1wcm9ncmVzcy1iYXJcbiAgICAgIFttYXRUb29sdGlwXT1cInN0YXRlLmVycm9yPy5tZXNzYWdlXCJcbiAgICAgIFtjb2xvcl09XCIoc3RhdGUuZXJyb3IgPyAnd2FybicgOiAnJylcIlxuICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcbiAgICAgIFt2YWx1ZV09XCJzdGF0ZS5wcm9ncmVzcy5wZXJjZW50RG9uZVwiXG4gICAgPjwvbWF0LXByb2dyZXNzLWJhcj5cblxuICAgIDxzcGFuIGNsYXNzPVwibWF0LWNhcHRpb24gbm9zZWxlY3RcIj57eygkZGV0YWlsIHwgYXN5bmMpfX08L3NwYW4+XG5cbiAgPC9kaXY+XG5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXgtMTBcIj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0cmFuc2Zlci5hYm9ydCgpXCIgW2Rpc2FibGVkXT1cInN0YXRlLmlzRG9uZVwiPlxuICAgICAgPG1hdC1pY29uPlxuICAgICAgICBjbG9zZVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
@@ -23,9 +23,9 @@ export class HttpDataTransferAggregateComponent {
23
23
  this.aggregate$ = this.transferService.transferAggregate;
24
24
  }
25
25
  }
26
- HttpDataTransferAggregateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferAggregateComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
27
- HttpDataTransferAggregateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: { hiddenWhenInactive: "hiddenWhenInactive" }, ngImport: i0, template: "<ng-container *ngIf=\"(aggregate$ | async) as aggregate\">\n\n <div *ngIf=\"!hiddenWhenInactive || aggregate.inTransfer > 0\" class=\"layout-col flex\">\n <div class=\"layout-row place-center-center\">\n <span>{{aggregate.bps}}</span>\n </div>\n\n <mat-progress-bar\n [color]=\"'accent'\"\n mode=\"determinate\"\n [value]=\"aggregate.percentDone\"\n\n ></mat-progress-bar>\n\n <div class=\"layout-row\">\n <!--\n <span class=\"mat-caption\">{{aggregate.doneBytesAgg | bytes:1}}</span>\n -->\n <span class=\"mat-caption\">{{aggregate.percentDone}}%</span>\n\n <span class=\"flex\"></span>\n <span class=\"mat-caption\">TOTAL {{aggregate.totalBytesAgg | bytes:1}}</span>\n </div>\n </div>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BytesPipe, name: "bytes" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferAggregateComponent, decorators: [{
26
+ HttpDataTransferAggregateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferAggregateComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
27
+ HttpDataTransferAggregateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: { hiddenWhenInactive: "hiddenWhenInactive" }, ngImport: i0, template: "<ng-container *ngIf=\"(aggregate$ | async) as aggregate\">\n\n <div *ngIf=\"!hiddenWhenInactive || aggregate.inTransfer > 0\" class=\"layout-col flex\">\n <div class=\"layout-row place-center-center\">\n <span>{{aggregate.bps}}</span>\n </div>\n\n <mat-progress-bar\n [color]=\"'accent'\"\n mode=\"determinate\"\n [value]=\"aggregate.percentDone\"\n\n ></mat-progress-bar>\n\n <div class=\"layout-row\">\n <!--\n <span class=\"mat-caption\">{{aggregate.doneBytesAgg | bytes:1}}</span>\n -->\n <span class=\"mat-caption\">{{aggregate.percentDone}}%</span>\n\n <span class=\"flex\"></span>\n <span class=\"mat-caption\">TOTAL {{aggregate.totalBytesAgg | bytes:1}}</span>\n </div>\n </div>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BytesPipe, name: "bytes" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferAggregateComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'elder-data-transfer-aggregate', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"(aggregate$ | async) as aggregate\">\n\n <div *ngIf=\"!hiddenWhenInactive || aggregate.inTransfer > 0\" class=\"layout-col flex\">\n <div class=\"layout-row place-center-center\">\n <span>{{aggregate.bps}}</span>\n </div>\n\n <mat-progress-bar\n [color]=\"'accent'\"\n mode=\"determinate\"\n [value]=\"aggregate.percentDone\"\n\n ></mat-progress-bar>\n\n <div class=\"layout-row\">\n <!--\n <span class=\"mat-caption\">{{aggregate.doneBytesAgg | bytes:1}}</span>\n -->\n <span class=\"mat-caption\">{{aggregate.percentDone}}%</span>\n\n <span class=\"flex\"></span>\n <span class=\"mat-caption\">TOTAL {{aggregate.totalBytesAgg | bytes:1}}</span>\n </div>\n </div>\n</ng-container>\n\n" }]
31
31
  }], ctorParameters: function () { return [{ type: i1.ElderDataTransferService }]; }, propDecorators: { hiddenWhenInactive: [{
@@ -34,9 +34,9 @@ export class HttpDataTransferIndicatorComponent {
34
34
  this.aggregate$ = this.transferService.transferAggregate;
35
35
  }
36
36
  }
37
- HttpDataTransferIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferIndicatorComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
38
- HttpDataTransferIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: HttpDataTransferIndicatorComponent, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "directive", type: i8.ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: i9.HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferIndicatorComponent, decorators: [{
37
+ HttpDataTransferIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferIndicatorComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
38
+ HttpDataTransferIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: HttpDataTransferIndicatorComponent, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "directive", type: i8.ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: i9.HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferIndicatorComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'elder-data-transfer-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button mat-icon-button type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\">\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\">\n </elder-data-transfer-overview>\n</elder-overlay>\n\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"] }]
42
42
  }], ctorParameters: function () { return [{ type: i1.ElderDataTransferService }]; }, propDecorators: { activeColor: [{
@@ -14,20 +14,13 @@ export class HttpDataTransferOverviewComponent {
14
14
  **************************************************************************/
15
15
  constructor(transferService) {
16
16
  this.transferService = transferService;
17
- }
18
- /***************************************************************************
19
- * *
20
- * Life Cycle *
21
- * *
22
- **************************************************************************/
23
- ngOnInit() {
24
17
  this.transfers$ = this.transferService.transfers;
25
18
  }
26
19
  }
27
- HttpDataTransferOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferOverviewComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
28
- HttpDataTransferOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\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: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i5.HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: i6.HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HttpDataTransferOverviewComponent, decorators: [{
20
+ HttpDataTransferOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferOverviewComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component });
21
+ HttpDataTransferOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\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: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i5.HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: i6.HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: HttpDataTransferOverviewComponent, decorators: [{
30
23
  type: Component,
31
24
  args: [{ selector: 'elder-data-transfer-overview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n\n <div *ngIf=\"transfers.length > 0 else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\">\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n\n </div>\n\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate class=\"flex\" [hiddenWhenInactive]=\"false\"></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"] }]
32
25
  }], ctorParameters: function () { return [{ type: i1.ElderDataTransferService }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBV3pFLE1BQU0sT0FBTyxpQ0FBaUM7SUFVNUM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO0lBQy9DLENBQUM7SUFFTDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQzs7OEhBNUJVLGlDQUFpQztrSEFBakMsaUNBQWlDLG9FQ1g5QywwMkJBd0JBOzJGRGJhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2V9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSc7XG5pbXBvcnQge0h0dHBEYXRhVHJhbnNmZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmZXJzJCA9ICB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnM7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwicmFpc2VkXCIgY2xhc3M9XCJsYXlvdXQtY29sIGZ1bGxcIj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCIgKm5nSWY9XCJ0cmFuc2ZlcnMkIHwgYXN5bmMgYXMgdHJhbnNmZXJzXCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwidHJhbnNmZXJzLmxlbmd0aCA+IDAgZWxzZSBub0RhdGFcIiBjbGFzcz1cImxheW91dC1jb2wgZmxleCBzY3JvbGwtbGlzdFwiPlxuICAgICAgPGVsZGVyLWRhdGEtdHJhbnNmZXIgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0cmFuc2ZlciBvZiB0cmFuc2ZlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2Zlcl09XCJ0cmFuc2ZlclwiPlxuICAgICAgPC9lbGRlci1kYXRhLXRyYW5zZmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiIHN0eWxlPVwiY29sb3I6IGdyYXlcIj5ObyBkYXRhIHRyYW5zZmVycy48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwvZGl2PlxuXG5cbiAgPG1hdC10b29sYmFyIGNsYXNzPVwiZmxleC1ub25lIG1hdC1lbGV2YXRpb24tejVcIj5cbiAgICA8ZWxkZXItZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUgY2xhc3M9XCJmbGV4XCIgW2hpZGRlbldoZW5JbmFjdGl2ZV09XCJmYWxzZVwiPjwvZWxkZXItZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGU+XG4gIDwvbWF0LXRvb2xiYXI+XG48L21hdC1jYXJkPlxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBV3pFLE1BQU0sT0FBTyxpQ0FBaUM7SUFVNUM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBRWpELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQzs7OEhBcEJVLGlDQUFpQztrSEFBakMsaUNBQWlDLG9FQ1g5QywwMkJBd0JBOzJGRGJhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2V9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSc7XG5pbXBvcnQge0h0dHBEYXRhVHJhbnNmZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudHJhbnNmZXJzJCA9IHRoaXMudHJhbnNmZXJTZXJ2aWNlLnRyYW5zZmVycztcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJyYWlzZWRcIiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZsZXhcIiAqbmdJZj1cInRyYW5zZmVycyQgfCBhc3luYyBhcyB0cmFuc2ZlcnNcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJ0cmFuc2ZlcnMubGVuZ3RoID4gMCBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHNjcm9sbC1saXN0XCI+XG4gICAgICA8ZWxkZXItZGF0YS10cmFuc2ZlciBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRyYW5zZmVyIG9mIHRyYW5zZmVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zZmVyXT1cInRyYW5zZmVyXCI+XG4gICAgICA8L2VsZGVyLWRhdGEtdHJhbnNmZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI25vRGF0YT5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIHBsYWNlLWNlbnRlci1jZW50ZXIgZmxleFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1zdWJ0aXRsZS0yIG5vc2VsZWN0XCIgc3R5bGU9XCJjb2xvcjogZ3JheVwiPk5vIGRhdGEgdHJhbnNmZXJzLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9kaXY+XG5cblxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJmbGV4LW5vbmUgbWF0LWVsZXZhdGlvbi16NVwiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZSBjbGFzcz1cImZsZXhcIiBbaGlkZGVuV2hlbkluYWN0aXZlXT1cImZhbHNlXCI+PC9lbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZT5cbiAgPC9tYXQtdG9vbGJhcj5cbjwvbWF0LWNhcmQ+XG4iXX0=
@@ -234,9 +234,9 @@ export class ElderDataViewBaseComponent {
234
234
  }
235
235
  }
236
236
  }
237
- ElderDataViewBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataViewBaseComponent, deps: [{ token: i1.SelectionModel }, { token: i2.ElderDataViewOptionsProvider }], target: i0.ɵɵFactoryTarget.Directive });
238
- ElderDataViewBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderDataViewBaseComponent, inputs: { interactionMode: "interactionMode", cleanUp: "cleanUp", selectableEvaluatorFn: "selectableEvaluatorFn", selection: "selection", selectionMultiEnabled: "selectionMultiEnabled", dense: "dense", float: "float", appearance: "appearance", embedded: "embedded" }, outputs: { selectionChange: "selectionChange", selectionSingleChange: "selectionSingleChange", itemClick: "itemClick" }, ngImport: i0 });
239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataViewBaseComponent, decorators: [{
237
+ ElderDataViewBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataViewBaseComponent, deps: [{ token: i1.SelectionModel }, { token: i2.ElderDataViewOptionsProvider }], target: i0.ɵɵFactoryTarget.Directive });
238
+ ElderDataViewBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ElderDataViewBaseComponent, inputs: { interactionMode: "interactionMode", cleanUp: "cleanUp", selectableEvaluatorFn: "selectableEvaluatorFn", selection: "selection", selectionMultiEnabled: "selectionMultiEnabled", dense: "dense", float: "float", appearance: "appearance", embedded: "embedded" }, outputs: { selectionChange: "selectionChange", selectionSingleChange: "selectionSingleChange", itemClick: "itemClick" }, ngImport: i0 });
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataViewBaseComponent, decorators: [{
240
240
  type: Directive
241
241
  }], ctorParameters: function () { return [{ type: i1.SelectionModel }, { type: i2.ElderDataViewOptionsProvider }]; }, propDecorators: { interactionMode: [{
242
242
  type: Input
@@ -34,9 +34,9 @@ export class DataContextStateIndicatorComponent {
34
34
  this.dataContext$.next(dataContext);
35
35
  }
36
36
  }
37
- DataContextStateIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DataContextStateIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- DataContextStateIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: { dataContext: "dataContext" }, ngImport: i0, template: "<ng-container *ngIf=\"dataContext$ | async as dataContext\">\n\n <ng-container *ngIf=\"dataContext else noDataContext\">\n\n <ng-container *ngIf=\"(dataContext.isStarted$ | async) else dataContextNotStarted\">\n\n <ng-container *ngIf=\"!(dataContext?.status | async)?.hasError else dataContextHasError\">\n\n <ng-container *ngIf=\"(dataContext?.data | async)?.length === 0\">\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</ng-container>\n\n<ng-template #noDataContext>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'No data context'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNotStarted>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'Data context not started'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextHasError>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', iconColor: 'warn', text: 'Error while loading data'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'info', text: 'No data available'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{icon}}</mat-icon>\n <span class=\"hint mat-body-2\">{{text | translate}}</span>\n </div>\n </div>\n\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:gray;padding-top:96px;padding-bottom:96px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DataContextStateIndicatorComponent, decorators: [{
37
+ DataContextStateIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataContextStateIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ DataContextStateIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: { dataContext: "dataContext" }, ngImport: i0, template: "<ng-container *ngIf=\"dataContext$ | async as dataContext\">\n\n <ng-container *ngIf=\"dataContext else noDataContext\">\n\n <ng-container *ngIf=\"(dataContext.isStarted$ | async) else dataContextNotStarted\">\n\n <ng-container *ngIf=\"!(dataContext?.status | async)?.hasError else dataContextHasError\">\n\n <ng-container *ngIf=\"(dataContext?.data | async)?.length === 0\">\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</ng-container>\n\n<ng-template #noDataContext>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'No data context'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNotStarted>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'Data context not started'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextHasError>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', iconColor: 'warn', text: 'Error while loading data'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'info', text: 'No data available'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{icon}}</mat-icon>\n <span class=\"hint mat-body-2\">{{text | translate}}</span>\n </div>\n </div>\n\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:gray;padding-top:96px;padding-bottom:96px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataContextStateIndicatorComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'elder-data-context-state-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"dataContext$ | async as dataContext\">\n\n <ng-container *ngIf=\"dataContext else noDataContext\">\n\n <ng-container *ngIf=\"(dataContext.isStarted$ | async) else dataContextNotStarted\">\n\n <ng-container *ngIf=\"!(dataContext?.status | async)?.hasError else dataContextHasError\">\n\n <ng-container *ngIf=\"(dataContext?.data | async)?.length === 0\">\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</ng-container>\n\n<ng-template #noDataContext>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'No data context'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNotStarted>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'Data context not started'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextHasError>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', iconColor: 'warn', text: 'Error while loading data'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'info', text: 'No data available'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{icon}}</mat-icon>\n <span class=\"hint mat-body-2\">{{text | translate}}</span>\n </div>\n </div>\n\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:gray;padding-top:96px;padding-bottom:96px}\n"] }]
42
42
  }], ctorParameters: function () { return []; }, propDecorators: { dataContext: [{
@@ -25,8 +25,8 @@ export { DataContextSelectionDirective } from './selection/data-context-selectio
25
25
  export { DataContextStateIndicatorComponent } from './data-context-state-indicator/data-context-state-indicator.component';
26
26
  export class ElderDataCommonModule {
27
27
  }
28
- ElderDataCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- ElderDataCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: ElderDataCommonModule, declarations: [ElderDataToolbarComponent,
28
+ ElderDataCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ ElderDataCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: ElderDataCommonModule, declarations: [ElderDataToolbarComponent,
30
30
  ElderToolbarContentDirective,
31
31
  ElderSingleSortComponent,
32
32
  ElderSelectionMasterCheckboxComponent,
@@ -45,7 +45,7 @@ ElderDataCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
45
45
  ElderSelectionMasterCheckboxComponent,
46
46
  DataContextSelectionDirective,
47
47
  DataContextStateIndicatorComponent] });
48
- ElderDataCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataCommonModule, imports: [CommonModule, RouterModule,
48
+ ElderDataCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataCommonModule, imports: [CommonModule, RouterModule,
49
49
  // Material
50
50
  MatDividerModule,
51
51
  MatCheckboxModule, MatMenuModule,
@@ -54,7 +54,7 @@ ElderDataCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
54
54
  MatDialogModule, MatTooltipModule,
55
55
  // translations
56
56
  TranslateModule] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataCommonModule, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataCommonModule, decorators: [{
58
58
  type: NgModule,
59
59
  args: [{
60
60
  imports: [
@@ -17,9 +17,9 @@ export class ElderToolbarContentDirective {
17
17
  this.templateRef = templateRef;
18
18
  }
19
19
  }
20
- ElderToolbarContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderToolbarContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
21
- ElderToolbarContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: { placeholderId: ["elderToolbarContent", "placeholderId"] }, ngImport: i0 });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderToolbarContentDirective, decorators: [{
20
+ ElderToolbarContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderToolbarContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
21
+ ElderToolbarContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: { placeholderId: ["elderToolbarContent", "placeholderId"] }, ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderToolbarContentDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{ selector: '[elderToolbarContent]' }]
25
25
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { placeholderId: [{
@@ -114,9 +114,9 @@ export class ElderDataToolbarComponent {
114
114
  }
115
115
  }
116
116
  }
117
- ElderDataToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataToolbarComponent, deps: [{ token: i1.SelectionModel, optional: true }, { token: ELDER_DATA_VIEW, optional: true }, { token: i2.ElderDialogService }], target: i0.ɵɵFactoryTarget.Component });
118
- ElderDataToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: { canAdd: "canAdd", canRemove: "canRemove", canMore: "canMore", confirmRemoval: "confirmRemoval", keepSelectionAfterRemoval: "keepSelectionAfterRemoval", selectionModel: "selectionModel" }, outputs: { requestNew: "requestNew", requestRemove: "requestRemove" }, queries: [{ propertyName: "templates", predicate: ElderToolbarContentDirective }], ngImport: i0, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderDataToolbarComponent, decorators: [{
117
+ ElderDataToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataToolbarComponent, deps: [{ token: i1.SelectionModel, optional: true }, { token: ELDER_DATA_VIEW, optional: true }, { token: i2.ElderDialogService }], target: i0.ɵɵFactoryTarget.Component });
118
+ ElderDataToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: { canAdd: "canAdd", canRemove: "canRemove", canMore: "canMore", confirmRemoval: "confirmRemoval", keepSelectionAfterRemoval: "keepSelectionAfterRemoval", selectionModel: "selectionModel" }, outputs: { requestNew: "requestNew", requestRemove: "requestRemove" }, queries: [{ propertyName: "templates", predicate: ElderToolbarContentDirective }], ngImport: i0, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderDataToolbarComponent, decorators: [{
120
120
  type: Component,
121
121
  args: [{ selector: 'elder-data-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n" }]
122
122
  }], ctorParameters: function () { return [{ type: i1.SelectionModel, decorators: [{
@@ -72,9 +72,9 @@ export class ElderSingleSortComponent {
72
72
  this.sortChange.emit(sort);
73
73
  }
74
74
  }
75
- ElderSingleSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderSingleSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- ElderSingleSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ElderSingleSortComponent, selector: "elder-single-sort", inputs: { availableSorts: "availableSorts", translationPrefix: "translationPrefix", sort: "sort" }, outputs: { sortChange: "sortChange" }, ngImport: i0, template: "<div *ngIf=\"(sort$ | async) as sort\" class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix + sort.prop | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let mysort of availableSorts\"\n (click)=\"setSortProp(mysort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"sort.prop == mysort\">{{translationPrefix + mysort | translate}}</span>\n </button>\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{sort.dir === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderSingleSortComponent, decorators: [{
75
+ ElderSingleSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderSingleSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ ElderSingleSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ElderSingleSortComponent, selector: "elder-single-sort", inputs: { availableSorts: "availableSorts", translationPrefix: "translationPrefix", sort: "sort" }, outputs: { sortChange: "sortChange" }, ngImport: i0, template: "<div *ngIf=\"(sort$ | async) as sort\" class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix + sort.prop | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let mysort of availableSorts\"\n (click)=\"setSortProp(mysort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"sort.prop == mysort\">{{translationPrefix + mysort | translate}}</span>\n </button>\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{sort.dir === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderSingleSortComponent, decorators: [{
78
78
  type: Component,
79
79
  args: [{ selector: 'elder-single-sort', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"(sort$ | async) as sort\" class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix + sort.prop | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let mysort of availableSorts\"\n (click)=\"setSortProp(mysort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"sort.prop == mysort\">{{translationPrefix + mysort | translate}}</span>\n </button>\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{sort.dir === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n" }]
80
80
  }], ctorParameters: function () { return []; }, propDecorators: { availableSorts: [{
@@ -78,9 +78,9 @@ export class DataContextSelectionDirective {
78
78
  }));
79
79
  }
80
80
  }
81
- DataContextSelectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DataContextSelectionDirective, deps: [{ token: i1.SelectionModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
82
- DataContextSelectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: { selectionModel: ["elderDataContextSelectionModel", "selectionModel"], dataContext: ["elderDataContextSelection", "dataContext"] }, exportAs: ["elderDataContextSelection"], ngImport: i0 });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DataContextSelectionDirective, decorators: [{
81
+ DataContextSelectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataContextSelectionDirective, deps: [{ token: i1.SelectionModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
82
+ DataContextSelectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: { selectionModel: ["elderDataContextSelectionModel", "selectionModel"], dataContext: ["elderDataContextSelection", "dataContext"] }, exportAs: ["elderDataContextSelection"], ngImport: i0 });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DataContextSelectionDirective, decorators: [{
84
84
  type: Directive,
85
85
  args: [{
86
86
  selector: '[elderDataContextSelection]',
@@ -28,9 +28,9 @@ export class ElderSelectionMasterCheckboxComponent {
28
28
  ngOnInit() {
29
29
  }
30
30
  }
31
- ElderSelectionMasterCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderSelectionMasterCheckboxComponent, deps: [{ token: i1.DataContextSelectionDirective }], target: i0.ɵɵFactoryTarget.Component });
32
- ElderSelectionMasterCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox", ngImport: i0, template: "<ng-container *ngIf=\"dataContextSelection?.selectionState$ | async as selectionState\">\n <div\n *ngIf=\"selectionState.isMultiSelection\"\n [matBadgeHidden]=\"selectionState.count === 0\"\n [matBadge]=\"selectionState.count + ''\"\n [matBadgePosition]=\"'above before'\"\n [matBadgeOverlap]=\"false\"\n [matBadgeSize]=\"'small'\"\n >\n <mat-checkbox (change)=\"$event ? dataContextSelection.masterToggle() : null\"\n [checked]=\"selectionState.allSelected\"\n [indeterminate]=\"selectionState.someSelected\"\n >\n </mat-checkbox>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ElderSelectionMasterCheckboxComponent, decorators: [{
31
+ ElderSelectionMasterCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderSelectionMasterCheckboxComponent, deps: [{ token: i1.DataContextSelectionDirective }], target: i0.ɵɵFactoryTarget.Component });
32
+ ElderSelectionMasterCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox", ngImport: i0, template: "<ng-container *ngIf=\"dataContextSelection?.selectionState$ | async as selectionState\">\n <div\n *ngIf=\"selectionState.isMultiSelection\"\n [matBadgeHidden]=\"selectionState.count === 0\"\n [matBadge]=\"selectionState.count + ''\"\n [matBadgePosition]=\"'above before'\"\n [matBadgeOverlap]=\"false\"\n [matBadgeSize]=\"'small'\"\n >\n <mat-checkbox (change)=\"$event ? dataContextSelection.masterToggle() : null\"\n [checked]=\"selectionState.allSelected\"\n [indeterminate]=\"selectionState.someSelected\"\n >\n </mat-checkbox>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderSelectionMasterCheckboxComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'elder-selection-master-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"dataContextSelection?.selectionState$ | async as selectionState\">\n <div\n *ngIf=\"selectionState.isMultiSelection\"\n [matBadgeHidden]=\"selectionState.count === 0\"\n [matBadge]=\"selectionState.count + ''\"\n [matBadgePosition]=\"'above before'\"\n [matBadgeOverlap]=\"false\"\n [matBadgeSize]=\"'small'\"\n >\n <mat-checkbox (change)=\"$event ? dataContextSelection.masterToggle() : null\"\n [checked]=\"selectionState.allSelected\"\n [indeterminate]=\"selectionState.someSelected\"\n >\n </mat-checkbox>\n </div>\n</ng-container>\n" }]
36
36
  }], ctorParameters: function () { return [{ type: i1.DataContextSelectionDirective }]; } });