@radix-ng/primitives 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +2 -1
  2. package/compodoc/documentation.json +410 -495
  3. package/esm2022/accordion/src/accordion-root.directive.mjs +14 -2
  4. package/esm2022/avatar/src/avatar-fallback.directive.mjs +9 -7
  5. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +5 -3
  6. package/esm2022/radio/src/radio-root.directive.mjs +6 -6
  7. package/esm2022/switch/src/switch-root.directive.mjs +19 -39
  8. package/esm2022/toggle/src/toggle.directive.mjs +21 -11
  9. package/esm2022/toggle-group/index.mjs +4 -4
  10. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +84 -0
  11. package/esm2022/toggle-group/src/toggle-group-item.token.mjs +3 -0
  12. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +185 -0
  13. package/esm2022/toggle-group/src/toggle-group.directive.mjs +51 -6
  14. package/esm2022/toggle-group/src/toggle-group.token.mjs +1 -1
  15. package/fesm2022/radix-ng-primitives-accordion.mjs +13 -1
  16. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  17. package/fesm2022/radix-ng-primitives-avatar.mjs +7 -5
  18. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +4 -2
  20. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  21. package/fesm2022/radix-ng-primitives-radio.mjs +5 -5
  22. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-switch.mjs +18 -38
  24. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-toggle-group.mjs +127 -35
  26. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-toggle.mjs +20 -10
  28. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  29. package/package.json +1 -1
  30. package/radio/src/radio-root.directive.d.ts +2 -2
  31. package/switch/src/switch-root.directive.d.ts +12 -24
  32. package/toggle/src/toggle.directive.d.ts +24 -7
  33. package/toggle-group/index.d.ts +3 -3
  34. package/toggle-group/src/{toggle-group-button.directive.d.ts → toggle-group-item.directive.d.ts} +10 -4
  35. package/toggle-group/src/toggle-group-item.token.d.ts +3 -0
  36. package/toggle-group/src/{toggle-group-multi.directive.d.ts → toggle-group-multiple.directive.d.ts} +11 -5
  37. package/toggle-group/src/toggle-group.directive.d.ts +9 -3
  38. package/toggle-group/src/toggle-group.token.d.ts +3 -3
  39. package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +0 -75
  40. package/esm2022/toggle-group/src/toggle-group-button.token.mjs +0 -6
  41. package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +0 -143
  42. package/toggle-group/src/toggle-group-button.token.d.ts +0 -4
