@elderbyte/ngx-starter 18.13.0-beta.2 → 18.14.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 (107) hide show
  1. package/_index.scss +6 -25
  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/access-denied/elder-access-denied.component.mjs +3 -3
  6. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +3 -3
  7. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  8. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +3 -3
  9. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  10. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  11. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +3 -3
  12. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  13. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  14. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  15. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  16. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +97 -0
  17. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +50 -0
  18. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +102 -0
  19. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +50 -0
  20. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +9 -3
  21. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  22. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  23. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  24. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -12
  25. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  26. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  27. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  28. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +5 -4
  29. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -3
  30. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -3
  31. package/esm2022/lib/components/select/elder-select-base.mjs +4 -2
  32. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  33. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +4 -2
  34. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
  35. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +20 -6
  36. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  37. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +5 -3
  38. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  39. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +6 -6
  40. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +3 -3
  41. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  42. package/fesm2022/elderbyte-ngx-starter.mjs +408 -221
  43. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  44. package/lib/common/exceptions/public_api.d.ts +1 -0
  45. package/lib/common/exceptions/unreachable-case-error.d.ts +4 -0
  46. package/lib/common/public_api.d.ts +1 -0
  47. package/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.d.ts +46 -0
  48. package/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.d.ts +34 -0
  49. package/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.d.ts +47 -0
  50. package/lib/components/forms/directives/{elder-triple-state-checkbox.directive.d.ts → checkbox/elder-triple-state-checkbox.directive.d.ts} +10 -23
  51. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +9 -7
  52. package/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.d.ts +1 -2
  53. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +4 -1
  54. package/package.json +1 -1
  55. package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -2
  56. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +9 -3
  57. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +36 -9
  58. package/src/lib/components/cards/elder-card/elder-card.component.scss +14 -7
  59. package/src/lib/components/chips/_elder-chip-theme.scss +12 -101
  60. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +7 -1
  61. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +0 -11
  62. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +26 -16
  63. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +22 -13
  64. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +9 -2
  65. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +9 -3
  66. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +10 -4
  67. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +10 -7
  68. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +1 -0
  69. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +4 -0
  70. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
  71. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +24 -16
  72. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +1 -1
  73. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.scss +4 -4
  74. package/src/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.scss +5 -2
  75. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +13 -4
  76. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +13 -5
  77. package/src/lib/components/panels/flat/_elder-panel-theme.scss +25 -9
  78. package/src/lib/components/select/_elder-select-base.scss +9 -1
  79. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +6 -2
  80. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +39 -10
  81. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +52 -18
  82. package/src/lib/components/select/single/elder-select/elder-select.component.scss +40 -24
  83. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +2 -2
  84. package/src/lib/components/shell/shell/elder-shell.component.scss +0 -8
  85. package/src/lib/components/time/_elder-time-input.theme.scss +3 -0
  86. package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +2 -31
  87. package/theming/_elder-common.scss +402 -21
  88. package/theming/_elder-defaults.scss +7 -3
  89. package/theming/_elder-flex-layout.scss +11 -0
  90. package/theming/_elder-mdc-support.scss +142 -59
  91. package/theming/_elder-palettes.scss +148 -0
  92. package/theming/_elder-scrollbar-theme.scss +12 -2
  93. package/theming/_elder-style-fixes.scss +88 -214
  94. package/theming/_elder-theme.scss +51 -0
  95. package/theming/_elder-toast-theme.scss +46 -0
  96. package/theming/_elder-typography-utils.scss +11 -0
  97. package/theming/_mat-icon-button-size.scss +34 -0
  98. package/theming/_mixins.scss +1 -35
  99. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -120
  100. package/src/lib/components/chips/_elder-chip-theme-old.scss +0 -122
  101. package/theming/_elder-badge-sizing.scss +0 -21
  102. package/theming/_elder-color-helpers.scss +0 -74
  103. package/theming/_elder-color-variants.scss +0 -26
  104. package/theming/_elder-design-token-overwrites.scss +0 -33
  105. package/theming/_elder-form.scss +0 -308
  106. package/theming/_elder-layout-system.scss +0 -467
  107. package/theming/_elder-m3-theme.scss +0 -958
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvY2hlY2tib3gvZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBRTNGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLHVFQUFhLENBQUE7SUFDYixtRUFBVyxDQUFBO0lBQ1gsK0VBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLE9BQU8sa0NBQWtDO0lBUzdDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUNyQixPQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFFakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELGtCQUFrQixFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUE7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFD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QXFCLEVBQUUsSUFBSTtnQkFDM0IscUJBQXFCLEVBQUUsSUFBSTthQUM1QixDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFBhcnNlVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9wYXJzZS11dGlsJ1xuaW1wb3J0IHsgVW5yZWFjaGFibGVDYXNlRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZXhjZXB0aW9ucy91bnJlYWNoYWJsZS1jYXNlLWVycm9yJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG5leHBvcnQgZW51bSBUcmlwbGVDaGVja2JveFN0YXRlIHtcbiAgVU5DSEVDS0VEID0gMCxcbiAgQ0hFQ0tFRCA9IDEsXG4gIElOREVURVJNSU5BVEUgPSAyLFxufVxuXG5leHBvcnQgY2xhc3MgRWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlOiBPYnNlcnZhYmxlPFRyaXBsZUNoZWNrYm94U3RhdGU+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==
@@ -15,11 +15,12 @@ import { ElderFormFieldNoSpinnerDirective } from './elder-form-field-no-spinner.
15
15
  import { ElderRequiredIgnoreZeroValidator } from './validation/validators/elder-required-ignore-zero.validator';
