@elderbyte/ngx-starter 18.13.0-beta.0 → 18.13.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 (72) hide show
  1. package/_index.scss +6 -18
  2. package/esm2022/lib/common/exceptions/public_api.mjs +2 -0
  3. package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +6 -0
  4. package/esm2022/lib/common/public_api.mjs +2 -1
  5. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  6. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  7. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +97 -0
  8. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +50 -0
  9. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +102 -0
  10. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +50 -0
  11. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +9 -3
  12. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -12
  13. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -3
  14. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  15. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
  16. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  17. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  18. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +5 -3
  19. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  20. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +3 -3
  21. package/fesm2022/elderbyte-ngx-starter.mjs +343 -174
  22. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  23. package/lib/common/exceptions/public_api.d.ts +1 -0
  24. package/lib/common/exceptions/unreachable-case-error.d.ts +4 -0
  25. package/lib/common/public_api.d.ts +1 -0
  26. package/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.d.ts +46 -0
  27. package/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.d.ts +34 -0
  28. package/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.d.ts +47 -0
  29. package/lib/components/forms/directives/{elder-triple-state-checkbox.directive.d.ts → checkbox/elder-triple-state-checkbox.directive.d.ts} +10 -23
  30. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +9 -7
  31. package/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.d.ts +1 -2
  32. package/package.json +1 -1
  33. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +7 -1
  34. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +14 -3
  35. package/src/lib/components/cards/elder-card/elder-card.component.scss +8 -2
  36. package/src/lib/components/chips/_elder-chip-theme.scss +12 -101
  37. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +6 -0
  38. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +0 -11
  39. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +22 -15
  40. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +18 -11
  41. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +9 -2
  42. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +8 -2
  43. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +10 -7
  44. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +4 -0
  45. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +24 -12
  46. package/src/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.scss +4 -1
  47. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +12 -3
  48. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +12 -4
  49. package/src/lib/components/panels/flat/_elder-panel-theme.scss +9 -26
  50. package/src/lib/components/select/_elder-select-base.scss +9 -1
  51. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +4 -1
  52. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +39 -10
  53. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +52 -19
  54. package/src/lib/components/select/single/elder-select/elder-select.component.scss +40 -24
  55. package/src/lib/components/time/_elder-time-input.theme.scss +3 -0
  56. package/theming/_elder-common.scss +399 -6
  57. package/theming/_elder-defaults.scss +7 -3
  58. package/theming/_elder-mdc-support.scss +142 -59
  59. package/theming/_elder-palettes.scss +148 -0
  60. package/theming/_elder-scrollbar-theme.scss +12 -2
  61. package/theming/_elder-style-fixes.scss +109 -41
  62. package/theming/_elder-theme.scss +51 -0
  63. package/theming/_elder-toast-theme.scss +46 -0
  64. package/theming/_elder-typography-utils.scss +11 -0
  65. package/theming/_mat-icon-button-size.scss +34 -0
  66. package/theming/_mixins.scss +0 -35
  67. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -120
  68. package/src/lib/components/chips/_elder-chip-theme-old.scss +0 -122
  69. package/theming/_elder-color-variants.scss +0 -26
  70. package/theming/_elder-form.scss +0 -308
  71. package/theming/_elder-layout-system.scss +0 -242
  72. package/theming/_elder-m3-theme.scss +0 -754
package/_index.scss CHANGED
@@ -1,17 +1,15 @@
1
- @use '@angular/material' as mat;
2
-
3
1
  @forward './theming/elder-scrollbar-theme';
2
+ @forward './theming/elder-palettes';
3
+ @forward './theming/elder-theme';
4
4
  @forward './theming/elder-defaults';
5
5
 
6
- @use './theming/elder-color-variants' as elder-color-variants;
6
+ @use './theming/elder-toast-theme' as elder-toast;
7
7
  @use './src/lib/components/chips/elder-chip-theme' as elder-chip;
8
8
  @use './theming/elder-style-fixes' as elder-fixes;
9
9
  @use './theming/elder-scrollbar-theme' as elder-scrollbar-theme;
10
10
  @use './theming/elder-defaults' as elder-defaults;
11
11
  @use './theming/elder-mdc-support' as elder-mdc-support;
12
12
  @use './theming/elder-common' as elder-common;
13
- @use './theming/elder-layout-system' as elder-layout-system;
14
- @use './theming/elder-form' as elder-form;
15
13
  @use './theming/elder-flex-layout' as elder-flex-layout;
16
14
  @use './src/lib/components/panels/flat/elder-panel-theme' as elder-panel;
17
15
  @use './src/lib/components/errors/exception-detail/elder-exception-detail.component' as
@@ -35,9 +33,9 @@
35
33
  as elder-multi-select-chips;
36
34
  @use './src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component'
37
35
  as elder-multi-select-chip-options;
36
+ @use './src/lib/components/iframes/iframe-host/iframe-host.component' as iframe-host;
38
37
  @use './src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component' as
39
38
  elder-drop-zone;
40
- //@use './src/lib/components/iframes/iframe-host/iframe-host.component' as iframe-host;
41
39
 
42
40
  @use 'sass:map';
43
41
 
@@ -47,10 +45,9 @@
47
45
  @include elder-fixes.elder-style-fixes($theme);
48
46
  @include elder-mdc-support.mdc-theme-support($theme);
49
47
  @include elder-common.elder-common-styles($theme);
50
- @include elder-form.elder-form-styles($theme);
51
48
  @include elder-flex-layout.elder-flex-layout($theme);
52
- @include elder-layout-system.elder-layout-system($theme);
53
49
 
50
+ @include elder-toast.theme($theme);
54
51
  @include elder-chip.theme($theme);
55
52
  @include elder-exception-detail.theme($theme);
56
53
 
@@ -58,7 +55,6 @@
58
55
  @include elder-card-panel.theme($theme);
59
56
  @include elder-dialog-panel.theme($theme);
60
57
  @include elder-nav.theme($theme);
61
-
62
58
  @include elder-expand-toggle-button.theme($theme);