@@ -0,0 +1,84 @@
1
+ import { booleanAttribute, Directive, ElementRef, inject, Input } from '@angular/core';
2
+ import { RdxToggleGroupItemToken } from './toggle-group-item.token';
3
+ import { injectToggleGroup } from './toggle-group.token';
4
+ import * as i0 from "@angular/core";
5
+ export class RdxToggleGroupItemDirective {
6
+ constructor() {
7
+ /**
8
+ * Access the toggle group.
9
+ * @ignore
10
+ */
11
+ this.toggleGroup = injectToggleGroup();
12
+ this.elementRef = inject(ElementRef);
13
+ /**
14
+ * Whether this toggle button is disabled.
15
+ * @default false
16
+ */
17
+ this.disabled = false;
18
+ }
19
+ /**
20
+ * Whether this toggle button is checked.
21
+ */
22
+ get checked() {
23
+ return this.toggleGroup.isSelected(this.value);
24
+ }
25
+ /**
26
+ * @ignore
27
+ */
28
+ ngOnChanges(changes) {
29
+ if ('disabled' in changes) {
30
+ // TODO
31
+ }
32
+ }
33
+ /**
34
+ * @ignore
35
+ */
36
+ focus() {
37
+ this.elementRef.nativeElement.focus();
38
+ }
39
+ /**
40
+ * @ignore
41
+ */
42
+ toggle() {
43
+ if (this.disabled) {
44
+ return;
45
+ }
46
+ this.toggleGroup.toggle(this.value);
47
+ }
48
+ /**
49
+ * Ensure the disabled state is propagated to the roving focus item.
50
+ * @internal
51
+ * @ignore
52
+ */
53
+ updateDisabled() {
54
+ // TODO
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxToggleGroupItemDirective, isStandalone: true, selector: "[rdxToggleGroupItem]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "radio" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-checked": "checked", "attr.aria-disabled": "disabled || toggleGroup.disabled", "attr.aria-pressed": "undefined", "attr.data-disabled": "disabled || toggleGroup.disabled", "attr.data-state": "checked ? \"on\" : \"off\"", "attr.data-orientation": "toggleGroup.orientation" } }, providers: [{ provide: RdxToggleGroupItemToken, useExisting: RdxToggleGroupItemDirective }], exportAs: ["rdxToggleGroupItem"], usesOnChanges: true, ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupItemDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[rdxToggleGroupItem]',
63
+ exportAs: 'rdxToggleGroupItem',
64
+ standalone: true,
65
+ providers: [{ provide: RdxToggleGroupItemToken, useExisting: RdxToggleGroupItemDirective }],
66
+ host: {
67
+ role: 'radio',
68
+ '[attr.aria-checked]': 'checked',
69
+ '[attr.aria-disabled]': 'disabled || toggleGroup.disabled',
70
+ '[attr.aria-pressed]': 'undefined',
71
+ '[attr.data-disabled]': 'disabled || toggleGroup.disabled',
72
+ '[attr.data-state]': 'checked ? "on" : "off"',
73
+ '[attr.data-orientation]': 'toggleGroup.orientation',
74
+ '(click)': 'toggle()'
75
+ }
76
+ }]
77
+ }], propDecorators: { value: [{
78
+ type: Input,
79
+ args: [{ required: true }]
80
+ }], disabled: [{
81
+ type: Input,
82
+ args: [{ transform: booleanAttribute }]
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUtZ3JvdXAvc3JjL3RvZ2dsZS1ncm91cC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFvQnpELE1BQU0sT0FBTywyQkFBMkI7SUFsQnhDO1FBbUJJOzs7V0FHRztRQUNnQixnQkFBVyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQU1qRDs7O1dBR0c7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztLQTRDNUQ7SUExQ0c7O09BRUc7SUFDSCxJQUFjLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksVUFBVSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWM7UUFDVixPQUFPO0lBQ1gsQ0FBQzs4R0E1RFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIscUhBaUJoQixnQkFBZ0IsMFlBL0J6QixDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDOzsyRkFjbEYsMkJBQTJCO2tCQWxCdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDO29CQUMzRixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMsc0JBQXNCLEVBQUUsa0NBQWtDO3dCQUMxRCxxQkFBcUIsRUFBRSxXQUFXO3dCQUVsQyxzQkFBc0IsRUFBRSxrQ0FBa0M7d0JBQzFELG1CQUFtQixFQUFFLHdCQUF3Qjt3QkFDN0MseUJBQXlCLEVBQUUseUJBQXlCO3dCQUVwRCxTQUFTLEVBQUUsVUFBVTtxQkFDeEI7aUJBQ0o7OEJBWThCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU1lLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBJdGVtVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1pdGVtLnRva2VuJztcbmltcG9ydCB7IGluamVjdFRvZ2dsZUdyb3VwIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb2dnbGVHcm91cEl0ZW1dJyxcbiAgICBleHBvcnRBczogJ3JkeFRvZ2dsZUdyb3VwSXRlbScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJkeFRvZ2dsZUdyb3VwSXRlbVRva2VuLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBJdGVtRGlyZWN0aXZlIH1dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ3JhZGlvJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtY2hlY2tlZF0nOiAnY2hlY2tlZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCB0b2dnbGVHcm91cC5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLXByZXNzZWRdJzogJ3VuZGVmaW5lZCcsXG5cbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IHRvZ2dsZUdyb3VwLmRpc2FibGVkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2NoZWNrZWQgPyBcIm9uXCIgOiBcIm9mZlwiJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ3RvZ2dsZUdyb3VwLm9yaWVudGF0aW9uJyxcblxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZUdyb3VwSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIHRvZ2dsZSBncm91cC5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvZ2dsZUdyb3VwID0gaW5qZWN0VG9nZ2xlR3JvdXAoKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhpcyB0b2dnbGUgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHZhbHVlITogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGlzIHRvZ2dsZSBidXR0b24gaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyB0b2dnbGUgYnV0dG9uIGlzIGNoZWNrZWQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2dnbGVHcm91cC5pc1NlbGVjdGVkKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICgnZGlzYWJsZWQnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2dnbGVHcm91cC50b2dnbGUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5zdXJlIHRoZSBkaXNhYmxlZCBzdGF0ZSBpcyBwcm9wYWdhdGVkIHRvIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdXBkYXRlRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE9cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const RdxToggleGroupItemToken = new InjectionToken('RdxToggleGroupItemToken');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLWl0ZW0udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS1ncm91cC9zcmMvdG9nZ2xlLWdyb3VwLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBOEIseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJkeFRvZ2dsZUdyb3VwSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFJkeFRvZ2dsZUdyb3VwSXRlbVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFRvZ2dsZUdyb3VwSXRlbURpcmVjdGl2ZT4oJ1JkeFRvZ2dsZUdyb3VwSXRlbVRva2VuJyk7XG4iXX0=
@@ -0,0 +1,185 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { booleanAttribute, ContentChildren, Directive, EventEmitter, Input, QueryList } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { RdxToggleGroupItemToken } from './toggle-group-item.token';
5
+ import { RdxToggleGroupToken } from './toggle-group.token';
6
+ import * as i0 from "@angular/core";
7
+ export class RdxToggleGroupMultipleDirective {
8
+ constructor() {
9
+ /**
10
+ * The selected toggle button.
11
+ */
12
+ this.value = [];
13
+ /**
14
+ * The orientation of the toggle group.
15
+ * @default 'horizontal'
16
+ */
17
+ this.orientation = 'horizontal';
18
+ /**
19
+ * Whether the toggle group is disabled.
20
+ * @default false
21
+ */
22
+ this.disabled = false;
23
+ /**
24
+ * Whether the toggle group roving focus should wrap.
25
+ * @default true
26
+ */
27
+ this.wrap = true;
28
+ /**
29
+ * Event emitted when the selected toggle button changes.
30
+ */
31
+ this.valueChange = new EventEmitter();
32
+ }
33
+ /**
34
+ * @ignore
35
+ */
36
+ ngOnChanges(changes) {
37
+ if ('disabled' in changes) {
38
+ this.buttons?.forEach((button) => button.updateDisabled());
39
+ }
40
+ }
41
+ /**
42
+ * @ignore
43
+ */
44
+ ngAfterContentInit() {
45
+ if (this.disabled) {
46
+ this.buttons?.forEach((button) => button.updateDisabled());
47
+ }
48
+ if (this.buttons) {
49
+ this.keyManager = new FocusKeyManager(this.buttons).withWrap();
50
+ }
51
+ }
52
+ onFocusIn() {
53
+ if (!this.keyManager.activeItem) {
54
+ this.keyManager.setFirstItemActive();
55
+ }
56
+ }
57
+ handleKeydown(event) {
58
+ switch (event.key) {
59
+ case 'ArrowRight':
60
+ case 'ArrowDown':
61
+ this.keyManager.setNextItemActive();
62
+ event.preventDefault();
63
+ break;
64
+ case 'ArrowLeft':
65
+ case 'ArrowUp':
66
+ this.keyManager.setPreviousItemActive();
67
+ event.preventDefault();
68
+ break;
69
+ case 'Home':
70
+ this.keyManager.setFirstItemActive();
71
+ event.preventDefault();
72
+ break;
73
+ case 'End':
74
+ this.keyManager.setLastItemActive();
75
+ event.preventDefault();
76
+ break;
77
+ case 'Enter':
78
+ case ' ':
79
+ // eslint-disable-next-line no-case-declarations
80
+ const activeItem = this.keyManager.activeItem;
81
+ if (activeItem) {
82
+ activeItem.toggle();
83
+ }
84
+ event.preventDefault();
85
+ break;
86
+ default:
87
+ break;
88
+ }
89
+ }
90
+ /**
91
+ * Determine if a value is selected.
92
+ * @param value The value to check.
93
+ * @returns Whether the value is selected.
94
+ * @ignore
95
+ */
96
+ isSelected(value) {
97
+ return this.value.includes(value);
98
+ }
99
+ /**
100
+ * Toggle a value.
101
+ * @param value The value to toggle.
102
+ * @ignore
103
+ */
104
+ toggle(value) {
105
+ if (this.disabled) {
106
+ return;
107
+ }
108
+ this.value = this.value.includes(value) ? this.value.filter((v) => v !== value) : [...this.value, value];
109
+ this.valueChange.emit(this.value);
110
+ this.onChange?.(this.value);
111
+ }
112
+ /**
113
+ * Select a value from Angular forms.
114
+ * @param value The value to select.
115
+ * @ignore
116
+ */
117
+ writeValue(value) {
118
+ this.value = value;
119
+ }
120
+ /**
121
+ * Register a callback to be called when the value changes.
122
+ * @param fn The callback to register.
123
+ * @ignore
124
+ */
125
+ registerOnChange(fn) {
126
+ this.onChange = fn;
127
+ }
128
+ /**
129
+ * Register a callback to be called when the toggle group is touched.
130
+ * @param fn The callback to register.
131
+ * @ignore
132
+ */
133
+ registerOnTouched(fn) {
134
+ this.onTouched = fn;
135
+ }
136
+ /**
137
+ * Set the disabled state of the toggle group.
138
+ * @param isDisabled Whether the toggle group is disabled.
139
+ * @ignore
140
+ */
141
+ setDisabledState(isDisabled) {
142
+ this.disabled = isDisabled;
143
+ this.buttons?.forEach((button) => button.updateDisabled());
144
+ }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupMultipleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxToggleGroupMultipleDirective, isStandalone: true, selector: "[rdxToggleGroupMultiple]", inputs: { value: "value", orientation: "orientation", disabled: ["disabled", "disabled", booleanAttribute], wrap: ["wrap", "wrap", booleanAttribute], valueChange: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "keydown": "handleKeydown($event)", "focusin": "onFocusIn()", "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
147
+ { provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultipleDirective },
148
+ { provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultipleDirective, multi: true }
149
+ ], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupItemToken }], exportAs: ["rdxToggleGroupMultiple"], usesOnChanges: true, ngImport: i0 }); }
150
+ }
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupMultipleDirective, decorators: [{
152
+ type: Directive,
153
+ args: [{
154
+ selector: '[rdxToggleGroupMultiple]',
155
+ exportAs: 'rdxToggleGroupMultiple',
156
+ standalone: true,
157
+ providers: [
158
+ { provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultipleDirective },
159
+ { provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultipleDirective, multi: true }
160
+ ],
161
+ host: {
162
+ role: 'group',
163
+ '[attr.data-orientation]': 'orientation',
164
+ '(keydown)': 'handleKeydown($event)',
165
+ '(focusin)': 'onFocusIn()',
166
+ '(focusout)': 'onTouched?.()'
167
+ }
168
+ }]
169
+ }], propDecorators: { value: [{
170
+ type: Input
171
+ }], orientation: [{
172
+ type: Input
173
+ }], disabled: [{
174
+ type: Input,
175
+ args: [{ transform: booleanAttribute }]
176
+ }], wrap: [{
177
+ type: Input,
178
+ args: [{ transform: booleanAttribute }]
179
+ }], valueChange: [{
180
+ type: Input
181
+ }], buttons: [{
182
+ type: ContentChildren,
183
+ args: [RdxToggleGroupItemToken]
184
+ }] } });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLW11bHRpcGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAtbXVsdGlwbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW1CM0QsTUFBTSxPQUFPLCtCQUErQjtJQWpCNUM7UUFrQkk7O1dBRUc7UUFDTSxVQUFLLEdBQTBCLEVBQUUsQ0FBQztRQUUzQzs7O1dBR0c7UUFDTSxnQkFBVyxHQUE4QixZQUFZLENBQUM7UUFFL0Q7OztXQUdHO1FBQ3FDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFekQ7OztXQUdHO1FBQ3FDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFcEQ7O1dBRUc7UUFDZSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0tBc0o3RTtJQTVIRzs7T0FFRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLFVBQVUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7SUFFRDs7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QixZQUFZLEVBQUUsZUFBZTtxQkFDaEM7aUJBQ0o7OEJBS1ksS0FBSztzQkFBYixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTWtDLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUUsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLcEIsV0FBVztzQkFBNUIsS0FBSztnQkFPSSxPQUFPO3NCQURoQixlQUFlO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBJdGVtVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1pdGVtLnRva2VuJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRvZ2dsZUdyb3VwTXVsdGlwbGVdJyxcbiAgICBleHBvcnRBczogJ3JkeFRvZ2dsZUdyb3VwTXVsdGlwbGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmR4VG9nZ2xlR3JvdXBUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwTXVsdGlwbGVEaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwTXVsdGlwbGVEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2dyb3VwJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uJyxcblxuICAgICAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnb25Gb2N1c0luKCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdvblRvdWNoZWQ/LigpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9nZ2xlR3JvdXBNdWx0aXBsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBzZWxlY3RlZCB0b2dnbGUgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbHVlOiBSZWFkb25seUFycmF5PHN0cmluZz4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9nZ2xlIGdyb3VwIGlzIGRpc2FibGVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgcm92aW5nIGZvY3VzIHNob3VsZCB3cmFwLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgd3JhcCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIHRvZ2dsZSBidXR0b24gY2hhbmdlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhZG9ubHlBcnJheTxzdHJpbmc+PigpO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBidXR0b25zIGluIHRoZSB0b2dnbGUgZ3JvdXAuXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUmR4VG9nZ2xlR3JvdXBJdGVtVG9rZW4pXG4gICAgcHJvdGVjdGVkIGJ1dHRvbnM/OiBRdWVyeUxpc3Q8UmR4VG9nZ2xlR3JvdXBJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKlxuICAgICAqIEZvY3VzS2V5TWFuYWdlciB0byBtYW5hZ2Uga2V5Ym9hcmQgaW50ZXJhY3Rpb25zLlxuICAgICAqL1xuICAgIHByaXZhdGUga2V5TWFuYWdlciE6IEZvY3VzS2V5TWFuYWdlcjxSZHhUb2dnbGVHcm91cEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogUmVhZG9ubHlBcnJheTxzdHJpbmc+KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogb25Ub3VjaCBmdW5jdGlvbiByZWdpc3RlcmVkIHZpYSByZWdpc3Rlck9uVG91Y2ggKENvbnRyb2xWYWx1ZUFjY2Vzc29yKS5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiBidXR0b24udXBkYXRlRGlzYWJsZWQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5idXR0b25zKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHRoaXMuYnV0dG9ucykud2l0aFdyYXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzSW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldE5leHRJdGVtQWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0UHJldmlvdXNJdGVtQWN0aXZlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlSXRlbSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUl0ZW0udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgc2VsZWN0ZWQuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBzZWxlY3RlZC5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgaXNTZWxlY3RlZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmluY2x1ZGVzKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgYSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHRvZ2dsZS5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdG9nZ2xlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmluY2x1ZGVzKHZhbHVlKSA/IHRoaXMudmFsdWUuZmlsdGVyKCh2KSA9PiB2ICE9PSB2YWx1ZSkgOiBbLi4udGhpcy52YWx1ZSwgdmFsdWVdO1xuXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZT8uKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCBhIHZhbHVlIGZyb20gQW5ndWxhciBmb3Jtcy5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlbGVjdC5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogUmVhZG9ubHlBcnJheTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgdG8gcmVnaXN0ZXIuXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogUmVhZG9ubHlBcnJheTxzdHJpbmc+KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0b2dnbGUgZ3JvdXAgaXMgdG91Y2hlZC5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZSBncm91cC5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgaXMgZGlzYWJsZWQuXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5idXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IGJ1dHRvbi51cGRhdGVEaXNhYmxlZCgpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
1
2
  import { booleanAttribute, ContentChildren, Directive, EventEmitter, Input, QueryList } from '@angular/core';