16
16
  import { ElderMultipleOfValidator } from './validation/validators/elder-multiple-of.validator';
17
17
  import { ElderNextFocusableDirective } from './elder-next-focusable.directive';
18
- import { ElderTripleStateCheckboxDirective } from './elder-triple-state-checkbox.directive';
18
+ import { ElderTripleStateCheckboxDirective } from './checkbox/elder-triple-state-checkbox.directive';
19
19
  import { ElderTabFocusTrapDirective } from './elder-tab-focus-trap.directive';
20
20
  import { ElderFormFieldNoHintDirective } from './elder-form-field-no-hint.directive';
21
21
  import { ElderInputPatternDirective } from './elder-input-pattern.directive';
22
22
  import { ElderValidationErrorDirective } from './validation/elder-validation-error.directive';
23
+ import { ElderSingleStateCheckboxDirective } from './checkbox/elder-single-state-checkbox.directive';
23
24
  import * as i0 from "@angular/core";
24
25
  export { ElderDelayedFocusDirective } from './elder-delayed-focus.directive';
25
26
  export { ElderTouchedDirective } from './elder-touched.directive';
@@ -38,7 +39,8 @@ export * from './validation/validators/elder-multiple-of.validator';
38
39
  export * from './validation/elder-validation-error.directive';
39
40
  export * from './elder-next-focusable.directive';
40
41
  export * from './elder-tab-focus-trap.directive';
41
- export * from './elder-triple-state-checkbox.directive';
42
+ export * from './checkbox/elder-triple-state-checkbox.directive';
43
+ export * from './checkbox/elder-single-state-checkbox.directive';
42
44
  export * from './elder-input-pattern.directive';
43
45
  export class ElderFormsDirectivesModule {
44
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderFormsDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -59,6 +61,7 @@ export class ElderFormsDirectivesModule {
59
61
  ElderMultipleOfValidator,
60
62
  ElderNextFocusableDirective,
61
63
  ElderTripleStateCheckboxDirective,
64
+ ElderSingleStateCheckboxDirective,
62
65
  ElderTabFocusTrapDirective,
63
66
  ElderFormFieldNoHintDirective,
64
67
  ElderInputPatternDirective,
@@ -77,6 +80,7 @@ export class ElderFormsDirectivesModule {
77
80
  ElderMultipleOfValidator,
78
81
  ElderNextFocusableDirective,
79
82
  ElderTripleStateCheckboxDirective,
83
+ ElderSingleStateCheckboxDirective,
80
84
  ElderTabFocusTrapDirective,
81
85
  ElderFormFieldNoHintDirective,
82
86
  ElderInputPatternDirective,
@@ -105,6 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
105
109
  ElderMultipleOfValidator,
106
110
  ElderNextFocusableDirective,
107
111
  ElderTripleStateCheckboxDirective,
112
+ ElderSingleStateCheckboxDirective,
108
113
  ElderTabFocusTrapDirective,
109
114
  ElderFormFieldNoHintDirective,
110
115
  ElderInputPatternDirective,
@@ -126,6 +131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
126
131
  ElderMultipleOfValidator,
127
132
  ElderNextFocusableDirective,
128
133
  ElderTripleStateCheckboxDirective,
134
+ ElderSingleStateCheckboxDirective,
129
135
  ElderTabFocusTrapDirective,
130
136
  ElderFormFieldNoHintDirective,
131
137
  ElderInputPatternDirective,
@@ -133,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
133
139
  ],
134
140
  }]
