@ethlete/cdk 3.19.0 → 3.19.1

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 (58) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm2022/lib/components/button/directives/button/button.directive.mjs +10 -25
  3. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +8 -17
  4. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +7 -11
  5. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +17 -14
  6. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +6 -13
  7. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +7 -9
  8. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +6 -8
  9. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +14 -18
  10. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +5 -11
  11. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +6 -8
  12. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +14 -18
  13. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +6 -11
  14. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +14 -25
  15. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +13 -23
  16. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +11 -23
  17. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +26 -22
  18. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +7 -15
  19. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +13 -14
  20. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -4
  21. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +6 -8
  22. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +18 -41
  23. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +4 -1
  24. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +10 -23
  25. package/esm2022/lib/components/forms/services/input-state.service.mjs +21 -4
  26. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +5 -8
  27. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +26 -23
  28. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +6 -8
  29. package/fesm2022/ethlete-cdk.mjs +207 -342
  30. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  31. package/lib/components/button/directives/button/button.directive.d.ts +4 -1
  32. package/lib/components/button/directives/query-button/query-button.directive.d.ts +4 -1
  33. package/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.d.ts +4 -1
  34. package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +11 -6
  35. package/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.d.ts +6 -4
  36. package/lib/components/forms/components/error/components/error/error.component.d.ts +4 -1
  37. package/lib/components/forms/components/radio/directives/radio/radio.directive.d.ts +4 -1
  38. package/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.d.ts +12 -6
  39. package/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.d.ts +4 -1
  40. package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +4 -1
  41. package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +12 -7
  42. package/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.d.ts +4 -1
  43. package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +9 -1
  44. package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +8 -1
  45. package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +8 -1
  46. package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +14 -3
  47. package/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.d.ts +4 -1
  48. package/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.d.ts +10 -1
  49. package/lib/components/forms/components/select/directives/select-field/select-field.directive.d.ts +2 -2
  50. package/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.d.ts +4 -1
  51. package/lib/components/forms/components/slider/components/slider/slider.component.d.ts +8 -1
  52. package/lib/components/forms/directives/input/input.directive.d.ts +21 -19
  53. package/lib/components/forms/directives/writeable-input/writeable-input.directive.d.ts +4 -1
  54. package/lib/components/forms/services/input-state.service.d.ts +13 -6
  55. package/lib/components/forms/utils/decorated-form-field.base.d.ts +4 -1
  56. package/lib/components/forms/utils/decorated-input.base.d.ts +13 -6
  57. package/lib/components/masonry/components/masonry/masonry.component.d.ts +4 -1
  58. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 3.19.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`f1b8cd9f`](https://github.com/ethlete-io/ethdk/commit/f1b8cd9f401b0c75a4d4621fe585baaa82b2f111) Thanks [@TomTomB](https://github.com/TomTomB)! - Switch from createReactiveBindings to signal versions
8
+
3
9
  ## 3.19.0
4
10
 
5
11
  ### Minor Changes
@@ -1,5 +1,6 @@
1
1
  import { Directive, ElementRef, Input, booleanAttribute, inject } from '@angular/core';
2
- import { createReactiveBindings } from '@ethlete/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { signalHostAttributes } from '@ethlete/core';
3
4
  import { BehaviorSubject, map } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  export class ButtonDirective {
@@ -9,27 +10,11 @@ export class ButtonDirective {
9
10
  this._disabled$ = new BehaviorSubject(false);
10
11
  this._type$ = new BehaviorSubject('button');
11
12
  this._pressed$ = new BehaviorSubject(false);
12
- this._bindings = createReactiveBindings({
13
- attribute: ['disabled', 'aria-disabled'],
14
- observable: this.disabled$.pipe(map((disabled) => ({
15
- render: disabled,
16
- value: true,
17
- }))),
18
- }, {
19
- attribute: ['tabindex'],
20
- observable: this.disabled$.pipe(map((disabled) => ({
21
- render: disabled && this.isAnchor,
22
- value: -1,
23
- }))),
24
- }, {
25
- attribute: ['type'],
26
- observable: this.type$.pipe(map((type) => ({
27
- render: this.isButton,
28
- value: type,
29
- }))),
30
- }, {
31
- attribute: ['aria-pressed'],
32
- observable: this._pressed$,
13
+ this.hostAttributeBindings = signalHostAttributes({
14
+ 'disabled aria-disabled': toSignal(this.disabled$),
15
+ 'aria-pressed': toSignal(this._pressed$),
16
+ ...(this.isAnchor ? { tabindex: toSignal(this.disabled$.pipe(map((disabled) => (disabled ? -1 : 0)))) } : {}),
17
+ ...(this.isButton ? { type: toSignal(this.type$) } : {}),
33
18
  });
34
19
  }
35
20
  get disabled() {
@@ -57,10 +42,10 @@ export class ButtonDirective {
57
42
  this._pressed$.next(booleanAttribute(value));
58
43
  }
59
44
  _removeDisabledBindings() {
60
- this._bindings.remove('disabled', 'aria-disabled');
45
+ this.hostAttributeBindings.remove('disabled', 'aria-disabled');
61
46
  }
62
47
  _removeTabIndexBindings() {
63
- this._bindings.remove('tabindex');
48
+ this.hostAttributeBindings.remove('tabindex');
64
49
  }
65
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
51
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: ButtonDirective, isStandalone: true, inputs: { disabled: "disabled", type: "type", pressed: "pressed" }, exportAs: ["etButton"], ngImport: i0 }); }
@@ -78,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
78
63
  }], pressed: [{
79
64
  type: Input
80
65
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFReEQsTUFBTSxPQUFPLGVBQWU7SUFKNUI7UUFLVyxhQUFRLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQztRQUMxRixhQUFRLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQztRQVl0RixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFZeEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFhLFFBQVEsQ0FBQyxDQUFDO1FBU25ELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QyxjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQztZQUN4QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDLENBQ0o7U0FDRixFQUNEO1lBQ0UsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixNQUFNLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRO2dCQUNqQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ1YsQ0FBQyxDQUFDLENBQ0o7U0FDRixFQUNEO1lBQ0UsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNiLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDckIsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUMsQ0FDSjtTQUNGLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzNCLENBQ0YsQ0FBQztLQVNIO0lBMUVDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFHRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFpQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFHRCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQXFDRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0E3RVUsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsVUFBVTtpQkFDckI7OEJBTUssUUFBUTtzQkFEWCxLQUFLO2dCQWFGLElBQUk7c0JBRFAsS0FBSztnQkFhRixPQUFPO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBib29sZWFuQXR0cmlidXRlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbnR5cGUgQnV0dG9uVHlwZSA9ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnIHwgJ21lbnUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldEJ1dHRvbicsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkRpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGlzQnV0dG9uID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdCVVRUT04nO1xuICByZWFkb25seSBpc0FuY2hvciA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQSc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCQudmFsdWU7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSkpO1xuICB9XG4gIGdldCBkaXNhYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBASW5wdXQoKVxuICBnZXQgdHlwZSgpOiBCdXR0b25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZSQudmFsdWU7XG4gIH1cbiAgc2V0IHR5cGUodmFsdWU6IEJ1dHRvblR5cGUpIHtcbiAgICB0aGlzLl90eXBlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgdHlwZSQoKTogT2JzZXJ2YWJsZTxCdXR0b25UeXBlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHByaXZhdGUgX3R5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCdXR0b25UeXBlPignYnV0dG9uJyk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHByZXNzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXNzZWQkLnZhbHVlO1xuICB9XG4gIHNldCBwcmVzc2VkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fcHJlc3NlZCQubmV4dChib29sZWFuQXR0cmlidXRlKHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfcHJlc3NlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydkaXNhYmxlZCcsICdhcmlhLWRpc2FibGVkJ10sXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLmRpc2FibGVkJC5waXBlKFxuICAgICAgICBtYXAoKGRpc2FibGVkKSA9PiAoe1xuICAgICAgICAgIHJlbmRlcjogZGlzYWJsZWQsXG4gICAgICAgICAgdmFsdWU6IHRydWUsXG4gICAgICAgIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6IFsndGFiaW5kZXgnXSxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuZGlzYWJsZWQkLnBpcGUoXG4gICAgICAgIG1hcCgoZGlzYWJsZWQpID0+ICh7XG4gICAgICAgICAgcmVuZGVyOiBkaXNhYmxlZCAmJiB0aGlzLmlzQW5jaG9yLFxuICAgICAgICAgIHZhbHVlOiAtMSxcbiAgICAgICAgfSkpLFxuICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWyd0eXBlJ10sXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLnR5cGUkLnBpcGUoXG4gICAgICAgIG1hcCgodHlwZSkgPT4gKHtcbiAgICAgICAgICByZW5kZXI6IHRoaXMuaXNCdXR0b24sXG4gICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6IFsnYXJpYS1wcmVzc2VkJ10sXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9wcmVzc2VkJCxcbiAgICB9LFxuICApO1xuXG4gIF9yZW1vdmVEaXNhYmxlZEJpbmRpbmdzKCkge1xuICAgIHRoaXMuX2JpbmRpbmdzLnJlbW92ZSgnZGlzYWJsZWQnLCAnYXJpYS1kaXNhYmxlZCcpO1xuICB9XG5cbiAgX3JlbW92ZVRhYkluZGV4QmluZGluZ3MoKSB7XG4gICAgdGhpcy5fYmluZGluZ3MucmVtb3ZlKCd0YWJpbmRleCcpO1xuICB9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUXhELE1BQU0sT0FBTyxlQUFlO0lBSjVCO1FBS1csYUFBUSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUM7UUFDMUYsYUFBUSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUM7UUFZdEYsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWXhDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBYSxRQUFRLENBQUMsQ0FBQztRQVNuRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsMEJBQXFCLEdBQUcsb0JBQW9CLENBQUM7WUFDcEQsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEQsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBRXhDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDekQsQ0FBQyxDQUFDO0tBU0o7SUFoREMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUdELElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWlCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBV0QsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQW5EVSxlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2lCQUNyQjs4QkFNSyxRQUFRO3NCQURYLEtBQUs7Z0JBYUYsSUFBSTtzQkFEUCxLQUFLO2dCQWFGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0QXR0cmlidXRlcyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxudHlwZSBCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgfCAnbWVudSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0QnV0dG9uJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgaXNCdXR0b24gPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0JVVFRPTic7XG4gIHJlYWRvbmx5IGlzQW5jaG9yID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJztcblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkJC52YWx1ZTtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCQubmV4dChib29sZWFuQXR0cmlidXRlKHZhbHVlKSk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB0eXBlKCk6IEJ1dHRvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlJC52YWx1ZTtcbiAgfVxuICBzZXQgdHlwZSh2YWx1ZTogQnV0dG9uVHlwZSkge1xuICAgIHRoaXMuX3R5cGUkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCB0eXBlJCgpOiBPYnNlcnZhYmxlPEJ1dHRvblR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfdHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJ1dHRvblR5cGU+KCdidXR0b24nKTtcblxuICBASW5wdXQoKVxuICBnZXQgcHJlc3NlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcHJlc3NlZCQudmFsdWU7XG4gIH1cbiAgc2V0IHByZXNzZWQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9wcmVzc2VkJC5uZXh0KGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpKTtcbiAgfVxuICBwcml2YXRlIF9wcmVzc2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGhvc3RBdHRyaWJ1dGVCaW5kaW5ncyA9IHNpZ25hbEhvc3RBdHRyaWJ1dGVzKHtcbiAgICAnZGlzYWJsZWQgYXJpYS1kaXNhYmxlZCc6IHRvU2lnbmFsKHRoaXMuZGlzYWJsZWQkKSxcbiAgICAnYXJpYS1wcmVzc2VkJzogdG9TaWduYWwodGhpcy5fcHJlc3NlZCQpLFxuXG4gICAgLi4uKHRoaXMuaXNBbmNob3IgPyB7IHRhYmluZGV4OiB0b1NpZ25hbCh0aGlzLmRpc2FibGVkJC5waXBlKG1hcCgoZGlzYWJsZWQpID0+IChkaXNhYmxlZCA/IC0xIDogMCkpKSkgfSA6IHt9KSxcbiAgICAuLi4odGhpcy5pc0J1dHRvbiA/IHsgdHlwZTogdG9TaWduYWwodGhpcy50eXBlJCkgfSA6IHt9KSxcbiAgfSk7XG5cbiAgX3JlbW92ZURpc2FibGVkQmluZGluZ3MoKSB7XG4gICAgdGhpcy5ob3N0QXR0cmlidXRlQmluZGluZ3MucmVtb3ZlKCdkaXNhYmxlZCcsICdhcmlhLWRpc2FibGVkJyk7XG4gIH1cblxuICBfcmVtb3ZlVGFiSW5kZXhCaW5kaW5ncygpIHtcbiAgICB0aGlzLmhvc3RBdHRyaWJ1dGVCaW5kaW5ncy5yZW1vdmUoJ3RhYmluZGV4Jyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { booleanAttribute, Directive, ElementRef, inject, Input } from '@angular/core';
2
- import { createDestroy, createReactiveBindings } from '@ethlete/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { createDestroy, signalHostAttributes } from '@ethlete/core';
3
4
  import { extractQuery, isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, } from '@ethlete/query';
4
5
  import { BehaviorSubject, combineLatest, map, of, skip, switchMap, takeUntil } from 'rxjs';
5
6
  import { ButtonDirective } from '../button';
@@ -40,7 +41,6 @@ export class QueryButtonDirective {
40
41
  classList.remove(CLASSES.success);
41
42
  classList.remove(CLASSES.failure);
42
43
  classList.remove(CLASSES.loading);
43
- this._bindings.reset();
44
44
  const query = extractQuery(this._query$.value);
45
45
  if (!query) {
46
46
  return;
@@ -91,15 +91,9 @@ export class QueryButtonDirective {
91
91
  this._skipFailure = false;
92
92
  this._skipLoading = false;
93
93
  this._query$ = new BehaviorSubject(null);
94
- this._bindings = createReactiveBindings({
95
- attribute: ['disabled', 'aria-disabled'],
96
- observable: combineLatest([this._button.disabled$, this.showFailure$, this.showSuccess$, this.isLoading$]).pipe(map(([disabled, showFailure, showSuccess, isLoading]) => ({
97
- render: disabled || showFailure || showSuccess || isLoading,
98
- value: true,
99
- }))),
100
- }, {
101
- attribute: ['aria-live'],
102
- observable: combineLatest([
94
+ this.hostAttributeBindings = signalHostAttributes({
95
+ 'disabled aria-disabled': toSignal(combineLatest([this._button.disabled$, this.showFailure$, this.showSuccess$, this.isLoading$]).pipe(map(([disabled, showFailure, showSuccess, isLoading]) => disabled || showFailure || showSuccess || isLoading))),
96
+ 'aria-live': toSignal(combineLatest([
103
97
  this.query$.pipe(map((q) => extractQuery(q)), switchMap((q) => q?.state$ ?? of(null))),
104
98
  this.didLoadOnce$,
105
99
  ]).pipe(map(([state, didLoadOnce]) => {
@@ -107,11 +101,8 @@ export class QueryButtonDirective {
107
101
  if (isQueryStateLoading(state) || isQueryStateSuccess(state) || isQueryStateFailure(state) || didLoadOnce) {
108
102
  value = 'assertive';
109
103
  }
110
- return {
111
- render: true,
112
- value,
113
- };
114
- })),
104
+ return value;
105
+ }))),
115
106
  });
116
107
  this._button._removeDisabledBindings();
117
108
  }
@@ -136,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
136
127
  }], query: [{
137
128
  type: Input
138
129
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vZGlyZWN0aXZlcy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUdMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLEdBQUc7SUFDZCxPQUFPLEVBQUUsMEJBQTBCO0lBQ25DLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsT0FBTyxFQUFFLDBCQUEwQjtDQUNwQyxDQUFDO0FBTUYsTUFBTSxPQUFPLG9CQUFvQjtJQVkvQixJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUdELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBR0QsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFHRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUF1QztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFFM0QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtZQUNqQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUMzQztRQUVELFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFdkIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0RyxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuQztZQUVELElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDaEM7aUJBQU0sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztZQUVELElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRTtvQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzlCO2dCQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDOUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDVjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBc0NEO1FBdElpQixnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0Msb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBRXJDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVN6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQTZEWixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQXVDLElBQUksQ0FBQyxDQUFDO1FBRTFFLGNBQVMsR0FBRyxzQkFBc0IsQ0FDakQ7WUFDRSxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDO1lBQ3hDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM3RyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsUUFBUSxJQUFJLFdBQVcsSUFBSSxXQUFXLElBQUksU0FBUztnQkFDM0QsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUMsQ0FDSjtTQUNGLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDeEIsVUFBVSxFQUFFLGFBQWEsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN4QztnQkFDRCxJQUFJLENBQUMsWUFBWTthQUNsQixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFFbEIsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEVBQUU7b0JBQ3pHLEtBQUssR0FBRyxXQUFXLENBQUM7aUJBQ3JCO2dCQUVELE9BQU87b0JBQ0wsTUFBTSxFQUFFLElBQUk7b0JBQ1osS0FBSztpQkFDTixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0g7U0FDRixDQUNGLENBQUM7UUFHQSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0F6SVUsb0JBQW9CO2tHQUFwQixvQkFBb0IsNEVBWVgsZ0JBQWdCLCtDQVNoQixnQkFBZ0IsK0NBU2hCLGdCQUFnQjs7MkZBOUJ6QixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjswRUFjSyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVbEMsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVVsQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZURlc3Ryb3ksIGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5LFxuICBBbnlRdWVyeUNvbGxlY3Rpb24sXG4gIGV4dHJhY3RRdWVyeSxcbiAgaXNRdWVyeVN0YXRlRmFpbHVyZSxcbiAgaXNRdWVyeVN0YXRlTG9hZGluZyxcbiAgaXNRdWVyeVN0YXRlU3VjY2Vzcyxcbn0gZnJvbSAnQGV0aGxldGUvcXVlcnknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIG9mLCBza2lwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uJztcblxuY29uc3QgQ0xBU1NFUyA9IHtcbiAgbG9hZGluZzogJ2V0LXF1ZXJ5LWJ1dHRvbi0tbG9hZGluZycsXG4gIHN1Y2Nlc3M6ICdldC1xdWVyeS1idXR0b24tLXN1Y2Nlc3MnLFxuICBmYWlsdXJlOiAnZXQtcXVlcnktYnV0dG9uLS1mYWlsdXJlJyxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0UXVlcnlCdXR0b24nLFxufSlcbmV4cG9ydCBjbGFzcyBRdWVyeUJ1dHRvbkRpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnV0dG9uID0gaW5qZWN0KEJ1dHRvbkRpcmVjdGl2ZSk7XG5cbiAgcHJpdmF0ZSBfY2xlYW51cFRpbWVvdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHJlYWRvbmx5IHNob3dTdWNjZXNzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICByZWFkb25seSBzaG93RmFpbHVyZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZGlkTG9hZE9uY2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZ2V0IHNraXBTdWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9za2lwU3VjY2VzcztcbiAgfVxuICBzZXQgc2tpcFN1Y2Nlc3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9za2lwU3VjY2VzcyA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3NraXBTdWNjZXNzID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBza2lwRmFpbHVyZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2tpcEZhaWx1cmU7XG4gIH1cbiAgc2V0IHNraXBGYWlsdXJlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2tpcEZhaWx1cmUgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9za2lwRmFpbHVyZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgc2tpcExvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NraXBMb2FkaW5nO1xuICB9XG4gIHNldCBza2lwTG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NraXBMb2FkaW5nID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfc2tpcExvYWRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgcXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5JC52YWx1ZTtcbiAgfVxuICBzZXQgcXVlcnkodjogQW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsKSB7XG4gICAgdGhpcy5fcXVlcnkkLm5leHQodik7XG5cbiAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gICAgaWYgKHRoaXMuX2NsZWFudXBUaW1lb3V0ICE9PSBudWxsKSB7XG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX2NsZWFudXBUaW1lb3V0KTtcbiAgICB9XG5cbiAgICBjbGFzc0xpc3QucmVtb3ZlKENMQVNTRVMuc3VjY2Vzcyk7XG4gICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLmZhaWx1cmUpO1xuICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5sb2FkaW5nKTtcblxuICAgIHRoaXMuX2JpbmRpbmdzLnJlc2V0KCk7XG5cbiAgICBjb25zdCBxdWVyeSA9IGV4dHJhY3RRdWVyeSh0aGlzLl9xdWVyeSQudmFsdWUpO1xuXG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHF1ZXJ5LnN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIHRha2VVbnRpbCh0aGlzLl9xdWVyeSQucGlwZShza2lwKDEpKSkpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSAmJiAhdGhpcy5fc2tpcExvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5sb2FkaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLmxvYWRpbmcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNRdWVyeVN0YXRlU3VjY2VzcyhzdGF0ZSkgJiYgIXRoaXMuX3NraXBTdWNjZXNzKSB7XG4gICAgICAgIHRoaXMuc2hvd1N1Y2Nlc3MkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5zdWNjZXNzKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNRdWVyeVN0YXRlRmFpbHVyZShzdGF0ZSkgJiYgIXRoaXMuX3NraXBGYWlsdXJlKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZhaWx1cmUkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWRMb2FkT25jZSQudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmRpZExvYWRPbmNlJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xlYW51cFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93RmFpbHVyZSQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5zaG93U3VjY2VzcyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLnN1Y2Nlc3MpO1xuICAgICAgICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICAgICAgfSwgMzAwMCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgZ2V0IHF1ZXJ5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXJ5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9iaW5kaW5ncyA9IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MoXG4gICAge1xuICAgICAgYXR0cmlidXRlOiBbJ2Rpc2FibGVkJywgJ2FyaWEtZGlzYWJsZWQnXSxcbiAgICAgIG9ic2VydmFibGU6IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2J1dHRvbi5kaXNhYmxlZCQsIHRoaXMuc2hvd0ZhaWx1cmUkLCB0aGlzLnNob3dTdWNjZXNzJCwgdGhpcy5pc0xvYWRpbmckXSkucGlwZShcbiAgICAgICAgbWFwKChbZGlzYWJsZWQsIHNob3dGYWlsdXJlLCBzaG93U3VjY2VzcywgaXNMb2FkaW5nXSkgPT4gKHtcbiAgICAgICAgICByZW5kZXI6IGRpc2FibGVkIHx8IHNob3dGYWlsdXJlIHx8IHNob3dTdWNjZXNzIHx8IGlzTG9hZGluZyxcbiAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgfSkpLFxuICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydhcmlhLWxpdmUnXSxcbiAgICAgIG9ic2VydmFibGU6IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLnF1ZXJ5JC5waXBlKFxuICAgICAgICAgIG1hcCgocSkgPT4gZXh0cmFjdFF1ZXJ5KHEpKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKHEpID0+IHE/LnN0YXRlJCA/PyBvZihudWxsKSksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuZGlkTG9hZE9uY2UkLFxuICAgICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbc3RhdGUsIGRpZExvYWRPbmNlXSkgPT4ge1xuICAgICAgICAgIGxldCB2YWx1ZSA9ICdvZmYnO1xuXG4gICAgICAgICAgaWYgKGlzUXVlcnlTdGF0ZUxvYWRpbmcoc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpIHx8IGRpZExvYWRPbmNlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICdhc3NlcnRpdmUnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZW5kZXI6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgfSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9idXR0b24uX3JlbW92ZURpc2FibGVkQmluZGluZ3MoKTtcbiAgfVxufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vZGlyZWN0aXZlcy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFHTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRTVDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsT0FBTyxFQUFFLDBCQUEwQjtJQUNuQyxPQUFPLEVBQUUsMEJBQTBCO0lBQ25DLE9BQU8sRUFBRSwwQkFBMEI7Q0FDcEMsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFHRCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FB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QWdCLCtDQVNoQixnQkFBZ0I7OzJGQTlCekIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7MEVBY0ssV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVVsQyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVbEMsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGNyZWF0ZURlc3Ryb3ksIHNpZ25hbEhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQge1xuICBBbnlRdWVyeSxcbiAgQW55UXVlcnlDb2xsZWN0aW9uLFxuICBleHRyYWN0UXVlcnksXG4gIGlzUXVlcnlTdGF0ZUZhaWx1cmUsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG59IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc2tpcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2J1dHRvbic7XG5cbmNvbnN0IENMQVNTRVMgPSB7XG4gIGxvYWRpbmc6ICdldC1xdWVyeS1idXR0b24tLWxvYWRpbmcnLFxuICBzdWNjZXNzOiAnZXQtcXVlcnktYnV0dG9uLS1zdWNjZXNzJyxcbiAgZmFpbHVyZTogJ2V0LXF1ZXJ5LWJ1dHRvbi0tZmFpbHVyZScsXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldFF1ZXJ5QnV0dG9uJyxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlCdXR0b25EaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1dHRvbiA9IGluamVjdChCdXR0b25EaXJlY3RpdmUpO1xuXG4gIHByaXZhdGUgX2NsZWFudXBUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICByZWFkb25seSBzaG93U3VjY2VzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd0ZhaWx1cmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHJlYWRvbmx5IGRpZExvYWRPbmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICByZWFkb25seSBpc0xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBza2lwU3VjY2VzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2tpcFN1Y2Nlc3M7XG4gIH1cbiAgc2V0IHNraXBTdWNjZXNzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2tpcFN1Y2Nlc3MgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9za2lwU3VjY2VzcyA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgc2tpcEZhaWx1cmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NraXBGYWlsdXJlO1xuICB9XG4gIHNldCBza2lwRmFpbHVyZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NraXBGYWlsdXJlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfc2tpcEZhaWx1cmUgPSBmYWxzZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZ2V0IHNraXBMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9za2lwTG9hZGluZztcbiAgfVxuICBzZXQgc2tpcExvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9za2lwTG9hZGluZyA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3NraXBMb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IHF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeSQudmFsdWU7XG4gIH1cbiAgc2V0IHF1ZXJ5KHY6IEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbCkge1xuICAgIHRoaXMuX3F1ZXJ5JC5uZXh0KHYpO1xuXG4gICAgY29uc3QgY2xhc3NMaXN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblxuICAgIGlmICh0aGlzLl9jbGVhbnVwVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9jbGVhbnVwVGltZW91dCk7XG4gICAgfVxuXG4gICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLnN1Y2Nlc3MpO1xuICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICBjbGFzc0xpc3QucmVtb3ZlKENMQVNTRVMubG9hZGluZyk7XG5cbiAgICBjb25zdCBxdWVyeSA9IGV4dHJhY3RRdWVyeSh0aGlzLl9xdWVyeSQudmFsdWUpO1xuXG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHF1ZXJ5LnN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIHRha2VVbnRpbCh0aGlzLl9xdWVyeSQucGlwZShza2lwKDEpKSkpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSAmJiAhdGhpcy5fc2tpcExvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5sb2FkaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLmxvYWRpbmcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNRdWVyeVN0YXRlU3VjY2VzcyhzdGF0ZSkgJiYgIXRoaXMuX3NraXBTdWNjZXNzKSB7XG4gICAgICAgIHRoaXMuc2hvd1N1Y2Nlc3MkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5zdWNjZXNzKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNRdWVyeVN0YXRlRmFpbHVyZShzdGF0ZSkgJiYgIXRoaXMuX3NraXBGYWlsdXJlKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZhaWx1cmUkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWRMb2FkT25jZSQudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmRpZExvYWRPbmNlJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xlYW51cFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93RmFpbHVyZSQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5zaG93U3VjY2VzcyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLnN1Y2Nlc3MpO1xuICAgICAgICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICAgICAgfSwgMzAwMCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgZ2V0IHF1ZXJ5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXJ5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBob3N0QXR0cmlidXRlQmluZGluZ3MgPSBzaWduYWxIb3N0QXR0cmlidXRlcyh7XG4gICAgJ2Rpc2FibGVkIGFyaWEtZGlzYWJsZWQnOiB0b1NpZ25hbChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2J1dHRvbi5kaXNhYmxlZCQsIHRoaXMuc2hvd0ZhaWx1cmUkLCB0aGlzLnNob3dTdWNjZXNzJCwgdGhpcy5pc0xvYWRpbmckXSkucGlwZShcbiAgICAgICAgbWFwKChbZGlzYWJsZWQsIHNob3dGYWlsdXJlLCBzaG93U3VjY2VzcywgaXNMb2FkaW5nXSkgPT4gZGlzYWJsZWQgfHwgc2hvd0ZhaWx1cmUgfHwgc2hvd1N1Y2Nlc3MgfHwgaXNMb2FkaW5nKSxcbiAgICAgICksXG4gICAgKSxcbiAgICAnYXJpYS1saXZlJzogdG9TaWduYWwoXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5xdWVyeSQucGlwZShcbiAgICAgICAgICBtYXAoKHEpID0+IGV4dHJhY3RRdWVyeShxKSksXG4gICAgICAgICAgc3dpdGNoTWFwKChxKSA9PiBxPy5zdGF0ZSQgPz8gb2YobnVsbCkpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLmRpZExvYWRPbmNlJCxcbiAgICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW3N0YXRlLCBkaWRMb2FkT25jZV0pID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWUgPSAnb2ZmJztcblxuICAgICAgICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSB8fCBpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSB8fCBpc1F1ZXJ5U3RhdGVGYWlsdXJlKHN0YXRlKSB8fCBkaWRMb2FkT25jZSkge1xuICAgICAgICAgICAgdmFsdWUgPSAnYXNzZXJ0aXZlJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9idXR0b24uX3JlbW92ZURpc2FibGVkQmluZGluZ3MoKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Directive, inject, InjectionToken } from '@angular/core';
2
- import { createReactiveBindings } from '@ethlete/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { signalHostClasses } from '@ethlete/core';
3
4
  import { BehaviorSubject, combineLatest, map } from 'rxjs';
4
5
  import { INPUT_TOKEN } from '../../../../directives';
5
6
  import * as i0 from "@angular/core";
@@ -9,15 +10,10 @@ export class CheckboxDirective {
9
10
  this.input = inject(INPUT_TOKEN);
10
11
  this.checked$ = this.input.value$.pipe(map((value) => !!value));
11
12
  this.indeterminate$ = new BehaviorSubject(false);
12
- this._bindings = createReactiveBindings({
13
- attribute: ['class.et-checkbox--checked'],
14
- observable: this.checked$,
15
- }, {
16
- attribute: ['class.et-checkbox--disabled'],
17
- observable: this.input.disabled$,
18
- }, {
19
- attribute: ['class.et-checkbox--indeterminate'],
20
- observable: combineLatest([this.checked$, this.indeterminate$]).pipe(map(([checked, indeterminate]) => !checked && indeterminate)),
13
+ this.hostClassBindings = signalHostClasses({
14
+ 'et-checkbox--checked': toSignal(this.checked$),
15
+ 'et-checkbox--disabled': toSignal(this.input.disabled$),
16
+ 'et-checkbox--indeterminate': toSignal(combineLatest([this.checked$, this.indeterminate$]).pipe(map(([checked, indeterminate]) => !checked && indeterminate))),
21
17
  });
22
18
  }
23
19
  _onInputInteraction(event) {
@@ -41,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
41
37
  exportAs: 'etCheckbox',
42
38
  }]
43
39
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvZGlyZWN0aXZlcy9jaGVja2JveC9jaGVja2JveC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFckUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFvQiw2QkFBNkIsQ0FBQyxDQUFDO0FBT25HLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVyxVQUFLLEdBQUcsTUFBTSxDQUEwQixXQUFXLENBQUMsQ0FBQztRQUNyRCxhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0QsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7WUFDekMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzFCLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUMxQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1NBQ2pDLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztZQUMvQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2xFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxhQUFhLENBQUMsQ0FDN0Q7U0FDRixDQUNGLENBQUM7S0FjSDtJQVpDLG1CQUFtQixDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FqQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsaUNBSGpCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDOzsyRkFHN0QsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxtQkFBbUIsRUFBRSxDQUFDO29CQUN4RSxRQUFRLEVBQUUsWUFBWTtpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9UT0tFTiwgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcblxuZXhwb3J0IGNvbnN0IENIRUNLQk9YX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPENoZWNrYm94RGlyZWN0aXZlPignRVRfQ0hFQ0tCT1hfRElSRUNUSVZFX1RPS0VOJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENIRUNLQk9YX1RPS0VOLCB1c2VFeGlzdGluZzogQ2hlY2tib3hEaXJlY3RpdmUgfV0sXG4gIGV4cG9ydEFzOiAnZXRDaGVja2JveCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94RGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3Q8SW5wdXREaXJlY3RpdmU8Ym9vbGVhbj4+KElOUFVUX1RPS0VOKTtcbiAgcmVhZG9ubHkgY2hlY2tlZCQgPSB0aGlzLmlucHV0LnZhbHVlJC5waXBlKG1hcCgodmFsdWUpID0+ICEhdmFsdWUpKTtcbiAgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydjbGFzcy5ldC1jaGVja2JveC0tY2hlY2tlZCddLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5jaGVja2VkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydjbGFzcy5ldC1jaGVja2JveC0tZGlzYWJsZWQnXSxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuaW5wdXQuZGlzYWJsZWQkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiBbJ2NsYXNzLmV0LWNoZWNrYm94LS1pbmRldGVybWluYXRlJ10sXG4gICAgICBvYnNlcnZhYmxlOiBjb21iaW5lTGF0ZXN0KFt0aGlzLmNoZWNrZWQkLCB0aGlzLmluZGV0ZXJtaW5hdGUkXSkucGlwZShcbiAgICAgICAgbWFwKChbY2hlY2tlZCwgaW5kZXRlcm1pbmF0ZV0pID0+ICFjaGVja2VkICYmIGluZGV0ZXJtaW5hdGUpLFxuICAgICAgKSxcbiAgICB9LFxuICApO1xuXG4gIF9vbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLmlucHV0Ll91cGRhdGVWYWx1ZSghdGhpcy5pbnB1dC52YWx1ZSk7XG4gICAgdGhpcy5pbnB1dC5fbWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuaW5wdXQuX3NldFNob3VsZERpc3BsYXlFcnJvcih0cnVlKTtcbiAgfVxuXG4gIF9jb250cm9sVG91Y2hlZCgpIHtcbiAgICB0aGlzLmlucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvZGlyZWN0aXZlcy9jaGVja2JveC9jaGVja2JveC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7O0FBRXJFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBb0IsNkJBQTZCLENBQUMsQ0FBQztBQU9uRyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsVUFBSyxHQUFHLE1BQU0sQ0FBMEIsV0FBVyxDQUFDLENBQUM7UUFDckQsYUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUMsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDN0Msc0JBQXNCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0MsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQ3ZELDRCQUE0QixFQUFFLFFBQVEsQ0FDcEMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxhQUFhLENBQUMsQ0FDN0QsQ0FDRjtTQUNGLENBQUMsQ0FBQztLQWNKO0lBWkMsbUJBQW1CLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQTFCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixpQ0FIakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQUM7OzJGQUc3RCxpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLG1CQUFtQixFQUFFLENBQUM7b0JBQ3hFLFFBQVEsRUFBRSxZQUFZO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0Q2xhc3NlcyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElOUFVUX1RPS0VOLCBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q2hlY2tib3hEaXJlY3RpdmU+KCdFVF9DSEVDS0JPWF9ESVJFQ1RJVkVfVE9LRU4nKTtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ0hFQ0tCT1hfVE9LRU4sIHVzZUV4aXN0aW5nOiBDaGVja2JveERpcmVjdGl2ZSB9XSxcbiAgZXhwb3J0QXM6ICdldENoZWNrYm94Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hEaXJlY3RpdmUge1xuICByZWFkb25seSBpbnB1dCA9IGluamVjdDxJbnB1dERpcmVjdGl2ZTxib29sZWFuPj4oSU5QVVRfVE9LRU4pO1xuICByZWFkb25seSBjaGVja2VkJCA9IHRoaXMuaW5wdXQudmFsdWUkLnBpcGUobWFwKCh2YWx1ZSkgPT4gISF2YWx1ZSkpO1xuICByZWFkb25seSBpbmRldGVybWluYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1jaGVja2JveC0tY2hlY2tlZCc6IHRvU2lnbmFsKHRoaXMuY2hlY2tlZCQpLFxuICAgICdldC1jaGVja2JveC0tZGlzYWJsZWQnOiB0b1NpZ25hbCh0aGlzLmlucHV0LmRpc2FibGVkJCksXG4gICAgJ2V0LWNoZWNrYm94LS1pbmRldGVybWluYXRlJzogdG9TaWduYWwoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmNoZWNrZWQkLCB0aGlzLmluZGV0ZXJtaW5hdGUkXSkucGlwZShcbiAgICAgICAgbWFwKChbY2hlY2tlZCwgaW5kZXRlcm1pbmF0ZV0pID0+ICFjaGVja2VkICYmIGluZGV0ZXJtaW5hdGUpLFxuICAgICAgKSxcbiAgICApLFxuICB9KTtcblxuICBfb25JbnB1dEludGVyYWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5pbnB1dC5fdXBkYXRlVmFsdWUoIXRoaXMuaW5wdXQudmFsdWUpO1xuICAgIHRoaXMuaW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmlucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cblxuICBfY29udHJvbFRvdWNoZWQoKSB7XG4gICAgdGhpcy5pbnB1dC5fbWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuaW5wdXQuX3NldFNob3VsZERpc3BsYXlFcnJvcih0cnVlKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import { ContentChildren, Directive, forwardRef, inject, InjectionToken } from '@angular/core';
2
- import { createReactiveBindings, TypedQueryList } from '@ethlete/core';
3
- import { combineLatest, map, startWith, switchMap } from 'rxjs';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { signalHostClasses, switchQueryListChanges, TypedQueryList } from '@ethlete/core';
4
+ import { BehaviorSubject, combineLatest, map, of, switchMap } from 'rxjs';
4
5
  import { InputStateService } from '../../../../services';
5
6
  import { CHECKBOX_TOKEN } from '../public-api';
6
7
  import * as i0 from "@angular/core";
@@ -8,19 +9,21 @@ export const CHECKBOX_FIELD_TOKEN = new InjectionToken('ET_CHECKBOX_FIELD_DIRECT
8
9
  export class CheckboxFieldDirective {
9
10
  constructor() {
10
11
  this.inputState = inject(InputStateService);
11
- this._bindings = createReactiveBindings();
12
- }
13
- ngAfterContentInit() {
14
- if (!this._checkbox) {
15
- return;
16
- }
17
- this._bindings.push({
18
- attribute: 'class.et-checkbox-field--indeterminate',
19
- observable: this._checkbox.changes.pipe(startWith(this._checkbox)).pipe(switchMap((checkboxes) => combineLatest(checkboxes.filter((cb) => !!cb).map((checkbox) => checkbox.indeterminate$))), map((checked) => checked.some((value) => value))),
12
+ this._checkbox$ = new BehaviorSubject(null);
13
+ this.hostClassBindings = signalHostClasses({
14
+ 'et-checkbox-field--indeterminate': toSignal(this._checkbox$.pipe(switchQueryListChanges(), switchMap((checkboxes) => {
15
+ if (!checkboxes?.length) {
16
+ return of(null);
17
+ }
18
+ return combineLatest(checkboxes.map((checkbox) => checkbox.indeterminate$)).pipe(map((indeterminateStates) => indeterminateStates.some((isIndeterminate) => isIndeterminate)));
19
+ }))),
20
20
  });
21
21
  }
22
+ set checkbox(checkbox) {
23
+ this._checkbox$.next(checkbox);
24
+ }
22
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CheckboxFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: CheckboxFieldDirective, isStandalone: true, providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }], queries: [{ propertyName: "_checkbox", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: CheckboxFieldDirective, isStandalone: true, providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }], queries: [{ propertyName: "checkbox", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
24
27
  }
25
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CheckboxFieldDirective, decorators: [{
26
29
  type: Directive,
@@ -29,8 +32,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
29
32
  providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }],
30
33
  exportAs: 'etCheckboxGroup',
31
34
  }]
32
- }], propDecorators: { _checkbox: [{
35
+ }], propDecorators: { checkbox: [{
33
36
  type: ContentChildren,
34
37
  args: [forwardRef(() => CHECKBOX_TOKEN), { descendants: true }]
35
38
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvZGlyZWN0aXZlcy9jaGVja2JveC1maWVsZC9jaGVja2JveC1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFFbEUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXlCLG1DQUFtQyxDQUFDLENBQUM7QUFPcEgsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLGVBQVUsR0FBRyxNQUFNLENBQTZCLGlCQUFpQixDQUFDLENBQUM7UUFFbkUsY0FBUyxHQUFHLHNCQUFzQixFQUFFLENBQUM7S0FzQi9DO0lBakJDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixTQUFTLEVBQUUsd0NBQXdDO1lBQ25ELFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckUsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDdkIsYUFBYSxDQUNYLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQ3BHLENBQ0YsRUFDRCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2pEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4QlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsaUNBSHRCLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQUMsdUZBUWpELGNBQWM7OzJGQUxyQyxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQztvQkFDbkYsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OEJBT1MsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MsIFR5cGVkUXVlcnlMaXN0IH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENIRUNLQk9YX1RPS0VOLCBDaGVja2JveERpcmVjdGl2ZSB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfRklFTERfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q2hlY2tib3hGaWVsZERpcmVjdGl2ZT4oJ0VUX0NIRUNLQk9YX0ZJRUxEX0RJUkVDVElWRV9UT0tFTicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDSEVDS0JPWF9GSUVMRF9UT0tFTiwgdXNlRXhpc3Rpbmc6IENoZWNrYm94RmllbGREaXJlY3RpdmUgfV0sXG4gIGV4cG9ydEFzOiAnZXRDaGVja2JveEdyb3VwJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hGaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICByZWFkb25seSBpbnB1dFN0YXRlID0gaW5qZWN0PElucHV0U3RhdGVTZXJ2aWNlPGJvb2xlYW4+PihJbnB1dFN0YXRlU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgX2JpbmRpbmdzID0gY3JlYXRlUmVhY3RpdmVCaW5kaW5ncygpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBDSEVDS0JPWF9UT0tFTiksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfY2hlY2tib3g/OiBUeXBlZFF1ZXJ5TGlzdDxDaGVja2JveERpcmVjdGl2ZT47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2hlY2tib3gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9iaW5kaW5ncy5wdXNoKHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWNoZWNrYm94LWZpZWxkLS1pbmRldGVybWluYXRlJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2NoZWNrYm94LmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fY2hlY2tib3gpKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGNoZWNrYm94ZXMpID0+XG4gICAgICAgICAgY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIGNoZWNrYm94ZXMuZmlsdGVyKChjYik6IGNiIGlzIENoZWNrYm94RGlyZWN0aXZlID0+ICEhY2IpLm1hcCgoY2hlY2tib3gpID0+IGNoZWNrYm94LmluZGV0ZXJtaW5hdGUkKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBtYXAoKGNoZWNrZWQpID0+IGNoZWNrZWQuc29tZSgodmFsdWUpID0+IHZhbHVlKSksXG4gICAgICApLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvY2hlY2tib3gvZGlyZWN0aXZlcy9jaGVja2JveC1maWVsZC9jaGVja2JveC1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBcUIsTUFBTSxlQUFlLENBQUM7O0FBRWxFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUF5QixtQ0FBbUMsQ0FBQyxDQUFDO0FBT3BILE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNVyxlQUFVLEdBQUcsTUFBTSxDQUE2QixpQkFBaUIsQ0FBQyxDQUFDO1FBTXBFLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBMkMsSUFBSSxDQUFDLENBQUM7UUFFaEYsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDN0Msa0NBQWtDLEVBQUUsUUFBUSxDQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsc0JBQXNCLEVBQUUsRUFDeEIsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDakI7Z0JBRUQsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUM3RixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FDRjtTQUNGLENBQUMsQ0FBQztLQUNKO0lBdEJDLElBQ0ksUUFBUSxDQUFDLFFBQTJDO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBTlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsaUNBSHRCLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQUMsc0ZBTWpELGNBQWM7OzJGQUhyQyxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQztvQkFDbkYsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OEJBS0ssUUFBUTtzQkFEWCxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0Q2xhc3Nlcywgc3dpdGNoUXVlcnlMaXN0Q2hhbmdlcywgVHlwZWRRdWVyeUxpc3QgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENIRUNLQk9YX1RPS0VOLCBDaGVja2JveERpcmVjdGl2ZSB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfRklFTERfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q2hlY2tib3hGaWVsZERpcmVjdGl2ZT4oJ0VUX0NIRUNLQk9YX0ZJRUxEX0RJUkVDVElWRV9UT0tFTicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDSEVDS0JPWF9GSUVMRF9UT0tFTiwgdXNlRXhpc3Rpbmc6IENoZWNrYm94RmllbGREaXJlY3RpdmUgfV0sXG4gIGV4cG9ydEFzOiAnZXRDaGVja2JveEdyb3VwJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hGaWVsZERpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGlucHV0U3RhdGUgPSBpbmplY3Q8SW5wdXRTdGF0ZVNlcnZpY2U8Ym9vbGVhbj4+KElucHV0U3RhdGVTZXJ2aWNlKTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQ0hFQ0tCT1hfVE9LRU4pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHNldCBjaGVja2JveChjaGVja2JveDogVHlwZWRRdWVyeUxpc3Q8Q2hlY2tib3hEaXJlY3RpdmU+KSB7XG4gICAgdGhpcy5fY2hlY2tib3gkLm5leHQoY2hlY2tib3gpO1xuICB9XG4gIHByaXZhdGUgX2NoZWNrYm94JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRRdWVyeUxpc3Q8Q2hlY2tib3hEaXJlY3RpdmU+IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LWNoZWNrYm94LWZpZWxkLS1pbmRldGVybWluYXRlJzogdG9TaWduYWwoXG4gICAgICB0aGlzLl9jaGVja2JveCQucGlwZShcbiAgICAgICAgc3dpdGNoUXVlcnlMaXN0Q2hhbmdlcygpLFxuICAgICAgICBzd2l0Y2hNYXAoKGNoZWNrYm94ZXMpID0+IHtcbiAgICAgICAgICBpZiAoIWNoZWNrYm94ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGNoZWNrYm94ZXMubWFwKChjaGVja2JveCkgPT4gY2hlY2tib3guaW5kZXRlcm1pbmF0ZSQpKS5waXBlKFxuICAgICAgICAgICAgbWFwKChpbmRldGVybWluYXRlU3RhdGVzKSA9PiBpbmRldGVybWluYXRlU3RhdGVzLnNvbWUoKGlzSW5kZXRlcm1pbmF0ZSkgPT4gaXNJbmRldGVybWluYXRlKSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICksXG4gIH0pO1xufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import { Directive, inject, InjectionToken } from '@angular/core';
2
- import { createReactiveBindings } from '@ethlete/core';
3
- import { map, of } from 'rxjs';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { signalAttributes } from '@ethlete/core';
4
+ import { map } from 'rxjs';
4
5
  import { INPUT_TOKEN } from '../../../../directives';
5
6
  import { CHECKBOX_TOKEN } from '../checkbox';
6
7
  import { CHECKBOX_GROUP_TOKEN } from '../checkbox-group';
@@ -11,16 +12,8 @@ export class CheckboxGroupControlDirective {
11
12
  this.checkbox = inject(CHECKBOX_TOKEN);
12
13
  this.input = inject(INPUT_TOKEN);
13
14
  this.group = inject(CHECKBOX_GROUP_TOKEN);
14
- this._bindings = createReactiveBindings();
15
- }
16
- ngAfterContentInit() {
17
- this._bindings.push({
18
- attribute: ['aria-controls'],
19
- elementRef: this.input.nativeInputRef?.element,
20
- observable: this.group.checkboxesWithoutGroupCtrl$.pipe(map((checkboxes) => ({
21
- render: true,
22
- value: checkboxes.map((checkbox) => checkbox.input.id).join(' '),
23
- }))) ?? of(false),
15
+ this.inputAttributeBindings = signalAttributes(this.input.nativeInputRef$.pipe(map((el) => el?.element)), {
16
+ 'aria-controls': toSignal(this.group.checkboxesWithoutGroupCtrl$.pipe(map((checkboxes) => checkboxes.map((checkbox) => checkbox.input.id).join(' ')))),
24
17
  });
25
18
  }
26
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: CheckboxGroupControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -35,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
35
28
  providers: [{ provide: CHECKBOX_GROUP_CONTROL_TOKEN, useExisting: CheckboxGroupControlDirective }],
36
29
  }]
37
30
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9jaGVja2JveC9kaXJlY3RpdmVzL2NoZWNrYm94LWdyb3VwLWNvbnRyb2wvY2hlY2tib3gtZ3JvdXAtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsaUNBQWlDLENBQ2xDLENBQUM7QUFRRixNQUFNLE9BQU8sNkJBQTZCO0lBTjFDO1FBT1csYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsQyxVQUFLLEdBQUcsTUFBTSxDQUEwQixXQUFXLENBQUMsQ0FBQztRQUNyRCxVQUFLLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFckMsY0FBUyxHQUFHLHNCQUFzQixFQUFFLENBQUM7S0FlL0M7SUFiQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxPQUFPO1lBQzlDLFVBQVUsRUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FDekMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2pFLENBQUMsQ0FBQyxDQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQW5CVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix1RUFGN0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQzs7MkZBRXZGLDZCQUE2QjtrQkFOekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsV0FBVywrQkFBK0IsRUFBRSxDQUFDO2lCQUNuRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSU5QVVRfVE9LRU4sIElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDSEVDS0JPWF9UT0tFTiB9IGZyb20gJy4uL2NoZWNrYm94JztcbmltcG9ydCB7IENIRUNLQk9YX0dST1VQX1RPS0VOIH0gZnJvbSAnLi4vY2hlY2tib3gtZ3JvdXAnO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfR1JPVVBfQ09OVFJPTF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDaGVja2JveEdyb3VwQ29udHJvbERpcmVjdGl2ZT4oXG4gICdFVF9DSEVDS0JPWF9HUk9VUF9DT05UUk9MX1RPS0VOJyxcbik7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldENoZWNrYm94R3JvdXBDb250cm9sXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZXRDaGVja2JveEdyb3VwQ29udHJvbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ0hFQ0tCT1hfR1JPVVBfQ09OVFJPTF9UT0tFTiwgdXNlRXhpc3Rpbmc6IENoZWNrYm94R3JvdXBDb250cm9sRGlyZWN0aXZlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICByZWFkb25seSBjaGVja2JveCA9IGluamVjdChDSEVDS0JPWF9UT0tFTik7XG4gIHJlYWRvbmx5IGlucHV0ID0gaW5qZWN0PElucHV0RGlyZWN0aXZlPGJvb2xlYW4+PihJTlBVVF9UT0tFTik7XG4gIHJlYWRvbmx5IGdyb3VwID0gaW5qZWN0KENIRUNLQk9YX0dST1VQX1RPS0VOKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKCk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2JpbmRpbmdzLnB1c2goe1xuICAgICAgYXR0cmlidXRlOiBbJ2FyaWEtY29udHJvbHMnXSxcbiAgICAgIGVsZW1lbnRSZWY6IHRoaXMuaW5wdXQubmF0aXZlSW5wdXRSZWY/LmVsZW1lbnQsXG4gICAgICBvYnNlcnZhYmxlOlxuICAgICAgICB0aGlzLmdyb3VwLmNoZWNrYm94ZXNXaXRob3V0R3JvdXBDdHJsJC5waXBlKFxuICAgICAgICAgIG1hcCgoY2hlY2tib3hlcykgPT4gKHtcbiAgICAgICAgICAgIHJlbmRlcjogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiBjaGVja2JveGVzLm1hcCgoY2hlY2tib3gpID0+IGNoZWNrYm94LmlucHV0LmlkKS5qb2luKCcgJyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICApID8/IG9mKGZhbHNlKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9jaGVja2JveC9kaXJlY3RpdmVzL2NoZWNrYm94LWdyb3VwLWNvbnRyb2wvY2hlY2tib3gtZ3JvdXAtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXpELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUM1RCxpQ0FBaUMsQ0FDbEMsQ0FBQztBQVFGLE1BQU0sT0FBTyw2QkFBNkI7SUFOMUM7UUFPVyxhQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxNQUFNLENBQTBCLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELFVBQUssR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVyQywyQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRTtZQUM1RyxlQUFlLEVBQUUsUUFBUSxDQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FDekMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMvRSxDQUNGO1NBQ0YsQ0FBQyxDQUFDO0tBQ0o7OEdBWlksNkJBQTZCO2tHQUE3Qiw2QkFBNkIsdUVBRjdCLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLDZCQUE2QixFQUFFLENBQUM7OzJGQUV2Riw2QkFBNkI7a0JBTnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFdBQVcsK0JBQStCLEVBQUUsQ0FBQztpQkFDbkciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgc2lnbmFsQXR0cmlidXRlcyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJTlBVVF9UT0tFTiwgSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENIRUNLQk9YX1RPS0VOIH0gZnJvbSAnLi4vY2hlY2tib3gnO1xuaW1wb3J0IHsgQ0hFQ0tCT1hfR1JPVVBfVE9LRU4gfSBmcm9tICcuLi9jaGVja2JveC1ncm91cCc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9HUk9VUF9DT05UUk9MX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPENoZWNrYm94R3JvdXBDb250cm9sRGlyZWN0aXZlPihcbiAgJ0VUX0NIRUNLQk9YX0dST1VQX0NPTlRST0xfVE9LRU4nLFxuKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0Q2hlY2tib3hHcm91cENvbnRyb2xdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldENoZWNrYm94R3JvdXBDb250cm9sJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDSEVDS0JPWF9HUk9VUF9DT05UUk9MX1RPS0VOLCB1c2VFeGlzdGluZzogQ2hlY2tib3hHcm91cENvbnRyb2xEaXJlY3RpdmUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94R3JvdXBDb250cm9sRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgY2hlY2tib3ggPSBpbmplY3QoQ0hFQ0tCT1hfVE9LRU4pO1xuICByZWFkb25seSBpbnB1dCA9IGluamVjdDxJbnB1dERpcmVjdGl2ZTxib29sZWFuPj4oSU5QVVRfVE9LRU4pO1xuICByZWFkb25seSBncm91cCA9IGluamVjdChDSEVDS0JPWF9HUk9VUF9UT0tFTik7XG5cbiAgcmVhZG9ubHkgaW5wdXRBdHRyaWJ1dGVCaW5kaW5ncyA9IHNpZ25hbEF0dHJpYnV0ZXModGhpcy5pbnB1dC5uYXRpdmVJbnB1dFJlZiQucGlwZShtYXAoKGVsKSA9PiBlbD8uZWxlbWVudCkpLCB7XG4gICAgJ2FyaWEtY29udHJvbHMnOiB0b1NpZ25hbChcbiAgICAgIHRoaXMuZ3JvdXAuY2hlY2tib3hlc1dpdGhvdXRHcm91cEN0cmwkLnBpcGUoXG4gICAgICAgIG1hcCgoY2hlY2tib3hlcykgPT4gY2hlY2tib3hlcy5tYXAoKGNoZWNrYm94KSA9PiBjaGVja2JveC5pbnB1dC5pZCkuam9pbignICcpKSxcbiAgICAgICksXG4gICAgKSxcbiAgfSk7XG59XG4iXX0=
@@ -1,7 +1,8 @@
1
1
  import { AsyncPipe, JsonPipe, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
3
- import { createReactiveBindings } from '@ethlete/core';
4
- import { BehaviorSubject, map, of } from 'rxjs';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { signalHostClasses } from '@ethlete/core';
5
+ import { BehaviorSubject, of } from 'rxjs';
5
6
  import { DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN } from '../../../../directives';
6
7
  import { FormFieldStateService, FormGroupStateService, VALIDATOR_ERROR_SERVICE_TOKEN } from '../../../../services';
7
8
  import * as i0 from "@angular/core";
@@ -14,12 +15,9 @@ export class ErrorComponent {
14
15
  this.errorText$ = new BehaviorSubject(null);
15
16
  this.id = `et-error-${_uniqueIdCounter++}`;
16
17
  this._errors = null;
17
- this._bindings = createReactiveBindings({
18
- attribute: 'class.et-error--has-errors',
19
- observable: this.errorText$.pipe(map((v) => !!v)),
20
- }, {
21
- attribute: 'class.cdk-visually-hidden',
22
- observable: this._dynamicFormGroupOrField.hideErrorMessage$,
18
+ this.hostClassBindings = signalHostClasses({
19
+ 'et-error--has-errors': toSignal(this.errorText$),
20
+ 'cdk-visually-hidden': toSignal(this._dynamicFormGroupOrField.hideErrorMessage$),
23
21
  });
24
22
  }
25
23
  get errors() {
@@ -53,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
53
51
  }], propDecorators: { errors: [{
54
52
  type: Input
55
53
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvZXJyb3IvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9lcnJvci9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuSCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sY0FBYztJQWIzQjtRQWNtQiw0QkFBdUIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNoRSxrQ0FBNkIsR0FDNUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFcEUsNkJBQXdCLEdBQ3ZDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXhFLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsSUFBSSxDQUFDLENBQUM7UUFFNUUsT0FBRSxHQUFHLFlBQVksZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBd0J2QyxZQUFPLEdBQTRCLElBQUksQ0FBQztRQUV2QyxjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLDRCQUE0QjtZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEQsRUFDRDtZQUNFLFNBQVMsRUFBRSwyQkFBMkI7WUFDdEMsVUFBVSxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUI7U0FDNUQsQ0FDRixDQUFDO0tBQ0g7SUFsQ0MsSUFDVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFXLE1BQU0sQ0FBQyxDQUEwQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsRUFBRTtZQUNMLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFeEQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDO1lBRUQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7OEdBakNVLGNBQWM7a0dBQWQsY0FBYyx3SUN2QjNCLG1LQUdBLDBERGlCc0IsSUFBSSx3RkFBRSxTQUFTOzsyRkFHeEIsY0FBYztrQkFiMUIsU0FBUzsrQkFDRSxVQUFVLGNBR1IsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxVQUFVO3FCQUNsQixXQUNRLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsa0JBQ3BCLEVBQUU7OEJBZVAsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgSnNvblBpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERZTkFNSUNfRk9STV9GSUVMRF9UT0tFTiwgRFlOQU1JQ19GT1JNX0dST1VQX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UsIEZvcm1Hcm91cFN0YXRlU2VydmljZSwgVkFMSURBVE9SX0VSUk9SX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbmxldCBfdW5pcXVlSWRDb3VudGVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtZXJyb3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lcnJvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtZXJyb3InLFxuICB9LFxuICBpbXBvcnRzOiBbSnNvblBpcGUsIE5nSWYsIEFzeW5jUGlwZV0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF92YWxpZGF0b3JFcnJvcnNTZXJ2aWNlID0gaW5qZWN0KFZBTElEQVRPUl9FUlJPUl9TRVJWSUNFX1RPS0VOKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkT3JHcm91cFN0YXRlU2VydmljZSA9XG4gICAgaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBpbmplY3QoRm9ybUdyb3VwU3RhdGVTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljRm9ybUdyb3VwT3JGaWVsZCA9XG4gICAgaW5qZWN0KERZTkFNSUNfRk9STV9GSUVMRF9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBpbmplY3QoRFlOQU1JQ19GT1JNX0dST1VQX1RPS0VOKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JUZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2JzZXJ2YWJsZTxzdHJpbmc+IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgaWQgPSBgZXQtZXJyb3ItJHtfdW5pcXVlSWRDb3VudGVyKyt9YDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JzO1xuICB9XG4gIHB1YmxpYyBzZXQgZXJyb3JzKHY6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKSB7XG4gICAgdGhpcy5fZXJyb3JzID0gdjtcblxuICAgIGlmICh2KSB7XG4gICAgICBjb25zdCBlcnJvclRleHQgPSB0aGlzLl92YWxpZGF0b3JFcnJvcnNTZXJ2aWNlLnBhcnNlKHYpO1xuXG4gICAgICBpZiAodHlwZW9mIGVycm9yVGV4dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5lcnJvclRleHQkLm5leHQob2YoZXJyb3JUZXh0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVycm9yVGV4dCQubmV4dChlcnJvclRleHQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9mb3JtRmllbGRPckdyb3VwU3RhdGVTZXJ2aWNlLmVycm9ySWQkLm5leHQodGhpcy5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3JUZXh0JC5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5fZm9ybUZpZWxkT3JHcm91cFN0YXRlU2VydmljZS5lcnJvcklkJC5uZXh0KG51bGwpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9lcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWVycm9yLS1oYXMtZXJyb3JzJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuZXJyb3JUZXh0JC5waXBlKG1hcCgodikgPT4gISF2KSksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2R5bmFtaWNGb3JtR3JvdXBPckZpZWxkLmhpZGVFcnJvck1lc3NhZ2UkLFxuICAgIH0sXG4gICk7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JUZXh0JCB8IGFzeW5jIHwgYXN5bmMgYXMgdGV4dFwiPlxuICA8c3BhbiBbaWRdPVwiaWRcIiBhcmlhLWF0b21pYz1cInRydWVcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj4ge3sgdGV4dCB9fSA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvZXJyb3IvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9lcnJvci9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuSCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sY0FBYztJQWIzQjtRQWNtQiw0QkFBdUIsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNoRSxrQ0FBNkIsR0FDNUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFcEUsNkJBQXdCLEdBQ3ZDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRXhFLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsSUFBSSxDQUFDLENBQUM7UUFFNUUsT0FBRSxHQUFHLFlBQVksZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBd0J2QyxZQUFPLEdBQTRCLElBQUksQ0FBQztRQUV2QyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUM3QyxzQkFBc0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNqRCxxQkFBcUIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO1NBQ2pGLENBQUMsQ0FBQztLQUNKO0lBNUJDLElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsQ0FBMEI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEVBQUU7WUFDTCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhELElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNqQztZQUVELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDOzhHQWpDVSxjQUFjO2tHQUFkLGNBQWMsd0lDeEIzQixtS0FHQSwwRERrQnNCLElBQUksd0ZBQUUsU0FBUzs7MkZBR3hCLGNBQWM7a0JBYjFCLFNBQVM7K0JBQ0UsVUFBVSxjQUdSLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsVUFBVTtxQkFDbEIsV0FDUSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLGtCQUNwQixFQUFFOzhCQWVQLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIEpzb25QaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzaWduYWxIb3N0Q2xhc3NlcyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX1RPS0VOLCBEWU5BTUlDX0ZPUk1fR1JPVVBfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEZvcm1GaWVsZFN0YXRlU2VydmljZSwgRm9ybUdyb3VwU3RhdGVTZXJ2aWNlLCBWQUxJREFUT1JfRVJST1JfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcblxubGV0IF91bmlxdWVJZENvdW50ZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1lcnJvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Vycm9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1lcnJvcicsXG4gIH0sXG4gIGltcG9ydHM6IFtKc29uUGlwZSwgTmdJZiwgQXN5bmNQaXBlXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbGlkYXRvckVycm9yc1NlcnZpY2UgPSBpbmplY3QoVkFMSURBVE9SX0VSUk9SX1NFUlZJQ0VfVE9LRU4pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtRmllbGRPckdyb3VwU3RhdGVTZXJ2aWNlID1cbiAgICBpbmplY3QoRm9ybUZpZWxkU3RhdGVTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IGluamVjdChGb3JtR3JvdXBTdGF0ZVNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNGb3JtR3JvdXBPckZpZWxkID1cbiAgICBpbmplY3QoRFlOQU1JQ19GT1JNX0ZJRUxEX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IGluamVjdChEWU5BTUlDX0ZPUk1fR1JPVVBfVE9LRU4pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBlcnJvclRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPHN0cmluZz4gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBpZCA9IGBldC1lcnJvci0ke191bmlxdWVJZENvdW50ZXIrK31gO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9lcnJvcnM7XG4gIH1cbiAgcHVibGljIHNldCBlcnJvcnModjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpIHtcbiAgICB0aGlzLl9lcnJvcnMgPSB2O1xuXG4gICAgaWYgKHYpIHtcbiAgICAgIGNvbnN0IGVycm9yVGV4dCA9IHRoaXMuX3ZhbGlkYXRvckVycm9yc1NlcnZpY2UucGFyc2Uodik7XG5cbiAgICAgIGlmICh0eXBlb2YgZXJyb3JUZXh0ID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmVycm9yVGV4dCQubmV4dChvZihlcnJvclRleHQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXJyb3JUZXh0JC5uZXh0KGVycm9yVGV4dCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2Zvcm1GaWVsZE9yR3JvdXBTdGF0ZVNlcnZpY2UuZXJyb3JJZCQubmV4dCh0aGlzLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lcnJvclRleHQkLm5leHQobnVsbCk7XG4gICAgICB0aGlzLl9mb3JtRmllbGRPckdyb3VwU3RhdGVTZXJ2aWNlLmVycm9ySWQkLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2Vycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1lcnJvci0taGFzLWVycm9ycyc6IHRvU2lnbmFsKHRoaXMuZXJyb3JUZXh0JCksXG4gICAgJ2Nkay12aXN1YWxseS1oaWRkZW4nOiB0b1NpZ25hbCh0aGlzLl9keW5hbWljRm9ybUdyb3VwT3JGaWVsZC5oaWRlRXJyb3JNZXNzYWdlJCksXG4gIH0pO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yVGV4dCQgfCBhc3luYyB8IGFzeW5jIGFzIHRleHRcIj5cbiAgPHNwYW4gW2lkXT1cImlkXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+IHt7IHRleHQgfX0gPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { Directive, InjectionToken, Input, booleanAttribute, inject } from '@angular/core';
2
- import { createReactiveBindings } from '@ethlete/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { signalHostClasses } from '@ethlete/core';
3
4
  import { BehaviorSubject, combineLatest, map } from 'rxjs';
4
5
  import { INPUT_TOKEN } from '../../../../directives';
5
6
  import * as i0 from "@angular/core";
@@ -11,12 +12,9 @@ export class RadioDirective {
11
12
  this._disabled$ = new BehaviorSubject(false);
12
13
  this.checked$ = combineLatest([this.input.value$, this._value$]).pipe(map(([inputValue, value]) => inputValue === value));
13
14
  this.disabled$ = combineLatest([this.input.disabled$, this._disabled$]).pipe(map(([inputDisabled, disabled]) => inputDisabled || disabled));
14
- this._bindings = createReactiveBindings({
15
- attribute: ['class.et-radio--checked'],
16
- observable: this.checked$,
17
- }, {
18
- attribute: ['class.et-radio--disabled'],
19
- observable: this.disabled$,
15
+ this.hostClassBindings = signalHostClasses({
16
+ 'et-radio--checked': toSignal(this.disabled$),
17
+ 'et-radio--disabled': toSignal(this.disabled$),
20
18
  });
21
19
  }
22
20
  get value() {
@@ -59,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
59
57
  }], disabled: [{
60
58
  type: Input
61
59
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvcmFkaW8vZGlyZWN0aXZlcy9yYWRpby9yYWRpby5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7O0FBR3JFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsMEJBQTBCLENBQUMsQ0FBQztBQU8xRixNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1XLFVBQUssR0FBRyxNQUFNLENBQTZCLFdBQVcsQ0FBQyxDQUFDO1FBU3pELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBYSxJQUFJLENBQUMsQ0FBQztRQVNoRCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsYUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkUsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FDbkQsQ0FBQztRQUVPLGNBQVMsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlFLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDLENBQzlELENBQUM7UUFFTyxjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDdEMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzFCLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDM0IsQ0FDRixDQUFDO0tBbUJIO0lBdERDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFzQkQsbUJBQW1CLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0F4RFUsY0FBYztrR0FBZCxjQUFjLG1GQUhkLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQzs7MkZBR3ZELGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLGdCQUFnQixFQUFFLENBQUM7b0JBQ2xFLFFBQVEsRUFBRSxTQUFTO2lCQUNwQjs4QkFLSyxLQUFLO3NCQURSLEtBQUs7Z0JBVUYsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElOUFVUX1RPS0VOLCBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUmFkaW9WYWx1ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFJBRElPX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFJhZGlvRGlyZWN0aXZlPignRVRfUkFESU9fRElSRUNUSVZFX1RPS0VOJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJBRElPX1RPS0VOLCB1c2VFeGlzdGluZzogUmFkaW9EaXJlY3RpdmUgfV0sXG4gIGV4cG9ydEFzOiAnZXRSYWRpbycsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3Q8SW5wdXREaXJlY3RpdmU8UmFkaW9WYWx1ZT4+KElOUFVUX1RPS0VOKTtcblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHNldCB2YWx1ZSh2YWx1ZTogUmFkaW9WYWx1ZSkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJhZGlvVmFsdWU+KG51bGwpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQkLmdldFZhbHVlKCk7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNoZWNrZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5pbnB1dC52YWx1ZSQsIHRoaXMuX3ZhbHVlJF0pLnBpcGUoXG4gICAgbWFwKChbaW5wdXRWYWx1ZSwgdmFsdWVdKSA9PiBpbnB1dFZhbHVlID09PSB2YWx1ZSksXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5pbnB1dC5kaXNhYmxlZCQsIHRoaXMuX2Rpc2FibGVkJF0pLnBpcGUoXG4gICAgbWFwKChbaW5wdXREaXNhYmxlZCwgZGlzYWJsZWRdKSA9PiBpbnB1dERpc2FibGVkIHx8IGRpc2FibGVkKSxcbiAgKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydjbGFzcy5ldC1yYWRpby0tY2hlY2tlZCddLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5jaGVja2VkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydjbGFzcy5ldC1yYWRpby0tZGlzYWJsZWQnXSxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuZGlzYWJsZWQkLFxuICAgIH0sXG4gICk7XG5cbiAgX29uSW5wdXRJbnRlcmFjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dC5fdXBkYXRlVmFsdWUodGhpcy52YWx1ZSk7XG5cbiAgICB0aGlzLmlucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9XG5cbiAgX2NvbnRyb2xUb3VjaGVkKCkge1xuICAgIHRoaXMuaW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmlucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvcmFkaW8vZGlyZWN0aXZlcy9yYWRpby9yYWRpby5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLHdCQUF3QixDQUFDOztBQUdyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQWlCLDBCQUEwQixDQUFDLENBQUM7QUFPMUYsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFNVyxVQUFLLEdBQUcsTUFBTSxDQUE2QixXQUFXLENBQUMsQ0FBQztRQVN6RCxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWEsSUFBSSxDQUFDLENBQUM7UUFTaEQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZDLGFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDLENBQ25ELENBQUM7UUFFTyxjQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUM5RCxDQUFDO1FBRU8sc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDN0MsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDN0Msb0JBQW9CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDL0MsQ0FBQyxDQUFDO0tBbUJKO0lBaERDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBaUI7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFnQkQsbUJBQW1CLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FsRFUsY0FBYztrR0FBZCxjQUFjLG1GQUhkLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQzs7MkZBR3ZELGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLGdCQUFnQixFQUFFLENBQUM7b0JBQ2xFLFFBQVEsRUFBRSxTQUFTO2lCQUNwQjs4QkFLSyxLQUFLO3NCQURSLEtBQUs7Z0JBVUYsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0Q2xhc3NlcyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElOUFVUX1RPS0VOLCBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUmFkaW9WYWx1ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFJBRElPX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFJhZGlvRGlyZWN0aXZlPignRVRfUkFESU9fRElSRUNUSVZFX1RPS0VOJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJBRElPX1RPS0VOLCB1c2VFeGlzdGluZzogUmFkaW9EaXJlY3RpdmUgfV0sXG4gIGV4cG9ydEFzOiAnZXRSYWRpbycsXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3Q8SW5wdXREaXJlY3RpdmU8UmFkaW9WYWx1ZT4+KElOUFVUX1RPS0VOKTtcblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHNldCB2YWx1ZSh2YWx1ZTogUmFkaW9WYWx1ZSkge1xuICAgIHRoaXMuX3ZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJhZGlvVmFsdWU+KG51bGwpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQkLmdldFZhbHVlKCk7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQkLm5leHQoYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGNoZWNrZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5pbnB1dC52YWx1ZSQsIHRoaXMuX3ZhbHVlJF0pLnBpcGUoXG4gICAgbWFwKChbaW5wdXRWYWx1ZSwgdmFsdWVdKSA9PiBpbnB1dFZhbHVlID09PSB2YWx1ZSksXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5pbnB1dC5kaXNhYmxlZCQsIHRoaXMuX2Rpc2FibGVkJF0pLnBpcGUoXG4gICAgbWFwKChbaW5wdXREaXNhYmxlZCwgZGlzYWJsZWRdKSA9PiBpbnB1dERpc2FibGVkIHx8IGRpc2FibGVkKSxcbiAgKTtcblxuICByZWFkb25seSBob3N0Q2xhc3NCaW5kaW5ncyA9IHNpZ25hbEhvc3RDbGFzc2VzKHtcbiAgICAnZXQtcmFkaW8tLWNoZWNrZWQnOiB0b1NpZ25hbCh0aGlzLmRpc2FibGVkJCksXG4gICAgJ2V0LXJhZGlvLS1kaXNhYmxlZCc6IHRvU2lnbmFsKHRoaXMuZGlzYWJsZWQkKSxcbiAgfSk7XG5cbiAgX29uSW5wdXRJbnRlcmFjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dC5fdXBkYXRlVmFsdWUodGhpcy52YWx1ZSk7XG5cbiAgICB0aGlzLmlucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9XG5cbiAgX2NvbnRyb2xUb3VjaGVkKCkge1xuICAgIHRoaXMuaW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmlucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { ContentChildren, Directive, forwardRef, inject, InjectionToken } from '@angular/core';
2
- import { createReactiveBindings, TypedQueryList } from '@ethlete/core';
3
- import { combineLatest, map, startWith, switchMap } from 'rxjs';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { signalHostClasses, switchQueryListChanges, TypedQueryList } from '@ethlete/core';
4
+ import { BehaviorSubject, combineLatest, map, of, switchMap } from 'rxjs';
4
5
  import { InputStateService } from '../../../../services';
5
6
  import { RADIO_TOKEN } from '../radio';
6
7
  import * as i0 from "@angular/core";
@@ -8,23 +9,18 @@ export const RADIO_FIELD_TOKEN = new InjectionToken('ET_RADIO_FIELD_DIRECTIVE_TO
8
9
  export class RadioFieldDirective {
9
10
  constructor() {
10
11
  this.inputState = inject(InputStateService);
11
- this._bindings = createReactiveBindings();
12
- }
13
- ngAfterContentInit() {
14
- if (!this._radio) {
15
- return;
16
- }
17
- this._bindings.push({
18
- attribute: 'class.et-radio-field--checked',
19
- observable: this._radio.changes.pipe(startWith(this._radio)).pipe(switchMap((radios) => combineLatest(radios.filter((radio) => !!radio).map((radio) => radio.checked$))), map((checked) => checked.some((value) => value))),
20
- });
21
- this._bindings.push({
22
- attribute: 'class.et-radio-field--disabled',
23
- observable: this._radio.changes.pipe(startWith(this._radio)).pipe(switchMap((radios) => combineLatest(radios.filter((radio) => !!radio).map((radio) => radio.disabled$))), map((disabled) => disabled.some((value) => value))),
12
+ this._radio$ = new BehaviorSubject(null);
13
+ this.radioQueryList$ = this._radio$.pipe(switchQueryListChanges());
14
+ this.hostClassBindings = signalHostClasses({
15
+ 'et-radio-field--checked': toSignal(this.radioQueryList$.pipe(switchMap((radios) => (radios?.length ? combineLatest(radios.map((radio) => radio.disabled$)) : of([]))), map((checked) => checked.some((value) => value)))),
16
+ 'et-radio-field--disabled': toSignal(this.radioQueryList$.pipe(switchMap((radios) => (radios?.length ? combineLatest(radios.map((radio) => radio.disabled$)) : of([]))), map((disabled) => disabled.some((value) => value)))),
24
17
  });
25
18
  }
19
+ set radio(radio) {
20
+ this._radio$.next(radio);
21
+ }
26
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: RadioFieldDirective, isStandalone: true, providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }], queries: [{ propertyName: "_radio", predicate: i0.forwardRef(function () { return RADIO_TOKEN; }), descendants: true }], exportAs: ["etRadioField"], ngImport: i0 }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: RadioFieldDirective, isStandalone: true, providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }], queries: [{ propertyName: "radio", predicate: i0.forwardRef(function () { return RADIO_TOKEN; }), descendants: true }], exportAs: ["etRadioField"], ngImport: i0 }); }
28
24
  }
29
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RadioFieldDirective, decorators: [{
30
26
  type: Directive,
@@ -33,8 +29,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
33
29
  providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }],
34
30
  exportAs: 'etRadioField',
35
31
  }]
36
- }], propDecorators: { _radio: [{
32
+ }], propDecorators: { radio: [{
37
33
  type: ContentChildren,
38
34
  args: [forwardRef(() => RADIO_TOKEN), { descendants: true }]
39
35
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvcmFkaW8vZGlyZWN0aXZlcy9yYWRpby1maWVsZC9yYWRpby1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLFVBQVUsQ0FBQzs7QUFFdkQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQXNCLGdDQUFnQyxDQUFDLENBQUM7QUFPM0csTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1XLGVBQVUsR0FBRyxNQUFNLENBQWdDLGlCQUFpQixDQUFDLENBQUM7UUFFdEUsY0FBUyxHQUFHLHNCQUFzQixFQUFFLENBQUM7S0E4Qi9DO0lBekJDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixTQUFTLEVBQUUsK0JBQStCO1lBQzFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDL0QsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDbkIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDekcsRUFDRCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2pEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsU0FBUyxFQUFFLGdDQUFnQztZQUMzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQy9ELFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25CLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEyQixFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzFHLEVBQ0QsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNuRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBaENVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlDQUhuQixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLG9GQVEzQyxXQUFXOzsyRkFMbEMsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHFCQUFxQixFQUFFLENBQUM7b0JBQzdFLFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjs4QkFPUyxNQUFNO3NCQURiLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzLCBUeXBlZFF1ZXJ5TGlzdCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5wdXRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSYWRpb1ZhbHVlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUkFESU9fVE9LRU4sIFJhZGlvRGlyZWN0aXZlIH0gZnJvbSAnLi4vcmFkaW8nO1xuXG5leHBvcnQgY29uc3QgUkFESU9fRklFTERfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmFkaW9GaWVsZERpcmVjdGl2ZT4oJ0VUX1JBRElPX0ZJRUxEX0RJUkVDVElWRV9UT0tFTicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSQURJT19GSUVMRF9UT0tFTiwgdXNlRXhpc3Rpbmc6IFJhZGlvRmllbGREaXJlY3RpdmUgfV0sXG4gIGV4cG9ydEFzOiAnZXRSYWRpb0ZpZWxkJyxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9GaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICByZWFkb25seSBpbnB1dFN0YXRlID0gaW5qZWN0PElucHV0U3RhdGVTZXJ2aWNlPFJhZGlvVmFsdWU+PihJbnB1dFN0YXRlU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgX2JpbmRpbmdzID0gY3JlYXRlUmVhY3RpdmVCaW5kaW5ncygpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBSQURJT19UT0tFTiksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfcmFkaW8/OiBUeXBlZFF1ZXJ5TGlzdDxSYWRpb0RpcmVjdGl2ZT47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fcmFkaW8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9iaW5kaW5ncy5wdXNoKHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXJhZGlvLWZpZWxkLS1jaGVja2VkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX3JhZGlvLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fcmFkaW8pKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJhZGlvcykgPT5cbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHJhZGlvcy5maWx0ZXIoKHJhZGlvKTogcmFkaW8gaXMgUmFkaW9EaXJlY3RpdmUgPT4gISFyYWRpbykubWFwKChyYWRpbykgPT4gcmFkaW8uY2hlY2tlZCQpKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChjaGVja2VkKSA9PiBjaGVja2VkLnNvbWUoKHZhbHVlKSA9PiB2YWx1ZSkpLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIHRoaXMuX2JpbmRpbmdzLnB1c2goe1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtcmFkaW8tZmllbGQtLWRpc2FibGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX3JhZGlvLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fcmFkaW8pKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJhZGlvcykgPT5cbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHJhZGlvcy5maWx0ZXIoKHJhZGlvKTogcmFkaW8gaXMgUmFkaW9EaXJlY3RpdmUgPT4gISFyYWRpbykubWFwKChyYWRpbykgPT4gcmFkaW8uZGlzYWJsZWQkKSksXG4gICAgICAgICksXG4gICAgICAgIG1hcCgoZGlzYWJsZWQpID0+IGRpc2FibGVkLnNvbWUoKHZhbHVlKSA9PiB2YWx1ZSkpLFxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvcmFkaW8vZGlyZWN0aXZlcy9yYWRpby1maWVsZC9yYWRpby1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxVQUFVLENBQUM7O0FBRXZELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFzQixnQ0FBZ0MsQ0FBQyxDQUFDO0FBTzNHLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNVyxlQUFVLEdBQUcsTUFBTSxDQUFnQyxpQkFBaUIsQ0FBQyxDQUFDO1FBTXZFLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBd0MsSUFBSSxDQUFDLENBQUM7UUFFMUUsb0JBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFFOUQsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDN0MseUJBQXlCLEVBQUUsUUFBUSxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDeEcsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNqRCxDQUNGO1lBQ0QsMEJBQTBCLEVBQUUsUUFBUSxDQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDeEcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNuRCxDQUNGO1NBQ0YsQ0FBQyxDQUFDO0tBQ0o7SUF0QkMsSUFDSSxLQUFLLENBQUMsS0FBcUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs4R0FOVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixpQ0FIbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxtRkFNM0MsV0FBVzs7MkZBSGxDLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxDQUFDO29CQUM3RSxRQUFRLEVBQUUsY0FBYztpQkFDekI7OEJBS0ssS0FBSztzQkFEUixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBzaWduYWxIb3N0Q2xhc3Nlcywgc3dpdGNoUXVlcnlMaXN0Q2hhbmdlcywgVHlwZWRRdWVyeUxpc3QgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFJhZGlvVmFsdWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBSQURJT19UT0tFTiwgUmFkaW9EaXJlY3RpdmUgfSBmcm9tICcuLi9yYWRpbyc7XG5cbmV4cG9ydCBjb25zdCBSQURJT19GSUVMRF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSYWRpb0ZpZWxkRGlyZWN0aXZlPignRVRfUkFESU9fRklFTERfRElSRUNUSVZFX1RPS0VOJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJBRElPX0ZJRUxEX1RPS0VOLCB1c2VFeGlzdGluZzogUmFkaW9GaWVsZERpcmVjdGl2ZSB9XSxcbiAgZXhwb3J0QXM6ICdldFJhZGlvRmllbGQnLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0ZpZWxkRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgaW5wdXRTdGF0ZSA9IGluamVjdDxJbnB1dFN0YXRlU2VydmljZTxSYWRpb1ZhbHVlPj4oSW5wdXRTdGF0ZVNlcnZpY2UpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBSQURJT19UT0tFTiksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgc2V0IHJhZGlvKHJhZGlvOiBUeXBlZFF1ZXJ5TGlzdDxSYWRpb0RpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLl9yYWRpbyQubmV4dChyYWRpbyk7XG4gIH1cbiAgcHJpdmF0ZSBfcmFkaW8kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUeXBlZFF1ZXJ5TGlzdDxSYWRpb0RpcmVjdGl2ZT4gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSByYWRpb1F1ZXJ5TGlzdCQgPSB0aGlzLl9yYWRpbyQucGlwZShzd2l0Y2hRdWVyeUxpc3RDaGFuZ2VzKCkpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1yYWRpby1maWVsZC0tY2hlY2tlZCc6IHRvU2lnbmFsKFxuICAgICAgdGhpcy5yYWRpb1F1ZXJ5TGlzdCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChyYWRpb3MpID0+IChyYWRpb3M/Lmxlbmd0aCA/IGNvbWJpbmVMYXRlc3QocmFkaW9zLm1hcCgocmFkaW8pID0+IHJhZGlvLmRpc2FibGVkJCkpIDogb2YoW10pKSksXG4gICAgICAgIG1hcCgoY2hlY2tlZCkgPT4gY2hlY2tlZC5zb21lKCh2YWx1ZSkgPT4gdmFsdWUpKSxcbiAgICAgICksXG4gICAgKSxcbiAgICAnZXQtcmFkaW8tZmllbGQtLWRpc2FibGVkJzogdG9TaWduYWwoXG4gICAgICB0aGlzLnJhZGlvUXVlcnlMaXN0JC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJhZGlvcykgPT4gKHJhZGlvcz8ubGVuZ3RoID8gY29tYmluZUxhdGVzdChyYWRpb3MubWFwKChyYWRpbykgPT4gcmFkaW8uZGlzYWJsZWQkKSkgOiBvZihbXSkpKSxcbiAgICAgICAgbWFwKChkaXNhYmxlZCkgPT4gZGlzYWJsZWQuc29tZSgodmFsdWUpID0+IHZhbHVlKSksXG4gICAgICApLFxuICAgICksXG4gIH0pO1xufVxuIl19