2
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { RdxToggleGroupButtonToken } from './toggle-group-button.token';
4
+ import { RdxToggleGroupItemToken } from './toggle-group-item.token';
4
5
  import { RdxToggleGroupToken } from './toggle-group.token';
5
6
  import * as i0 from "@angular/core";
6
7
  export class RdxToggleGroupDirective {
@@ -38,6 +39,47 @@ export class RdxToggleGroupDirective {
38
39
  if (this.disabled) {
39
40
  this.buttons?.forEach((button) => button.updateDisabled());
40
41
  }
42
+ if (this.buttons) {
43
+ this.keyManager = new FocusKeyManager(this.buttons).withWrap();
44
+ }
45
+ }
46
+ onFocusIn() {
47
+ if (!this.keyManager.activeItem) {
48
+ this.keyManager.setFirstItemActive();
49
+ }
50
+ }
51
+ handleKeydown(event) {
52
+ switch (event.key) {
53
+ case 'ArrowRight':
54
+ case 'ArrowDown':
55
+ this.keyManager.setNextItemActive();
56
+ event.preventDefault();
57
+ break;
58
+ case 'ArrowLeft':
59
+ case 'ArrowUp':
60
+ this.keyManager.setPreviousItemActive();
61
+ event.preventDefault();
62
+ break;
63
+ case 'Home':
64
+ this.keyManager.setFirstItemActive();
65
+ event.preventDefault();
66
+ break;
67
+ case 'End':
68
+ this.keyManager.setLastItemActive();
69
+ event.preventDefault();
70
+ break;
71
+ case 'Enter':
72
+ case ' ':
73
+ // eslint-disable-next-line no-case-declarations
74
+ const activeItem = this.keyManager.activeItem;
75
+ if (activeItem) {
76
+ activeItem.toggle();
77
+ }
78
+ event.preventDefault();
79
+ break;
80
+ default:
81
+ break;
82
+ }
41
83
  }
42
84
  /**
43
85
  * Determine if a value is selected.
@@ -95,15 +137,16 @@ export class RdxToggleGroupDirective {
95
137
  this.buttons?.forEach((button) => button.updateDisabled());
96
138
  }
97
139
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxToggleGroupDirective, isStandalone: true, selector: "[rdxToggleGroup]", inputs: { value: "value", orientation: "orientation", disabled: ["disabled", "disabled", booleanAttribute], wrap: ["wrap", "wrap", booleanAttribute], valueChange: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
140
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxToggleGroupDirective, isStandalone: true, selector: "[rdxToggleGroup]", inputs: { value: "value", orientation: "orientation", disabled: ["disabled", "disabled", booleanAttribute], wrap: ["wrap", "wrap", booleanAttribute], valueChange: "valueChange" }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onTouched?.()", "focusin": "onFocusIn()", "keydown": "handleKeydown($event)" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
99
141
  { provide: RdxToggleGroupToken, useExisting: RdxToggleGroupDirective },
100
142
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupDirective, multi: true }
101
- ], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupButtonToken }], usesOnChanges: true, ngImport: i0 }); }
143
+ ], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupItemToken }], exportAs: ["rdxToggleGroup"], usesOnChanges: true, ngImport: i0 }); }
102
144
  }
103
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupDirective, decorators: [{
104
146
  type: Directive,
105
147
  args: [{
106
148
  selector: '[rdxToggleGroup]',
149
+ exportAs: 'rdxToggleGroup',
107
150
  standalone: true,
108
151
  providers: [
109
152
  { provide: RdxToggleGroupToken, useExisting: RdxToggleGroupDirective },
@@ -112,7 +155,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
112
155
  host: {
113
156
  role: 'group',
114
157
  '[attr.data-orientation]': 'orientation',
115
- '(focusout)': 'onTouched?.()'
158
+ '(focusout)': 'onTouched?.()',
159
+ '(focusin)': 'onFocusIn()',
160
+ '(keydown)': 'handleKeydown($event)'
116
161
  }
117
162
  }]
118
163
  }], propDecorators: { value: [{
@@ -129,6 +174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
129
174
  type: Input
130
175
  }], buttons: [{
131
176
  type: ContentChildren,
132
- args: [RdxToggleGroupButtonToken]
177
+ args: [RdxToggleGroupItemToken]
133
178
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZTNELE1BQU0sT0FBTyx1QkFBdUI7SUFicEM7UUFjSTs7V0FFRztRQUNNLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBRXJDOzs7V0FHRztRQUNNLGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUUvRDs7O1dBR0c7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUV6RDs7O1dBR0c7UUFDcUMsU0FBSSxHQUFHLElBQUksQ0FBQztRQUVwRDs7V0FFRztRQUNlLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0EyRnJFO0lBekVHLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLFVBQVUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxFQUFrQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs4R0FySFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNklBZ0JaLGdCQUFnQiwwQkFNaEIsZ0JBQWdCLDJMQWhDekI7WUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7WUFDdEUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDcEYsa0RBdUNnQix5QkFBeUI7OzJGQWhDakMsdUJBQXVCO2tCQWJuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTt3QkFDdEUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUNwRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IseUJBQXlCLEVBQUUsYUFBYTt3QkFDeEMsWUFBWSxFQUFFLGVBQWU7cUJBQ2hDO2lCQUNKOzhCQUtZLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1rQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU1FLElBQUk7c0JBQTNDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3BCLFdBQVc7c0JBQTVCLEtBQUs7Z0JBTUksT0FBTztzQkFEaEIsZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IFJkeFRvZ2dsZUdyb3VwQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAtYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhUb2dnbGVHcm91cEJ1dHRvblRva2VuIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAtYnV0dG9uLnRva2VuJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRvZ2dsZUdyb3VwXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBSZHhUb2dnbGVHcm91cFRva2VuLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBEaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdncm91cCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbicsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ29uVG91Y2hlZD8uKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUb2dnbGVHcm91cERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBzZWxlY3RlZCB0b2dnbGUgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9nZ2xlIGdyb3VwIGlzIGRpc2FibGVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgcm92aW5nIGZvY3VzIHNob3VsZCB3cmFwLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgd3JhcCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIHRvZ2dsZSBidXR0b24gY2hhbmdlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgYnV0dG9ucyBpbiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUmR4VG9nZ2xlR3JvdXBCdXR0b25Ub2tlbilcbiAgICBwcm90ZWN0ZWQgYnV0dG9ucz86IFF1ZXJ5TGlzdDxSZHhUb2dnbGVHcm91cEJ1dHRvbkRpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgY2hhbmdlIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBvblRvdWNoIGZ1bmN0aW9uIHJlZ2lzdGVyZWQgdmlhIHJlZ2lzdGVyT25Ub3VjaCAoQ29udHJvbFZhbHVlQWNjZXNzb3IpLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IGJ1dHRvbi51cGRhdGVEaXNhYmxlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMgV2hldGhlciB0aGUgdmFsdWUgaXMgc2VsZWN0ZWQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgaXNTZWxlY3RlZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgYSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHRvZ2dsZS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICB0b2dnbGUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPT09IHZhbHVlID8gbnVsbCA6IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2U/Lih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYSB2YWx1ZSBmcm9tIEFuZ3VsYXIgZm9ybXMuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzZWxlY3QuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgdG8gcmVnaXN0ZXIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0b2dnbGUgZ3JvdXAgaXMgdG91Y2hlZC5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIFdoZXRoZXIgdGhlIHRvZ2dsZSBncm91cCBpcyBkaXNhYmxlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiBidXR0b24udXBkYXRlRGlzYWJsZWQoKSk7XG4gICAgfVxufVxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW1CM0QsTUFBTSxPQUFPLHVCQUF1QjtJQWpCcEM7UUFrQkk7O1dBRUc7UUFDTSxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUVyQzs7O1dBR0c7UUFDTSxnQkFBVyxHQUE4QixZQUFZLENBQUM7UUFFL0Q7OztXQUdHO1FBQ3FDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFekQ7OztXQUdHO1FBQ3FDLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFcEQ7O1dBRUc7UUFDZSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0tBNElyRTtJQXJIRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFB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QkFBZ0IsRUFBRTtnQkFLcEIsV0FBVztzQkFBNUIsS0FBSztnQkFNSSxPQUFPO3NCQURoQixlQUFlO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBJdGVtVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1pdGVtLnRva2VuJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRvZ2dsZUdyb3VwXScsXG4gICAgZXhwb3J0QXM6ICdyZHhUb2dnbGVHcm91cCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBSZHhUb2dnbGVHcm91cFRva2VuLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBEaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdncm91cCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbicsXG5cbiAgICAgICAgJyhmb2N1c291dCknOiAnb25Ub3VjaGVkPy4oKScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnb25Gb2N1c0luKCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogVGhlIHNlbGVjdGVkIHRvZ2dsZSBidXR0b24uXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9yaWVudGF0aW9uIG9mIHRoZSB0b2dnbGUgZ3JvdXAuXG4gICAgICogQGRlZmF1bHQgJ2hvcml6b250YWwnXG4gICAgICovXG4gICAgQElucHV0KCkgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRvZ2dsZSBncm91cCByb3ZpbmcgZm9jdXMgc2hvdWxkIHdyYXAuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3cmFwID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdG9nZ2xlIGJ1dHRvbiBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBidXR0b25zIGluIHRoZSB0b2dnbGUgZ3JvdXAuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihSZHhUb2dnbGVHcm91cEl0ZW1Ub2tlbilcbiAgICBwcm90ZWN0ZWQgYnV0dG9ucz86IFF1ZXJ5TGlzdDxSZHhUb2dnbGVHcm91cEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogRm9jdXNLZXlNYW5hZ2VyIHRvIG1hbmFnZSBrZXlib2FyZCBpbnRlcmFjdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBrZXlNYW5hZ2VyITogRm9jdXNLZXlNYW5hZ2VyPFJkeFRvZ2dsZUdyb3VwSXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgY2hhbmdlIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBvblRvdWNoIGZ1bmN0aW9uIHJlZ2lzdGVyZWQgdmlhIHJlZ2lzdGVyT25Ub3VjaCAoQ29udHJvbFZhbHVlQWNjZXNzb3IpLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IGJ1dHRvbi51cGRhdGVEaXNhYmxlZCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmJ1dHRvbnMpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5idXR0b25zKS53aXRoV3JhcCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNJbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFbmQnOlxuICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRMYXN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY2FzZS1kZWNsYXJhdGlvbnNcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVJdGVtID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW07XG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlSXRlbS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBzZWxlY3RlZC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIGlzU2VsZWN0ZWQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIGEgdmFsdWUuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB0b2dnbGUuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgdG9nZ2xlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlID09PSB2YWx1ZSA/IG51bGwgOiB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlPy4odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGEgdmFsdWUgZnJvbSBBbmd1bGFyIGZvcm1zLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VsZWN0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdG9nZ2xlIGdyb3VwIGlzIHRvdWNoZWQuXG4gICAgICogQHBhcmFtIGZuIFRoZSBjYWxsYmFjayB0byByZWdpc3Rlci5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZSBncm91cC5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgaXMgZGlzYWJsZWQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -3,4 +3,4 @@ export const RdxToggleGroupToken = new InjectionToken('RdxToggleGroupToken');
3
3
  export function injectToggleGroup() {
4
4
  return inject(RdxToggleGroupToken);
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUtZ3JvdXAvc3JjL3RvZ2dsZS1ncm91cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQscUJBQXFCLENBQ3hCLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBNdWx0aURpcmVjdGl2ZSB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLW11bHRpLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7IFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFJkeFRvZ2dsZUdyb3VwVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4VG9nZ2xlR3JvdXBEaXJlY3RpdmUgfCBSZHhUb2dnbGVHcm91cE11bHRpRGlyZWN0aXZlPihcbiAgICAnUmR4VG9nZ2xlR3JvdXBUb2tlbidcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RUb2dnbGVHcm91cCgpOiBSZHhUb2dnbGVHcm91cERpcmVjdGl2ZSB8IFJkeFRvZ2dsZUdyb3VwTXVsdGlEaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUmR4VG9nZ2xlR3JvdXBUb2tlbik7XG59XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUtZ3JvdXAvc3JjL3RvZ2dsZS1ncm91cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQscUJBQXFCLENBQ3hCLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBNdWx0aXBsZURpcmVjdGl2ZSB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLW11bHRpcGxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7IFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFJkeFRvZ2dsZUdyb3VwVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4VG9nZ2xlR3JvdXBEaXJlY3RpdmUgfCBSZHhUb2dnbGVHcm91cE11bHRpcGxlRGlyZWN0aXZlPihcbiAgICAnUmR4VG9nZ2xlR3JvdXBUb2tlbidcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RUb2dnbGVHcm91cCgpOiBSZHhUb2dnbGVHcm91cERpcmVjdGl2ZSB8IFJkeFRvZ2dsZUdyb3VwTXVsdGlwbGVEaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUmR4VG9nZ2xlR3JvdXBUb2tlbik7XG59XG4iXX0=
@@ -4,7 +4,7 @@ import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
4
4
  import { Subject, merge, Subscription } from 'rxjs';
5
5
  import { FocusKeyManager } from '@angular/cdk/a11y';
6
6
  import { Directionality } from '@angular/cdk/bidi';
7
- import { ENTER, SPACE } from '@angular/cdk/keycodes';
7
+ import { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';
8
8
 
9
9
  const RdxAccordionRootToken = new InjectionToken('RdxAccordionRootDirective');
10
10
  let nextId$1 = 0;
@@ -106,6 +106,18 @@ class RdxAccordionRootDirective {
106
106
  event.preventDefault();
107
107
  activeItem.toggle();
108
108
  }
109
+ else if (event.keyCode === TAB && event.shiftKey) {
110
+ if (this.keyManager.activeItemIndex === 0)
111
+ return;
112
+ this.keyManager.setPreviousItemActive();
113
+ event.preventDefault();
114
+ }
115
+ else if (event.keyCode === TAB) {
116
+ if (this.keyManager.activeItemIndex === this.items.length - 1)
117
+ return;
118
+ this.keyManager.setNextItemActive();
119
+ event.preventDefault();
120
+ }
109
121
  else {
110
122
  this.keyManager.onKeydown(event);
111
123
  }