63
59
  @include elder-select.theme($theme);
64
60
  @include elder-time.theme($theme);
@@ -70,14 +66,6 @@
70
66
  @include elder-grid.theme($theme);
71
67
  @include elder-button-group.theme($theme);
72
68
  @include elder-scrollbar-theme.theme($theme);
73
- // @include iframe-host.theme(
74
- // $theme
75
- // ); // interesting, iframe-host renders css, while mixin is empty. bug?
76
-
69
+ @include iframe-host.theme($theme);
77
70
  @include elder-drop-zone.theme($theme);
78
-
79
- // Custom Color variants for m3. They can already be provided through
80
- // "mat.color-variants-backwards-compatibility()"
81
- // But can be customized in this mixin below:
82
- @include elder-color-variants.elder-color-variants($theme);
83
71
  }
@@ -0,0 +1,2 @@
1
+ export * from './unreachable-case-error';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9leGNlcHRpb25zL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdW5yZWFjaGFibGUtY2FzZS1lcnJvcidcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export class UnreachableCaseError {
2
+ constructor(value) {
3
+ this.value = value;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5yZWFjaGFibGUtY2FzZS1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9leGNlcHRpb25zL3VucmVhY2hhYmxlLWNhc2UtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFtQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFJLENBQUM7Q0FDckMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjbGFzcyBVbnJlYWNoYWJsZUNhc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogbmV2ZXIpIHsgfVxufVxuIl19
@@ -13,10 +13,11 @@ export * from './http/public_api';
13
13
  export * from './i18n/public_api';
14
14
  export * from './enums/public_api';
15
15
  export * from './errors/public_api';
16
+ export * from './exceptions/public_api';
16
17
  export * from './csv/public_api';
17
18
  export * from './async/public_api';
18
19
  export * from './url/public_api';
19
20
  export * from './suggestion-provider';
20
21
  export * from './reactive-map';
21
22
  export * from './theme-sizes';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsWUFBWSxDQUFBO0FBRTFCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQTtBQUVoQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxlQUFlLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29iamVjdHMnXG5leHBvcnQgKiBmcm9tICcuL2FycmF5cydcbmV4cG9ydCAqIGZyb20gJy4vc2V0cydcbmV4cG9ydCAqIGZyb20gJy4vanNvbi1tYXAnXG5cbmV4cG9ydCAqIGZyb20gJy4vcnhqcy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdGltZS9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1zL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9odHRwL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2kxOG4vcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2Nzdi9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi91cmwvcHVibGljX2FwaSdcblxuZXhwb3J0ICogZnJvbSAnLi9zdWdnZXN0aW9uLXByb3ZpZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdGl2ZS1tYXAnXG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLXNpemVzJ1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsWUFBWSxDQUFBO0FBRTFCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLGtCQUFrQixDQUFBO0FBRWhDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb2JqZWN0cydcbmV4cG9ydCAqIGZyb20gJy4vYXJyYXlzJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXRzJ1xuZXhwb3J0ICogZnJvbSAnLi9qc29uLW1hcCdcblxuZXhwb3J0ICogZnJvbSAnLi9yeGpzL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi90aW1lL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2RhdGEvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybXMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2h0dHAvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZXhjZXB0aW9ucy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9jc3YvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdXJsL3B1YmxpY19hcGknXG5cbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbi1wcm92aWRlcidcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3RpdmUtbWFwJ1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1zaXplcydcbiJdfQ==
@@ -34,7 +34,7 @@ export class HttpDataTransferIndicatorComponent {
34
34
  this.aggregate$ = this.transferService.transferAggregate;
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferIndicatorComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferIndicatorComponent, isStandalone: true, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\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\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferIndicatorComponent, isStandalone: true, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\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\"> </elder-data-transfer-overview>\n</elder-overlay>\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: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferIndicatorComponent, decorators: [{
40
40
  type: Component,
@@ -48,10 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
48
48
  ElderOverlayComponent,
49
49
  HttpDataTransferOverviewComponent,
50
50
  AsyncPipe,
51
- ], template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\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\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px}\n"] }]
51
+ ], template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\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\"> </elder-data-transfer-overview>\n</elder-overlay>\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"] }]
52
52
  }], ctorParameters: () => [{ type: i1.ElderDataTransferService }], propDecorators: { activeColor: [{
53
53
  type: Input
54
54
  }], inactiveColor: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFLakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUE7QUFDeEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBb0JqRCxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFwQjdEOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUE7UUFHckMsa0JBQWEsR0FBaUIsU0FBUyxDQUFBO0lBVWtCLENBQUM7SUFFakU7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUE7SUFDMUQsQ0FBQzs4R0EvQlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsaUtDaEMvQywrNUJBMkJBLDhHRE5JLElBQUksNkZBQ0osYUFBYSw2RkFDYiw0QkFBNEIsNEpBQzVCLE9BQU8sMklBQ1Asa0JBQWtCLCtLQUNsQixRQUFRLGtOQUNSLHFCQUFxQiw4UkFDckIsaUNBQWlDLG9FQUNqQyxTQUFTOzsyRkFHQSxrQ0FBa0M7a0JBbEI5QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLFFBQVE7d0JBQ1IscUJBQXFCO3dCQUNyQixpQ0FBaUM7d0JBQ2pDLFNBQVM7cUJBQ1Y7NkZBVU0sV0FBVztzQkFEakIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEVsZGVyRGF0YVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSdcbmltcG9ydCB7IERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1wcm9ncmVzcy1hZ2dyZWdhdGUnXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3L2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEJhZGdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsXG4gICAgTWF0SWNvbixcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlQ29sb3I6IFRoZW1lUGFsZXR0ZSA9IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWRcblxuICBwdWJsaWMgYWdncmVnYXRlJDogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlckFnZ3JlZ2F0ZVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWNlbnRlci1jZW50ZXJcIlxuICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cIm92ZXJsYXlcIlxuICA+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPT0gMFwiIFtjb2xvcl09XCJpbmFjdGl2ZUNvbG9yXCI+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPiAwXCJcbiAgICAgIFttYXRCYWRnZV09XCJhZ2dyZWdhdGUuaW5UcmFuc2ZlclwiXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgW21hdEJhZGdlQ29sb3JdPVwiYWN0aXZlQ29sb3JcIlxuICAgICAgW2NvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtzdHJva2VXaWR0aF09XCIzXCJcbiAgICAgIFtkaWFtZXRlcl09XCIyNFwiXG4gICAgICBbdmFsdWVdPVwiYWdncmVnYXRlLnBlcmNlbnREb25lXCJcbiAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgPlxuICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxlbGRlci1vdmVybGF5ICNvdmVybGF5PVwiZWxkZXJPdmVybGF5XCIgb3JpZ2luWD1cImNlbnRlclwiIG92ZXJsYXlYPVwiY2VudGVyXCI+XG4gIDxlbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3IGNsYXNzPVwicGFuZWxcIj4gPC9lbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3PlxuPC9lbGRlci1vdmVybGF5PlxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFLakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUE7QUFDeEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBb0JqRCxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFwQjdEOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUE7UUFHckMsa0JBQWEsR0FBaUIsU0FBUyxDQUFBO0lBVWtCLENBQUM7SUFFakU7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUE7SUFDMUQsQ0FBQzs4R0EvQlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsaUtDaEMvQywrNUJBMkJBLGdORE5JLElBQUksNkZBQ0osYUFBYSw2RkFDYiw0QkFBNEIsNEpBQzVCLE9BQU8sMklBQ1Asa0JBQWtCLCtLQUNsQixRQUFRLGtOQUNSLHFCQUFxQiw4UkFDckIsaUNBQWlDLG9FQUNqQyxTQUFTOzsyRkFHQSxrQ0FBa0M7a0JBbEI5QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLFFBQVE7d0JBQ1IscUJBQXFCO3dCQUNyQixpQ0FBaUM7d0JBQ2pDLFNBQVM7cUJBQ1Y7NkZBVU0sV0FBVztzQkFEakIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEVsZGVyRGF0YVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSdcbmltcG9ydCB7IERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1wcm9ncmVzcy1hZ2dyZWdhdGUnXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3L2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEJhZGdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsXG4gICAgTWF0SWNvbixcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlQ29sb3I6IFRoZW1lUGFsZXR0ZSA9IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWRcblxuICBwdWJsaWMgYWdncmVnYXRlJDogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlckFnZ3JlZ2F0ZVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWNlbnRlci1jZW50ZXJcIlxuICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cIm92ZXJsYXlcIlxuICA+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPT0gMFwiIFtjb2xvcl09XCJpbmFjdGl2ZUNvbG9yXCI+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPiAwXCJcbiAgICAgIFttYXRCYWRnZV09XCJhZ2dyZWdhdGUuaW5UcmFuc2ZlclwiXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgW21hdEJhZGdlQ29sb3JdPVwiYWN0aXZlQ29sb3JcIlxuICAgICAgW2NvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtzdHJva2VXaWR0aF09XCIzXCJcbiAgICAgIFtkaWFtZXRlcl09XCIyNFwiXG4gICAgICBbdmFsdWVdPVwiYWdncmVnYXRlLnBlcmNlbnREb25lXCJcbiAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgPlxuICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxlbGRlci1vdmVybGF5ICNvdmVybGF5PVwiZWxkZXJPdmVybGF5XCIgb3JpZ2luWD1cImNlbnRlclwiIG92ZXJsYXlYPVwiY2VudGVyXCI+XG4gIDxlbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3IGNsYXNzPVwicGFuZWxcIj4gPC9lbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3PlxuPC9lbGRlci1vdmVybGF5PlxuIl19
@@ -17,7 +17,7 @@ export class HttpDataTransferOverviewComponent {
17
17
  this.transfers$ = this.transferService.transfers;
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferOverviewComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferOverviewComponent, isStandalone: true, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card class=\"layout-col full elevated-card\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\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 </div>\n\n <mat-toolbar class=\"flex-none toolbar-dark-bg\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></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}.elevated-card{margin-top:4px;box-shadow:var(--mat-app-elevation-shadow-level-5, none)!important;background-color:var(--md-sys-color-surface-container-low)!important}.toolbar-dark-bg{background-color:var(--md-sys-color-surface-container);border-radius:10px}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferOverviewComponent, isStandalone: true, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\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 </div>\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></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: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferOverviewComponent, decorators: [{
23
23
  type: Component,
@@ -29,6 +29,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
29
29
  MatToolbar,
30
30
  HttpDataTransferAggregateComponent,
31
31
  AsyncPipe,
32
- ], template: "<mat-card class=\"layout-col full elevated-card\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\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 </div>\n\n <mat-toolbar class=\"flex-none toolbar-dark-bg\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></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}.elevated-card{margin-top:4px;box-shadow:var(--mat-app-elevation-shadow-level-5, none)!important;background-color:var(--md-sys-color-surface-container-low)!important}.toolbar-dark-bg{background-color:var(--md-sys-color-surface-container);border-radius:10px}\n"] }]
32
+ ], template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\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 </div>\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></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"] }]
33
33
  }], ctorParameters: () => [{ type: i1.ElderDataTransferService }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJbEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0VBQXdFLENBQUE7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBa0JoRCxNQUFNLE9BQU8saUNBQWlDO0lBUzVDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQTtJQUNsRCxDQUFDOzhHQWpCVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx3RkMxQjlDLDYxQkF5QkEsaWREUkksT0FBTyxvR0FDUCxJQUFJLDZGQUNKLEtBQUssbUhBQ0wseUJBQXlCLHNGQUN6QixVQUFVLHFHQUNWLGtDQUFrQyxxR0FDbEMsU0FBUzs7MkZBR0EsaUNBQWlDO2tCQWhCN0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLHlCQUF5Qjt3QkFDekIsVUFBVTt3QkFDVixrQ0FBa0M7d0JBQ2xDLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2ZlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2ZlcidcbmltcG9ydCB7IEh0dHBEYXRhVHJhbnNmZXJBZ2dyZWdhdGVDb21wb25lbnQgfSBmcm9tICcuLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbGJhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInXG5pbXBvcnQgeyBIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTWF0Q2FyZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Q2FyZCxcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgTWF0VG9vbGJhcixcbiAgICBIdHRwRGF0YVRyYW5zZmVyQWdncmVnYXRlQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UpIHtcbiAgICB0aGlzLnRyYW5zZmVycyQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnNcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsIGVsZXZhdGVkLWNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgZmxleFwiICpuZ0lmPVwidHJhbnNmZXJzJCB8IGFzeW5jIGFzIHRyYW5zZmVyc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJ0cmFuc2ZlcnMubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFcIiBjbGFzcz1cImxheW91dC1jb2wgZmxleCBzY3JvbGwtbGlzdFwiPlxuICAgICAgPGVsZGVyLWRhdGEtdHJhbnNmZXJcbiAgICAgICAgY2xhc3M9XCJmbGV4LW5vbmVcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgdHJhbnNmZXIgb2YgdHJhbnNmZXJzXCJcbiAgICAgICAgW3RyYW5zZmVyXT1cInRyYW5zZmVyXCJcbiAgICAgID5cbiAgICAgIDwvZWxkZXItZGF0YS10cmFuc2Zlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhPlxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgcGxhY2UtY2VudGVyLWNlbnRlciBmbGV4XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXN1YnRpdGxlLTIgbm9zZWxlY3RcIiBzdHlsZT1cImNvbG9yOiBncmF5XCI+Tm8gZGF0YSB0cmFuc2ZlcnMuPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG5cbiAgPG1hdC10b29sYmFyIGNsYXNzPVwiZmxleC1ub25lIHRvb2xiYXItZGFyay1iZ1wiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZVxuICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgIFtoaWRkZW5XaGVuSW5hY3RpdmVdPVwiZmFsc2VcIlxuICAgID48L2VsZGVyLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlPlxuICA8L21hdC10b29sYmFyPlxuPC9tYXQtY2FyZD5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJbEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0VBQXdFLENBQUE7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBa0JoRCxNQUFNLE9BQU8saUNBQWlDO0lBUzVDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQTtJQUNsRCxDQUFDOzhHQWpCVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx3RkMxQjlDLHMyQkF5QkEsZ05EUkksT0FBTyxvR0FDUCxJQUFJLDZGQUNKLEtBQUssbUhBQ0wseUJBQXlCLHNGQUN6QixVQUFVLHFHQUNWLGtDQUFrQyxxR0FDbEMsU0FBUzs7MkZBR0EsaUNBQWlDO2tCQWhCN0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLHlCQUF5Qjt3QkFDekIsVUFBVTt3QkFDVixrQ0FBa0M7d0JBQ2xDLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2ZlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2ZlcidcbmltcG9ydCB7IEh0dHBEYXRhVHJhbnNmZXJBZ2dyZWdhdGVDb21wb25lbnQgfSBmcm9tICcuLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbGJhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInXG5pbXBvcnQgeyBIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTWF0Q2FyZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Q2FyZCxcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgTWF0VG9vbGJhcixcbiAgICBIdHRwRGF0YVRyYW5zZmVyQWdncmVnYXRlQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UpIHtcbiAgICB0aGlzLnRyYW5zZmVycyQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnNcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJyYWlzZWRcIiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCIgKm5nSWY9XCJ0cmFuc2ZlcnMkIHwgYXN5bmMgYXMgdHJhbnNmZXJzXCI+XG4gICAgPGRpdiAqbmdJZj1cInRyYW5zZmVycy5sZW5ndGggPiAwOyBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHNjcm9sbC1saXN0XCI+XG4gICAgICA8ZWxkZXItZGF0YS10cmFuc2ZlclxuICAgICAgICBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCB0cmFuc2ZlciBvZiB0cmFuc2ZlcnNcIlxuICAgICAgICBbdHJhbnNmZXJdPVwidHJhbnNmZXJcIlxuICAgICAgPlxuICAgICAgPC9lbGRlci1kYXRhLXRyYW5zZmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiIHN0eWxlPVwiY29sb3I6IGdyYXlcIj5ObyBkYXRhIHRyYW5zZmVycy48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJmbGV4LW5vbmUgbWF0LWVsZXZhdGlvbi16NVwiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZVxuICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgIFtoaWRkZW5XaGVuSW5hY3RpdmVdPVwiZmFsc2VcIlxuICAgID48L2VsZGVyLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlPlxuICA8L21hdC10b29sYmFyPlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { ParseUtil } from '../../../../common/utils/parse-util';
2
+ import { UnreachableCaseError } from '../../../../common/exceptions/unreachable-case-error';
3
+ import { map } from 'rxjs/operators';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ export var ElderCheckboxState;
6
+ (function (ElderCheckboxState) {
7
+ ElderCheckboxState[ElderCheckboxState["UNCHECKED"] = 0] = "UNCHECKED";
8
+ ElderCheckboxState[ElderCheckboxState["CHECKED"] = 1] = "CHECKED";
9
+ })(ElderCheckboxState || (ElderCheckboxState = {}));
10
+ export class ElderSingleStateCheckboxController {
11
+ /***************************************************************************
12
+ * *
13
+ * Constructor *
14
+ * *
15
+ **************************************************************************/
16
+ constructor(checkbox, ngModel) {
17
+ this.checkbox = checkbox;
18
+ this.ngModel = ngModel;
19
+ this._stateChange = this.ngModel.valueChanges.pipe(takeUntilDestroyed(), map((value) => this.controlValueToState(value)));
20
+ this.stateChange.subscribe((value) => this.writeState(value));
21
+ }
22
+ /***************************************************************************
23
+ * *
24
+ * Properties *
25
+ * *
26
+ **************************************************************************/
27
+ get stateChange() {
28
+ return this._stateChange;
29
+ }
30
+ /***************************************************************************
31
+ * *
32
+ * Public API *
33
+ * *
34
+ **************************************************************************/
35
+ toggleNextState() {
36
+ const current = this.readState();
37
+ this.writeState((current + 1) % 2);
38
+ }
39
+ writeState(state) {
40
+ switch (state) {
41
+ case ElderCheckboxState.UNCHECKED:
42
+ this.writeValueToControlAndModel(undefined);
43
+ break;
44
+ case ElderCheckboxState.CHECKED:
45
+ this.writeValueToControlAndModel(true);
46
+ break;
47
+ default:
48
+ throw new UnreachableCaseError(state);
49
+ }
50
+ }
51
+ readState() {
52
+ return this.controlValueToState(this.readControlValue());
53
+ }
54
+ /***************************************************************************
55
+ * *
56
+ * Private methods *
57
+ * *
58
+ **************************************************************************/
59
+ controlValueToState(value) {
60
+ const state = ParseUtil.parseBoolOrUndefined(value);
61
+ switch (state) {
62
+ case undefined:
63
+ case false:
64
+ return ElderCheckboxState.UNCHECKED;
65
+ case true:
66
+ return ElderCheckboxState.CHECKED;
67
+ default:
68
+ throw new UnreachableCaseError(state);
69
+ }
70
+ }
71
+ readControlValue() {
72
+ if (this.ngModel) {
73
+ return this.ngModel.viewModel;
74
+ }
75
+ else {
76
+ return this.checkbox.value;
77
+ }
78
+ }
79
+ writeValueToControlAndModel(value) {
80
+ const isTrue = value === true;
81
+ this.checkbox.value = isTrue ? String(value) : undefined;
82
+ this.checkbox.checked = isTrue;
83
+ this.checkbox.indeterminate = false;
84
+ this.updateModelIfPresent(value);
85
+ }
86
+ updateModelIfPresent(val) {
87
+ if (this.ngModel !== null && this.ngModel.viewModel !== val) {
88
+ this.ngModel.control.setValue(val, {
89
+ onlySelf: false,
90
+ emitEvent: true,
91
+ emitModelToViewChange: true,
92
+ emitViewToModelChange: true,
93
+ });
94
+ }
95
+ }
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvY2hlY2tib3gvZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBRTNGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxNQUFNLENBQU4sSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLHFFQUFhLENBQUE7SUFDYixpRUFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0I7QUFFRCxNQUFNLE9BQU8sa0NBQWtDO0lBUzdDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUNyQixPQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFFakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELGtCQUFrQixFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUE7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENB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L2NoZWNrYm94J1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUGFyc2VVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL3BhcnNlLXV0aWwnXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNhc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9leGNlcHRpb25zL3VucmVhY2hhYmxlLWNhc2UtZXJyb3InXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnXG5cbmV4cG9ydCBlbnVtIEVsZGVyQ2hlY2tib3hTdGF0ZSB7XG4gIFVOQ0hFQ0tFRCA9IDAsXG4gIENIRUNLRUQgPSAxLFxufVxuXG5leHBvcnQgY2xhc3MgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlOiBPYnNlcnZhYmxlPEVsZGVyQ2hlY2tib3hTdGF0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja2JveDogTWF0Q2hlY2tib3gsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ01vZGVsOiBOZ01vZGVsXG4gICkge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlID0gdGhpcy5uZ01vZGVsLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICBtYXAoKHZhbHVlKSA9PiB0aGlzLmNvbnRyb2xWYWx1ZVRvU3RhdGUodmFsdWUpKVxuICAgIClcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMud3JpdGVTdGF0ZSh2YWx1ZSkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8RWxkZXJDaGVja2JveFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlQ2hhbmdlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdG9nZ2xlTmV4dFN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnJlYWRTdGF0ZSgpXG4gICAgdGhpcy53cml0ZVN0YXRlKChjdXJyZW50ICsgMSkgJSAyKVxuICB9XG5cbiAgcHVibGljIHdyaXRlU3RhdGUoc3RhdGU6IEVsZGVyQ2hlY2tib3hTdGF0ZSk6IHZvaWQge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgRWxkZXJDaGVja2JveFN0YXRlLlVOQ0hFQ0tFRDpcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodW5kZWZpbmVkKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBFbGRlckNoZWNrYm94U3RhdGUuQ0hFQ0tFRDpcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodHJ1ZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNhc2VFcnJvcihzdGF0ZSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVhZFN0YXRlKCk6IEVsZGVyQ2hlY2tib3hTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlVG9TdGF0ZSh0aGlzLnJlYWRDb250cm9sVmFsdWUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY29udHJvbFZhbHVlVG9TdGF0ZSh2YWx1ZTogYW55KTogRWxkZXJDaGVja2JveFN0YXRlIHtcbiAgICBjb25zdCBzdGF0ZSA9IFBhcnNlVXRpbC5wYXJzZUJvb2xPclVuZGVmaW5lZCh2YWx1ZSlcbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuVU5DSEVDS0VEXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuQ0hFQ0tFRFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ2FzZUVycm9yKHN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZENvbnRyb2xWYWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nTW9kZWwudmlld01vZGVsXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrYm94LnZhbHVlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBpc1RydWUgPSB2YWx1ZSA9PT0gdHJ1ZVxuXG4gICAgdGhpcy5jaGVja2JveC52YWx1ZSA9IGlzVHJ1ZSA/IFN0cmluZyh2YWx1ZSkgOiB1bmRlZmluZWRcbiAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSBpc1RydWVcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZVxuICAgIHRoaXMudXBkYXRlTW9kZWxJZlByZXNlbnQodmFsdWUpXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGVsSWZQcmVzZW50KHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdNb2RlbCAhPT0gbnVsbCAmJiB0aGlzLm5nTW9kZWwudmlld01vZGVsICE9PSB2YWwpIHtcbiAgICAgIHRoaXMubmdNb2RlbC5jb250cm9sLnNldFZhbHVlKHZhbCwge1xuICAgICAgICBvbmx5U2VsZjogZmFsc2UsXG4gICAgICAgIGVtaXRFdmVudDogdHJ1ZSxcbiAgICAgICAgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiB0cnVlLFxuICAgICAgICBlbWl0Vmlld1RvTW9kZWxDaGFuZ2U6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,50 @@
1
+ import { Directive } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { ElderSingleStateCheckboxController } from './elder-single-state-checkbox-controller';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/checkbox";
6
+ import * as i2 from "@angular/forms";
7
+ export class ElderSingleStateCheckboxDirective {
8
+ /***************************************************************************
9
+ * *
10
+ * Constructor *
11
+ * *
12
+ **************************************************************************/
13
+ constructor(checkbox, ngModel) {
14
+ this.checkbox = checkbox;
15
+ /***************************************************************************
16
+ * *
17
+ * Fields *
18
+ * *
19
+ **************************************************************************/
20
+ this.log = LoggerFactory.getLogger(this.constructor.name);
21
+ this.controller = new ElderSingleStateCheckboxController(checkbox, ngModel);
22
+ }
23
+ /***************************************************************************
24
+ * *
25
+ * Life Cycle *
26
+ * *
27
+ **************************************************************************/
28
+ ngOnInit() {
29
+ this.controller.writeState(this.controller.readState());
30
+ this.checkbox.registerOnChange(() => this.toggleNextState());
31
+ }
32
+ /***************************************************************************
33
+ * *
34
+ * Public API *
35
+ * *
36
+ **************************************************************************/
37
+ toggleNextState() {
38
+ this.controller.toggleNextState();
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderSingleStateCheckboxDirective, deps: [{ token: i1.MatCheckbox }, { token: i2.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ElderSingleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderSingleStateCheckbox]", ngImport: i0 }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderSingleStateCheckboxDirective, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ selector: 'mat-checkbox[elderSingleStateCheckbox]',
47
+ standalone: true,
48
+ }]
49
+ }], ctorParameters: () => [{ type: i1.MatCheckbox }, { type: i2.NgModel }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9jaGVja2JveC9lbGRlci1zaW5nbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBSTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUdwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7OztBQU03RixNQUFNLE9BQU8saUNBQWlDO0lBVTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUN0QyxPQUFnQjtRQURDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFoQnhDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBYW5FLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDbkMsQ0FBQzs4R0ExQ1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUM7OzJGQUFqQyxpQ0FBaUM7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBQYXJzZVV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvcGFyc2UtdXRpbCdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFVucmVhY2hhYmxlQ2FzZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2V4Y2VwdGlvbnMvdW5yZWFjaGFibGUtY2FzZS1lcnJvcidcbmltcG9ydCB7IEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveENvbnRyb2xsZXIgfSBmcm9tICcuL2VsZGVyLXRyaXBsZS1zdGF0ZS1jaGVja2JveC1jb250cm9sbGVyJ1xuaW1wb3J0IHsgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB9IGZyb20gJy4vZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXInXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ21hdC1jaGVja2JveFtlbGRlclNpbmdsZVN0YXRlQ2hlY2tib3hdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbGxlcjogRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlclxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tib3g6IE1hdENoZWNrYm94LFxuICAgIG5nTW9kZWw6IE5nTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gbmV3IEVsZGVyU2luZ2xlU3RhdGVDaGVja2JveENvbnRyb2xsZXIoY2hlY2tib3gsIG5nTW9kZWwpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sbGVyLndyaXRlU3RhdGUodGhpcy5jb250cm9sbGVyLnJlYWRTdGF0ZSgpKVxuICAgIHRoaXMuY2hlY2tib3gucmVnaXN0ZXJPbkNoYW5nZSgoKSA9PiB0aGlzLnRvZ2dsZU5leHRTdGF0ZSgpKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRvZ2dsZU5leHRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIudG9nZ2xlTmV4dFN0YXRlKClcbiAgfVxufVxuIl19
@@ -0,0 +1,102 @@
1
+ import { ParseUtil } from '../../../../common/utils/parse-util';
2
+ import { UnreachableCaseError } from '../../../../common/exceptions/unreachable-case-error';
3
+ import { map } from 'rxjs/operators';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ export var TripleCheckboxState;
6
+ (function (TripleCheckboxState) {
7
+ TripleCheckboxState[TripleCheckboxState["UNCHECKED"] = 0] = "UNCHECKED";
8
+ TripleCheckboxState[TripleCheckboxState["CHECKED"] = 1] = "CHECKED";
9
+ TripleCheckboxState[TripleCheckboxState["INDETERMINATE"] = 2] = "INDETERMINATE";
10
+ })(TripleCheckboxState || (TripleCheckboxState = {}));
11
+ export class ElderTripleStateCheckboxController {
12
+ /***************************************************************************
13
+ * *
14
+ * Constructor *
15
+ * *
16
+ **************************************************************************/
17
+ constructor(checkbox, ngModel) {
18
+ this.checkbox = checkbox;
19
+ this.ngModel = ngModel;
20
+ this._stateChange = this.ngModel.valueChanges.pipe(takeUntilDestroyed(), map((value) => this.controlValueToState(value)));
21
+ this.stateChange.subscribe((value) => this.writeState(value));
22
+ }
23
+ /***************************************************************************
24
+ * *
25
+ * Properties *
26
+ * *
27
+ **************************************************************************/
28
+ get stateChange() {
29
+ return this._stateChange;
30
+ }
31
+ /***************************************************************************
32
+ * *
33
+ * Public API *
34
+ * *
35
+ **************************************************************************/
36
+ toggleNextState() {
37
+ const current = this.readState();
38
+ this.writeState((current + 1) % 3);
39
+ }
40
+ writeState(state) {
41
+ switch (state) {
42
+ case TripleCheckboxState.UNCHECKED:
43
+ this.writeValueToControlAndModel(false);
44
+ break;
45
+ case TripleCheckboxState.CHECKED:
46
+ this.writeValueToControlAndModel(true);
47
+ break;
48
+ case TripleCheckboxState.INDETERMINATE:
49
+ this.writeValueToControlAndModel(undefined);
50
+ break;
51
+ default:
52
+ throw new UnreachableCaseError(state);
53
+ }
54
+ }
55
+ readState() {
56
+ return this.controlValueToState(this.readControlValue());
57
+ }
58
+ /***************************************************************************
59
+ * *
60
+ * Private methods *
61
+ * *
62
+ **************************************************************************/
63
+ controlValueToState(value) {
64
+ const state = ParseUtil.parseBoolOrUndefined(value);
65
+ switch (state) {
66
+ case false:
67
+ return TripleCheckboxState.UNCHECKED;
68
+ case true:
69
+ return TripleCheckboxState.CHECKED;
70
+ case undefined:
71
+ return TripleCheckboxState.INDETERMINATE;
72
+ default:
73
+ throw new UnreachableCaseError(state);
74
+ }
75
+ }
76
+ readControlValue() {
77
+ if (this.ngModel) {
78
+ return this.ngModel.viewModel;
79
+ }
80
+ else {
81
+ return this.checkbox.value;
82
+ }
83
+ }
84
+ writeValueToControlAndModel(value) {
85
+ const isDefined = value !== undefined;
86
+ this.checkbox.value = isDefined ? String(value) : undefined;
87
+ this.checkbox.checked = !!value;
88
+ this.checkbox.indeterminate = !isDefined;
89
+ this.updateModelIfPresent(value);
90
+ }
91
+ updateModelIfPresent(val) {
92
+ if (this.ngModel !== null && this.ngModel.viewModel !== val) {
93
+ this.ngModel.control.setValue(val, {
94
+ onlySelf: false,
95
+ emitEvent: true,
96
+ emitModelToViewChange: true,
97
+ emitViewToModelChange: true,
98
+ });
99
+ }
100
+ }
101
+ }
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvY2hlY2tib3gvZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBRTNGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLHVFQUFhLENBQUE7SUFDYixtRUFBVyxDQUFBO0lBQ1gsK0VBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLE9BQU8sa0NBQWtDO0lBUzdDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUNyQixPQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFFakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELGtCQUFrQixFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUE7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQTtJQUMxQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLGVBQWU7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUEwQjtRQUMxQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxtQkFBbUIsQ0FBQyxTQUFTO2dCQUNoQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3ZDLE1BQUs7WUFDUCxLQUFLLG1CQUFtQixDQUFDLE9BQU87Z0JBQzlCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdEMsTUFBSztZQUNQLEtBQUssbUJBQW1CLENBQUMsYUFBYTtnQkFDcEMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUMzQyxNQUFLO1lBQ1A7Z0JBQ0UsTUFBTSxJQUFJLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxtQkFBbUIsQ0FBQyxLQUFVO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuRCxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxLQUFLO2dCQUNSLE9BQU8sbUJBQW1CLENBQUMsU0FBUyxDQUFBO1lBQ3RDLEtBQUssSUFBSTtnQkFDUCxPQUFPLG1CQUFtQixDQUFDLE9BQU8sQ0FBQTtZQUNwQyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxtQkFBbUIsQ0FBQyxhQUFhLENBQUE7WUFDMUM7Z0JBQ0UsTUFBTSxJQUFJLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUE7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFBO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRU8sMkJBQTJCLENBQUMsS0FBMEI7UUFDNUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxLQUFLLFNBQVMsQ0FBQTtRQUVyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxTQUFTLENBQUE7UUFDeEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxHQUFRO1FBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDakMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLElBQUk7Z0JBQ2YscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IscUJBQXFCLEVBQUUsSUFBSTthQUM1QixDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFBhcnNlVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9wYXJzZS11dGlsJ1xuaW1wb3J0IHsgVW5yZWFjaGFibGVDYXNlRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZXhjZXB0aW9ucy91bnJlYWNoYWJsZS1jYXNlLWVycm9yJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG5leHBvcnQgZW51bSBUcmlwbGVDaGVja2JveFN0YXRlIHtcbiAgVU5DSEVDS0VEID0gMCxcbiAgQ0hFQ0tFRCA9IDEsXG4gIElOREVURVJNSU5BVEUgPSAyLFxufVxuXG5leHBvcnQgY2xhc3MgRWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlOiBPYnNlcnZhYmxlPFRyaXBsZUNoZWNrYm94U3RhdGU+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tib3g6IE1hdENoZWNrYm94LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdNb2RlbDogTmdNb2RlbFxuICApIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZSA9IHRoaXMubmdNb2RlbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgbWFwKCh2YWx1ZSkgPT4gdGhpcy5jb250cm9sVmFsdWVUb1N0YXRlKHZhbHVlKSlcbiAgICApXG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLndyaXRlU3RhdGUodmFsdWUpKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBzdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPFRyaXBsZUNoZWNrYm94U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVDaGFuZ2VcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b2dnbGVOZXh0U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMucmVhZFN0YXRlKClcbiAgICB0aGlzLndyaXRlU3RhdGUoKGN1cnJlbnQgKyAxKSAlIDMpXG4gIH1cblxuICBwdWJsaWMgd3JpdGVTdGF0ZShzdGF0ZTogVHJpcGxlQ2hlY2tib3hTdGF0ZSk6IHZvaWQge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgVHJpcGxlQ2hlY2tib3hTdGF0ZS5VTkNIRUNLRUQ6XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZVRvQ29udHJvbEFuZE1vZGVsKGZhbHNlKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBUcmlwbGVDaGVja2JveFN0YXRlLkNIRUNLRUQ6XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZVRvQ29udHJvbEFuZE1vZGVsKHRydWUpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFRyaXBsZUNoZWNrYm94U3RhdGUuSU5ERVRFUk1JTkFURTpcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodW5kZWZpbmVkKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ2FzZUVycm9yKHN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWFkU3RhdGUoKTogVHJpcGxlQ2hlY2tib3hTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlVG9TdGF0ZSh0aGlzLnJlYWRDb250cm9sVmFsdWUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY29udHJvbFZhbHVlVG9TdGF0ZSh2YWx1ZTogYW55KTogVHJpcGxlQ2hlY2tib3hTdGF0ZSB7XG4gICAgY29uc3Qgc3RhdGUgPSBQYXJzZVV0aWwucGFyc2VCb29sT3JVbmRlZmluZWQodmFsdWUpXG4gICAgc3dpdGNoIChzdGF0ZSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgcmV0dXJuIFRyaXBsZUNoZWNrYm94U3RhdGUuVU5DSEVDS0VEXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHJldHVybiBUcmlwbGVDaGVja2JveFN0YXRlLkNIRUNLRURcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gVHJpcGxlQ2hlY2tib3hTdGF0ZS5JTkRFVEVSTUlOQVRFXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDYXNlRXJyb3Ioc3RhdGUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkQ29udHJvbFZhbHVlKCk6IGFueSB7XG4gICAgaWYgKHRoaXMubmdNb2RlbCkge1xuICAgICAgcmV0dXJuIHRoaXMubmdNb2RlbC52aWV3TW9kZWxcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tib3gudmFsdWVcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlVmFsdWVUb0NvbnRyb2xBbmRNb2RlbCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGlzRGVmaW5lZCA9IHZhbHVlICE9PSB1bmRlZmluZWRcblxuICAgIHRoaXMuY2hlY2tib3gudmFsdWUgPSBpc0RlZmluZWQgPyBTdHJpbmcodmFsdWUpIDogdW5kZWZpbmVkXG4gICAgdGhpcy5jaGVja2JveC5jaGVja2VkID0gISF2YWx1ZVxuICAgIHRoaXMuY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9ICFpc0RlZmluZWRcbiAgICB0aGlzLnVwZGF0ZU1vZGVsSWZQcmVzZW50KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNb2RlbElmUHJlc2VudCh2YWw6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nTW9kZWwgIT09IG51bGwgJiYgdGhpcy5uZ01vZGVsLnZpZXdNb2RlbCAhPT0gdmFsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwuY29udHJvbC5zZXRWYWx1ZSh2YWwsIHtcbiAgICAgICAgb25seVNlbGY6IGZhbHNlLFxuICAgICAgICBlbWl0RXZlbnQ6IHRydWUsXG4gICAgICAgIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogdHJ1ZSxcbiAgICAgICAgZW1pdFZpZXdUb01vZGVsQ2hhbmdlOiB0cnVlLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Directive } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { ElderTripleStateCheckboxController } from './elder-triple-state-checkbox-controller';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/checkbox";
6
+ import * as i2 from "@angular/forms";
7
+ export class ElderTripleStateCheckboxDirective {
8
+ /***************************************************************************
9
+ * *
10
+ * Constructor *
11
+ * *
12
+ **************************************************************************/
13
+ constructor(checkbox, ngModel) {
14
+ this.checkbox = checkbox;
15
+ /***************************************************************************
16
+ * *
17
+ * Fields *
18
+ * *
19
+ **************************************************************************/
20
+ this.log = LoggerFactory.getLogger(this.constructor.name);
21
+ this.controller = new ElderTripleStateCheckboxController(checkbox, ngModel);
22
+ }
23
+ /***************************************************************************
24
+ * *
25
+ * Life Cycle *
26
+ * *
27
+ **************************************************************************/
28
+ ngOnInit() {
29
+ this.controller.writeState(this.controller.readState());
30
+ this.checkbox.registerOnChange(() => this.toggleNextState());
31
+ }
32
+ /***************************************************************************
33
+ * *
34
+ * Public API *
35
+ * *
36
+ **************************************************************************/
37
+ toggleNextState() {
38
+ this.controller.toggleNextState();
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1.MatCheckbox }, { token: i2.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ElderTripleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderTripleStateCheckbox]", ngImport: i0 }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTripleStateCheckboxDirective, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ selector: 'mat-checkbox[elderTripleStateCheckbox]',
47
+ standalone: true,
48
+ }]
49
+ }], ctorParameters: () => [{ type: i1.MatCheckbox }, { type: i2.NgModel }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9jaGVja2JveC9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBSTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7OztBQU03RixNQUFNLE9BQU8saUNBQWlDO0lBVTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUN0QyxPQUFnQjtRQURDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFoQnhDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBYW5FLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDbkMsQ0FBQzs4R0ExQ1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUM7OzJGQUFqQyxpQ0FBaUM7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBQYXJzZVV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvcGFyc2UtdXRpbCdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFVucmVhY2hhYmxlQ2FzZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2V4Y2VwdGlvbnMvdW5yZWFjaGFibGUtY2FzZS1lcnJvcidcbmltcG9ydCB7IEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveENvbnRyb2xsZXIgfSBmcm9tICcuL2VsZGVyLXRyaXBsZS1zdGF0ZS1jaGVja2JveC1jb250cm9sbGVyJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdtYXQtY2hlY2tib3hbZWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xsZXI6IEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveENvbnRyb2xsZXJcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrYm94OiBNYXRDaGVja2JveCxcbiAgICBuZ01vZGVsOiBOZ01vZGVsXG4gICkge1xuICAgIHRoaXMuY29udHJvbGxlciA9IG5ldyBFbGRlclRyaXBsZVN0YXRlQ2hlY2tib3hDb250cm9sbGVyKGNoZWNrYm94LCBuZ01vZGVsKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbGxlci53cml0ZVN0YXRlKHRoaXMuY29udHJvbGxlci5yZWFkU3RhdGUoKSlcbiAgICB0aGlzLmNoZWNrYm94LnJlZ2lzdGVyT25DaGFuZ2UoKCkgPT4gdGhpcy50b2dnbGVOZXh0U3RhdGUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b2dnbGVOZXh0U3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sbGVyLnRvZ2dsZU5leHRTdGF0ZSgpXG4gIH1cbn1cbiJdfQ==