135
141
  }] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDMUYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOERBQThELENBQUE7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RCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQzt3QkFDaEMsd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLGlDQUFpQzt3QkFDakMsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEVsZGVyRGVsYXllZEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1kZWxheWVkLWZvY3VzLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyVG91Y2hlZERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItdG91Y2hlZC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgRWxkZXJQbHVnUGFyZW50Rm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItcGx1Zy1wYXJlbnQtZm9ybS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1zdG9wLWV2ZW50LXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyTWluVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvZWxkZXItbWluLnZhbGlkYXRvcidcbmltcG9ydCB7IEVsZGVyTWF4VmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvZWxkZXItbWF4LnZhbGlkYXRvcidcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtbGFiZWwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJLZXlFdmVudERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXIta2V5LWV2ZW50LmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyQ2xpcGJvYXJkUHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1jbGlwYm9hcmQtcHV0LmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkRGVuc2VEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtZGVuc2UuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGROb1NwaW5uZXJEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtbm8tc3Bpbm5lci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclJlcXVpcmVkSWdub3JlWmVyb1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0b3JzL2VsZGVyLXJlcXVpcmVkLWlnbm9yZS16ZXJvLnZhbGlkYXRvcidcbmltcG9ydCB7IEVsZGVyTXVsdGlwbGVPZlZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0b3JzL2VsZGVyLW11bHRpcGxlLW9mLnZhbGlkYXRvcidcbmltcG9ydCB7IEVsZGVyTmV4dEZvY3VzYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItbmV4dC1mb2N1c2FibGUuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94RGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJUYWJGb2N1c1RyYXBEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXRhYi1mb2N1cy10cmFwLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkTm9IaW50RGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1mb3JtLWZpZWxkLW5vLWhpbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJJbnB1dFBhdHRlcm5EaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWlucHV0LXBhdHRlcm4uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJWYWxpZGF0aW9uRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuL3ZhbGlkYXRpb24vZWxkZXItdmFsaWRhdGlvbi1lcnJvci5kaXJlY3RpdmUnXG5cbmV4cG9ydCB7IEVsZGVyRGVsYXllZEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1kZWxheWVkLWZvY3VzLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IEVsZGVyVG91Y2hlZERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItdG91Y2hlZC5kaXJlY3RpdmUnXG5leHBvcnQgeyBFbGRlclBsdWdQYXJlbnRGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1wbHVnLXBhcmVudC1mb3JtLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IEVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXN0b3AtZXZlbnQtcHJvcGFnYXRpb24uZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1mb3JtLWZpZWxkLWxhYmVsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0b3JzL2VsZGVyLW1pbi52YWxpZGF0b3InXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdG9ycy9lbGRlci1tYXgudmFsaWRhdG9yJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1rZXktZXZlbnQuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1jbGlwYm9hcmQtcHV0LmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZm9ybS1maWVsZC1kZW5zZS5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtbm8taGludC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtbm8tc3Bpbm5lci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdG9ycy9lbGRlci1yZXF1aXJlZC1pZ25vcmUtemVyby52YWxpZGF0b3InXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdG9ycy9lbGRlci1tdWx0aXBsZS1vZi52YWxpZGF0b3InXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24vZWxkZXItdmFsaWRhdGlvbi1lcnJvci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLW5leHQtZm9jdXNhYmxlLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItdGFiLWZvY3VzLXRyYXAuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1pbnB1dC1wYXR0ZXJuLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgRWxkZXJEZWxheWVkRm9jdXNEaXJlY3RpdmUsXG4gICAgRWxkZXJUb3VjaGVkRGlyZWN0aXZlLFxuICAgIEVsZGVyUGx1Z1BhcmVudEZvcm1EaXJlY3RpdmUsXG4gICAgRWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICBFbGRlck1pblZhbGlkYXRvcixcbiAgICBFbGRlck1heFZhbGlkYXRvcixcbiAgICBFbGRlckZvcm1GaWVsZExhYmVsRGlyZWN0aXZlLFxuICAgIEVsZGVyS2V5RXZlbnREaXJlY3RpdmUsXG4gICAgRWxkZXJDbGlwYm9hcmRQdXREaXJlY3RpdmUsXG4gICAgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSxcbiAgICBFbGRlckZvcm1GaWVsZE5vU3Bpbm5lckRpcmVjdGl2ZSxcbiAgICBFbGRlclJlcXVpcmVkSWdub3JlWmVyb1ZhbGlkYXRvcixcbiAgICBFbGRlck11bHRpcGxlT2ZWYWxpZGF0b3IsXG4gICAgRWxkZXJOZXh0Rm9jdXNhYmxlRGlyZWN0aXZlLFxuICAgIEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveERpcmVjdGl2ZSxcbiAgICBFbGRlclRhYkZvY3VzVHJhcERpcmVjdGl2ZSxcbiAgICBFbGRlckZvcm1GaWVsZE5vSGludERpcmVjdGl2ZSxcbiAgICBFbGRlcklucHV0UGF0dGVybkRpcmVjdGl2ZSxcbiAgICBFbGRlclZhbGlkYXRpb25FcnJvckRpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyRGVsYXllZEZvY3VzRGlyZWN0aXZlLFxuICAgIEVsZGVyVG91Y2hlZERpcmVjdGl2ZSxcbiAgICBFbGRlclBsdWdQYXJlbnRGb3JtRGlyZWN0aXZlLFxuICAgIEVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gICAgRWxkZXJNaW5WYWxpZGF0b3IsXG4gICAgRWxkZXJNYXhWYWxpZGF0b3IsXG4gICAgRWxkZXJGb3JtRmllbGRMYWJlbERpcmVjdGl2ZSxcbiAgICBFbGRlcktleUV2ZW50RGlyZWN0aXZlLFxuICAgIEVsZGVyQ2xpcGJvYXJkUHV0RGlyZWN0aXZlLFxuICAgIEVsZGVyRm9ybUZpZWxkRGVuc2VEaXJlY3RpdmUsXG4gICAgRWxkZXJGb3JtRmllbGROb1NwaW5uZXJEaXJlY3RpdmUsXG4gICAgRWxkZXJSZXF1aXJlZElnbm9yZVplcm9WYWxpZGF0b3IsXG4gICAgRWxkZXJNdWx0aXBsZU9mVmFsaWRhdG9yLFxuICAgIEVsZGVyTmV4dEZvY3VzYWJsZURpcmVjdGl2ZSxcbiAgICBFbGRlclRyaXBsZVN0YXRlQ2hlY2tib3hEaXJlY3RpdmUsXG4gICAgRWxkZXJUYWJGb2N1c1RyYXBEaXJlY3RpdmUsXG4gICAgRWxkZXJGb3JtRmllbGROb0hpbnREaXJlY3RpdmUsXG4gICAgRWxkZXJJbnB1dFBhdHRlcm5EaXJlY3RpdmUsXG4gICAgRWxkZXJWYWxpZGF0aW9uRXJyb3JEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlIHt9XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDMUYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOERBQThELENBQUE7QUFDL0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDOUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUE7QUFDcEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDN0YsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUE7O0FBRXBHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ2pGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQzdGLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLGtEQUFrRCxDQUFBO0FBQ2hFLGNBQWMsaUNBQWlDLENBQUE7QUFrRC9DLE1BQU0sT0FBTywwQkFBMEI7OEdBQTFCLDBCQUEwQjsrR0FBMUIsMEJBQTBCLFlBOUNuQyxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLGtDQUFrQztZQUNsQyxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLDRCQUE0QjtZQUM1QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLDRCQUE0QjtZQUM1QixnQ0FBZ0M7WUFDaEMsZ0NBQWdDO1lBQ2hDLHdCQUF3QjtZQUN4QiwyQkFBMkI7WUFDM0IsaUNBQWlDO1lBQ2pDLGlDQUFpQztZQUNqQywwQkFBMEI7WUFDMUIsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQiw2QkFBNkIsYUFHN0IsMEJBQTBCO1lBQzFCLHFCQUFxQjtZQUNyQiw0QkFBNEI7WUFDNUIsa0NBQWtDO1lBQ2xDLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsNEJBQTRCO1lBQzVCLHNCQUFzQjtZQUN0QiwwQkFBMEI7WUFDMUIsNEJBQTRCO1lBQzVCLGdDQUFnQztZQUNoQyxnQ0FBZ0M7WUFDaEMsd0JBQXdCO1lBQ3hCLDJCQUEyQjtZQUMzQixpQ0FBaUM7WUFDakMsaUNBQWlDO1lBQ2pDLDBCQUEwQjtZQUMxQiw2QkFBNkI7WUFDN0IsMEJBQTBCO1lBQzFCLDZCQUE2QjsrR0FHcEIsMEJBQTBCLFlBOUNuQyxZQUFZO1lBQ1osa0JBQWtCOzsyRkE2Q1QsMEJBQTBCO2tCQWhEdEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3dCQUN0QiwwQkFBMEI7d0JBQzFCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7d0JBQ2hDLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQixpQ0FBaUM7d0JBQ2pDLGlDQUFpQzt3QkFDakMsMEJBQTBCO3dCQUMxQiw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQzt3QkFDaEMsd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLGlDQUFpQzt3QkFDakMsaUNBQWlDO3dCQUNqQywwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiw2QkFBNkI7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJEZWxheWVkRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWRlbGF5ZWQtZm9jdXMuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJUb3VjaGVkRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci10b3VjaGVkLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBFbGRlclBsdWdQYXJlbnRGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1wbHVnLXBhcmVudC1mb3JtLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXN0b3AtZXZlbnQtcHJvcGFnYXRpb24uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJNaW5WYWxpZGF0b3IgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdG9ycy9lbGRlci1taW4udmFsaWRhdG9yJ1xuaW1wb3J0IHsgRWxkZXJNYXhWYWxpZGF0b3IgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdG9ycy9lbGRlci1tYXgudmFsaWRhdG9yJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItZm9ybS1maWVsZC1sYWJlbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlcktleUV2ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1rZXktZXZlbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJDbGlwYm9hcmRQdXREaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWNsaXBib2FyZC1wdXQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItZm9ybS1maWVsZC1kZW5zZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZE5vU3Bpbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItZm9ybS1maWVsZC1uby1zcGlubmVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyUmVxdWlyZWRJZ25vcmVaZXJvVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvZWxkZXItcmVxdWlyZWQtaWdub3JlLXplcm8udmFsaWRhdG9yJ1xuaW1wb3J0IHsgRWxkZXJNdWx0aXBsZU9mVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvZWxkZXItbXVsdGlwbGUtb2YudmFsaWRhdG9yJ1xuaW1wb3J0IHsgRWxkZXJOZXh0Rm9jdXNhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1uZXh0LWZvY3VzYWJsZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclRyaXBsZVN0YXRlQ2hlY2tib3hEaXJlY3RpdmUgfSBmcm9tICcuL2NoZWNrYm94L2VsZGVyLXRyaXBsZS1zdGF0ZS1jaGVja2JveC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclRhYkZvY3VzVHJhcERpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItdGFiLWZvY3VzLXRyYXAuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGROb0hpbnREaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtbm8taGludC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlcklucHV0UGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItaW5wdXQtcGF0dGVybi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBFbGRlclZhbGlkYXRpb25FcnJvckRpcmVjdGl2ZSB9IGZyb20gJy4vdmFsaWRhdGlvbi9lbGRlci12YWxpZGF0aW9uLWVycm9yLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyU2luZ2xlU3RhdGVDaGVja2JveERpcmVjdGl2ZSB9IGZyb20gJy4vY2hlY2tib3gvZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZSdcblxuZXhwb3J0IHsgRWxkZXJEZWxheWVkRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWRlbGF5ZWQtZm9jdXMuZGlyZWN0aXZlJ1xuZXhwb3J0IHsgRWxkZXJUb3VjaGVkRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci10b3VjaGVkLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IEVsZGVyUGx1Z1BhcmVudEZvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXBsdWctcGFyZW50LWZvcm0uZGlyZWN0aXZlJ1xuZXhwb3J0IHsgRWxkZXJTdG9wRXZlbnRQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItc3RvcC1ldmVudC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWZvcm0tZmllbGQtbGFiZWwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvZWxkZXItbWluLnZhbGlkYXRvcidcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0b3JzL2VsZGVyLW1heC52YWxpZGF0b3InXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWtleS1ldmVudC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWNsaXBib2FyZC1wdXQuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1mb3JtLWZpZWxkLWRlbnNlLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZm9ybS1maWVsZC1uby1oaW50LmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZm9ybS1maWVsZC1uby1zcGlubmVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0b3JzL2VsZGVyLXJlcXVpcmVkLWlnbm9yZS16ZXJvLnZhbGlkYXRvcidcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0b3JzL2VsZGVyLW11bHRpcGxlLW9mLnZhbGlkYXRvcidcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi9lbGRlci12YWxpZGF0aW9uLWVycm9yLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItbmV4dC1mb2N1c2FibGUuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci10YWItZm9jdXMtdHJhcC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L2VsZGVyLXRyaXBsZS1zdGF0ZS1jaGVja2JveC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L2VsZGVyLXNpbmdsZS1zdGF0ZS1jaGVja2JveC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWlucHV0LXBhdHRlcm4uZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBFbGRlckRlbGF5ZWRGb2N1c0RpcmVjdGl2ZSxcbiAgICBFbGRlclRvdWNoZWREaXJlY3RpdmUsXG4gICAgRWxkZXJQbHVnUGFyZW50Rm9ybURpcmVjdGl2ZSxcbiAgICBFbGRlclN0b3BFdmVudFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICAgIEVsZGVyTWluVmFsaWRhdG9yLFxuICAgIEVsZGVyTWF4VmFsaWRhdG9yLFxuICAgIEVsZGVyRm9ybUZpZWxkTGFiZWxEaXJlY3RpdmUsXG4gICAgRWxkZXJLZXlFdmVudERpcmVjdGl2ZSxcbiAgICBFbGRlckNsaXBib2FyZFB1dERpcmVjdGl2ZSxcbiAgICBFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlLFxuICAgIEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlLFxuICAgIEVsZGVyUmVxdWlyZWRJZ25vcmVaZXJvVmFsaWRhdG9yLFxuICAgIEVsZGVyTXVsdGlwbGVPZlZhbGlkYXRvcixcbiAgICBFbGRlck5leHRGb2N1c2FibGVEaXJlY3RpdmUsXG4gICAgRWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94RGlyZWN0aXZlLFxuICAgIEVsZGVyU2luZ2xlU3RhdGVDaGVja2JveERpcmVjdGl2ZSxcbiAgICBFbGRlclRhYkZvY3VzVHJhcERpcmVjdGl2ZSxcbiAgICBFbGRlckZvcm1GaWVsZE5vSGludERpcmVjdGl2ZSxcbiAgICBFbGRlcklucHV0UGF0dGVybkRpcmVjdGl2ZSxcbiAgICBFbGRlclZhbGlkYXRpb25FcnJvckRpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyRGVsYXllZEZvY3VzRGlyZWN0aXZlLFxuICAgIEVsZGVyVG91Y2hlZERpcmVjdGl2ZSxcbiAgICBFbGRlclBsdWdQYXJlbnRGb3JtRGlyZWN0aXZlLFxuICAgIEVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25EaXJlY3RpdmUsXG4gICAgRWxkZXJNaW5WYWxpZGF0b3IsXG4gICAgRWxkZXJNYXhWYWxpZGF0b3IsXG4gICAgRWxkZXJGb3JtRmllbGRMYWJlbERpcmVjdGl2ZSxcbiAgICBFbGRlcktleUV2ZW50RGlyZWN0aXZlLFxuICAgIEVsZGVyQ2xpcGJvYXJkUHV0RGlyZWN0aXZlLFxuICAgIEVsZGVyRm9ybUZpZWxkRGVuc2VEaXJlY3RpdmUsXG4gICAgRWxkZXJGb3JtRmllbGROb1NwaW5uZXJEaXJlY3RpdmUsXG4gICAgRWxkZXJSZXF1aXJlZElnbm9yZVplcm9WYWxpZGF0b3IsXG4gICAgRWxkZXJNdWx0aXBsZU9mVmFsaWRhdG9yLFxuICAgIEVsZGVyTmV4dEZvY3VzYWJsZURpcmVjdGl2ZSxcbiAgICBFbGRlclRyaXBsZVN0YXRlQ2hlY2tib3hEaXJlY3RpdmUsXG4gICAgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94RGlyZWN0aXZlLFxuICAgIEVsZGVyVGFiRm9jdXNUcmFwRGlyZWN0aXZlLFxuICAgIEVsZGVyRm9ybUZpZWxkTm9IaW50RGlyZWN0aXZlLFxuICAgIEVsZGVySW5wdXRQYXR0ZXJuRGlyZWN0aXZlLFxuICAgIEVsZGVyVmFsaWRhdGlvbkVycm9yRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSB7fVxuIl19