@radix-ng/primitives 0.10.0 → 0.11.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 (106) hide show
  1. package/accordion/src/accordion-content.directive.d.ts +12 -60
  2. package/accordion/src/accordion-header.directive.d.ts +2 -18
  3. package/accordion/src/accordion-item.directive.d.ts +52 -26
  4. package/accordion/src/accordion-root.directive.d.ts +41 -20
  5. package/accordion/src/accordion-trigger.directive.d.ts +6 -22
  6. package/collapsible/src/collapsible-content.directive.d.ts +8 -2
  7. package/collapsible/src/collapsible-content.token.d.ts +3 -0
  8. package/collapsible/src/collapsible-root.directive.d.ts +7 -4
  9. package/compodoc/documentation.json +11395 -0
  10. package/esm2022/accordion/src/accordion-content.directive.mjs +21 -122
  11. package/esm2022/accordion/src/accordion-header.directive.mjs +10 -31
  12. package/esm2022/accordion/src/accordion-item.directive.mjs +144 -57
  13. package/esm2022/accordion/src/accordion-root.directive.mjs +101 -64
  14. package/esm2022/accordion/src/accordion-trigger.directive.mjs +22 -41
  15. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +3 -3
  16. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
  17. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +3 -3
  18. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
  19. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +3 -3
  20. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +3 -3
  21. package/esm2022/avatar/src/avatar-fallback.directive.mjs +3 -3
  22. package/esm2022/avatar/src/avatar-image.directive.mjs +3 -3
  23. package/esm2022/avatar/src/avatar-root.directive.mjs +3 -3
  24. package/esm2022/checkbox/src/checkbox-button.directive.mjs +3 -3
  25. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
  26. package/esm2022/checkbox/src/checkbox-input.directive.mjs +3 -3
  27. package/esm2022/checkbox/src/checkbox.directive.mjs +3 -3
  28. package/esm2022/collapsible/src/collapsible-content.directive.mjs +20 -7
  29. package/esm2022/collapsible/src/collapsible-content.token.mjs +3 -0
  30. package/esm2022/collapsible/src/collapsible-root.directive.mjs +17 -13
  31. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +3 -3
  32. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +3 -3
  33. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +3 -3
  34. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +3 -3
  35. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +3 -3
  36. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +3 -3
  37. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +3 -3
  38. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +3 -3
  39. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +3 -3
  40. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +3 -3
  41. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +3 -3
  42. package/esm2022/label/src/label.directive.mjs +10 -5
  43. package/esm2022/menu/index.mjs +4 -4
  44. package/esm2022/menu/src/menu-content.directive.mjs +3 -3
  45. package/esm2022/menu/src/menu-directive.mjs +3 -3
  46. package/esm2022/menu/src/menu-group.directive.mjs +3 -3
  47. package/esm2022/menu/src/menu-item.directive.mjs +3 -3
  48. package/esm2022/menu/src/menu-label.directive.mjs +3 -3
  49. package/esm2022/menu/src/menu-separator.directive.mjs +3 -3
  50. package/esm2022/menubar/index.mjs +4 -4
  51. package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
  52. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +3 -3
  53. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
  54. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +3 -3
  55. package/esm2022/menubar/src/menubar-item.directive.mjs +3 -3
  56. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
  57. package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
  58. package/esm2022/menubar/src/menubar-separator.directive.mjs +3 -3
  59. package/esm2022/menubar/src/menubar-trigger.directive.mjs +3 -3
  60. package/esm2022/progress/src/progress-indicator.directive.mjs +3 -3
  61. package/esm2022/progress/src/progress-root.directive.mjs +3 -3
  62. package/esm2022/radio/src/radio-indicator.directive.mjs +10 -10
  63. package/esm2022/radio/src/radio-item.directive.mjs +29 -18
  64. package/esm2022/radio/src/radio-root.directive.mjs +110 -16
  65. package/esm2022/radio/src/radio-tokens.mjs +3 -0
  66. package/esm2022/separator/src/separator.directive.mjs +3 -3
  67. package/esm2022/switch/index.mjs +4 -4
  68. package/esm2022/switch/src/switch-input.directive.mjs +3 -3
  69. package/esm2022/switch/src/switch-root.directive.mjs +3 -3
  70. package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
  71. package/esm2022/tabs/index.mjs +4 -4
  72. package/esm2022/tabs/src/tabs-content.directive.mjs +3 -3
  73. package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
  74. package/esm2022/tabs/src/tabs-list.directive.mjs +3 -3
  75. package/esm2022/tabs/src/tabs-root.directive.mjs +3 -3
  76. package/esm2022/tabs/src/tabs-trigger.directive.mjs +3 -3
  77. package/esm2022/toggle/src/toggle.directive.mjs +3 -3
  78. package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +3 -3
  79. package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +3 -3
  80. package/esm2022/toggle-group/src/toggle-group.directive.mjs +3 -3
  81. package/fesm2022/radix-ng-primitives-accordion.mjs +305 -324
  82. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  83. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +18 -18
  84. package/fesm2022/radix-ng-primitives-avatar.mjs +9 -9
  85. package/fesm2022/radix-ng-primitives-checkbox.mjs +12 -12
  86. package/fesm2022/radix-ng-primitives-collapsible.mjs +61 -44
  87. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +30 -30
  89. package/fesm2022/radix-ng-primitives-label.mjs +9 -4
  90. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  91. package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
  92. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  93. package/fesm2022/radix-ng-primitives-progress.mjs +6 -6
  94. package/fesm2022/radix-ng-primitives-radio.mjs +182 -77
  95. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  97. package/fesm2022/radix-ng-primitives-switch.mjs +13 -13
  98. package/fesm2022/radix-ng-primitives-tabs.mjs +19 -19
  99. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  100. package/fesm2022/radix-ng-primitives-toggle.mjs +3 -3
  101. package/label/src/label.directive.d.ts +9 -3
  102. package/package.json +1 -1
  103. package/radio/src/radio-indicator.directive.d.ts +4 -2
  104. package/radio/src/radio-item.directive.d.ts +10 -5
  105. package/radio/src/radio-root.directive.d.ts +19 -18
  106. package/radio/src/radio-tokens.d.ts +12 -0
@@ -30,8 +30,8 @@ const menubarImports = [
30
30
  RdxMenubarRadioGroupDirective
31
31
  ];
32
32
  export class MenubarModule {
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: MenubarModule, imports: [RdxMenuBarContentDirective,
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: MenubarModule, imports: [RdxMenuBarContentDirective,
35
35
  RdxMenuBarTriggerDirective,
36
36
  RdxMenubarSeparatorDirective,
37
37
  RdxMenubarItemCheckboxDirective,
@@ -48,9 +48,9 @@ export class MenubarModule {
48
48
  RdxMenubarItemIndicatorDirective,
49
49
  RdxMenubarItemRadioDirective,
50
50
  RdxMenubarRadioGroupDirective] }); }
51
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenubarModule }); }
51
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MenubarModule }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MenubarModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MenubarModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  imports: [...menubarImports],
@@ -3,10 +3,10 @@ import { Directive } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/cdk/menu";
5
5
  export class RdxMenuBarContentDirective {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxMenuBarContentDirective, isStandalone: true, selector: "[MenuBarContent]", hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxMenuBarContentDirective, isStandalone: true, selector: "[MenuBarContent]", hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarContentDirective, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarContentDirective, decorators: [{
10
10
  type: Directive,
11
11
  args: [{
12
12
  selector: '[MenuBarContent]',
@@ -15,10 +15,10 @@ export class RdxMenubarItemCheckboxDirective {
15
15
  this.cdkMenuItemCheckbox.disabled = this.disabled();
16
16
  });
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarItemCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxMenubarItemCheckboxDirective, isStandalone: true, selector: "[MenubarCheckboxItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitemcheckbox" }, properties: { "attr.data-state": "checked() ? \"checked\": \"unchecked\"", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItemCheckbox }], ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarItemCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxMenubarItemCheckboxDirective, isStandalone: true, selector: "[MenubarCheckboxItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitemcheckbox" }, properties: { "attr.data-state": "checked() ? \"checked\": \"unchecked\"", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItemCheckbox }], ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarItemCheckboxDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarItemCheckboxDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[MenubarCheckboxItem]',
@@ -1,10 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class RdxMenubarItemIndicatorDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarItemIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxMenubarItemIndicatorDirective, isStandalone: true, selector: "[MenubarItemIndicator]", host: { properties: { "attr.data-state": "true" } }, ngImport: i0 }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarItemIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxMenubarItemIndicatorDirective, isStandalone: true, selector: "[MenubarItemIndicator]", host: { properties: { "attr.data-state": "true" } }, ngImport: i0 }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarItemIndicatorDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarItemIndicatorDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[MenubarItemIndicator]',
@@ -15,10 +15,10 @@ export class RdxMenubarItemRadioDirective {
15
15
  this.cdkMenuItemRadio.disabled = this.disabled();
16
16
  });
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarItemRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxMenubarItemRadioDirective, isStandalone: true, selector: "[MenubarItemRadio]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitemradio" }, properties: { "attr.aria-checked": "checked()", "attr.data-state": "checked() ? \"checked\": \"unchecked\"", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItemRadio }], ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarItemRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxMenubarItemRadioDirective, isStandalone: true, selector: "[MenubarItemRadio]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "menuitemradio" }, properties: { "attr.aria-checked": "checked()", "attr.data-state": "checked() ? \"checked\": \"unchecked\"", "disabled": "disabledState()" } }, hostDirectives: [{ directive: i1.CdkMenuItemRadio }], ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarItemRadioDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarItemRadioDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[MenubarItemRadio]',
@@ -6,10 +6,10 @@ export class RdxMenuBarItemDirective {
6
6
  constructor() {
7
7
  this.disabled = input(false, { transform: booleanAttribute });
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxMenuBarItemDirective, isStandalone: true, selector: "[MenuBarItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxMenuItemDirective, inputs: ["rdxDisabled", "disabled"] }], ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxMenuBarItemDirective, isStandalone: true, selector: "[MenuBarItem]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxMenuItemDirective, inputs: ["rdxDisabled", "disabled"] }], ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarItemDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarItemDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[MenuBarItem]',
@@ -3,10 +3,10 @@ import { Directive } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/cdk/menu";
5
5
  export class RdxMenubarRadioGroupDirective {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxMenubarRadioGroupDirective, isStandalone: true, selector: "[MenubarRadioGroup]", hostDirectives: [{ directive: i1.CdkMenuGroup }], ngImport: i0 }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxMenubarRadioGroupDirective, isStandalone: true, selector: "[MenubarRadioGroup]", hostDirectives: [{ directive: i1.CdkMenuGroup }], ngImport: i0 }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarRadioGroupDirective, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarRadioGroupDirective, decorators: [{
10
10
  type: Directive,
11
11
  args: [{
12
12
  selector: '[MenubarRadioGroup]',
@@ -6,10 +6,10 @@ export class RdxMenuBarDirective {
6
6
  constructor() {
7
7
  this.orientation = input('horizontal');
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxMenuBarDirective, isStandalone: true, selector: "[MenuBarRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0" }, properties: { "attr.data-orientation": "orientation()" } }, hostDirectives: [{ directive: i1.CdkMenuBar }], ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxMenuBarDirective, isStandalone: true, selector: "[MenuBarRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0" }, properties: { "attr.data-orientation": "orientation()" } }, hostDirectives: [{ directive: i1.CdkMenuBar }], ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[MenuBarRoot]',
@@ -3,10 +3,10 @@ import { RdxMenuSeparatorDirective } from '@radix-ng/primitives/menu';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@radix-ng/primitives/menu";
5
5
  export class RdxMenubarSeparatorDirective {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxMenubarSeparatorDirective, isStandalone: true, selector: "[MenubarSeparator]", hostDirectives: [{ directive: i1.RdxMenuSeparatorDirective }], ngImport: i0 }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxMenubarSeparatorDirective, isStandalone: true, selector: "[MenubarSeparator]", hostDirectives: [{ directive: i1.RdxMenuSeparatorDirective }], ngImport: i0 }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenubarSeparatorDirective, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenubarSeparatorDirective, decorators: [{
10
10
  type: Directive,
11
11
  args: [{
12
12
  selector: '[MenubarSeparator]',
@@ -21,10 +21,10 @@ export class RdxMenuBarTriggerDirective {
21
21
  }
22
22
  }
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxMenuBarTriggerDirective, isStandalone: true, selector: "[MenuBarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "menuitem" }, listeners: { "pointerdown": "onPointerDown($event)" }, properties: { "attr.aria-haspopup": "'menu'", "attr.aria-expanded": "cdkTrigger.isOpen()", "attr.data-state": "cdkTrigger.isOpen() ? 'open': 'closed'", "attr.data-disabled": "disabled() ? '' : undefined", "disabled": "disabled()" } }, hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "MenuBarTrigger"] }], ngImport: i0 }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
25
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxMenuBarTriggerDirective, isStandalone: true, selector: "[MenuBarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "menuitem" }, listeners: { "pointerdown": "onPointerDown($event)" }, properties: { "attr.aria-haspopup": "'menu'", "attr.aria-expanded": "cdkTrigger.isOpen()", "attr.data-state": "cdkTrigger.isOpen() ? 'open': 'closed'", "attr.data-disabled": "disabled() ? '' : undefined", "disabled": "disabled()" } }, hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "MenuBarTrigger"] }], ngImport: i0 }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxMenuBarTriggerDirective, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxMenuBarTriggerDirective, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: '[MenuBarTrigger]',
@@ -15,10 +15,10 @@ export class RdxProgressIndicatorDirective {
15
15
  */
16
16
  this.progress = injectProgress();
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxProgressIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxProgressIndicatorDirective, isStandalone: true, selector: "div[rdxProgressIndicator]", host: { properties: { "attr.data-state": "progress.state", "attr.data-value": "progress.value", "attr.data-max": "progress.max" } }, exportAs: ["ProgressIndicator"], ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxProgressIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxProgressIndicatorDirective, isStandalone: true, selector: "div[rdxProgressIndicator]", host: { properties: { "attr.data-state": "progress.state", "attr.data-value": "progress.value", "attr.data-max": "progress.max" } }, exportAs: ["ProgressIndicator"], ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxProgressIndicatorDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxProgressIndicatorDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: 'div[rdxProgressIndicator]',
@@ -87,10 +87,10 @@ export class RdxProgressRootDirective {
87
87
 
88
88
  Defaulting to \`null\`.`;
89
89
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxProgressRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
91
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.2", type: RdxProgressRootDirective, isStandalone: true, selector: "div[rdxProgressRoot]", inputs: { id: "id", value: ["rdxValue", "value", numberAttribute], max: ["rdxMax", "max", numberAttribute], valueLabel: ["rdxValueLabel", "valueLabel"] }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "id": "id", "attr.aria-valuemax": "max", "attr.aria-valuemin": "0", "attr.aria-valuenow": "value", "attr.aria-valuetext": "valueLabel(value, max)", "attr.data-state": "state", "attr.data-value": "value", "attr.data-max": "max" } }, providers: [{ provide: RdxProgressToken, useExisting: RdxProgressRootDirective }], exportAs: ["ProgressRoot"], usesOnChanges: true, ngImport: i0 }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxProgressRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
91
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxProgressRootDirective, isStandalone: true, selector: "div[rdxProgressRoot]", inputs: { id: "id", value: ["rdxValue", "value", numberAttribute], max: ["rdxMax", "max", numberAttribute], valueLabel: ["rdxValueLabel", "valueLabel"] }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "id": "id", "attr.aria-valuemax": "max", "attr.aria-valuemin": "0", "attr.aria-valuenow": "value", "attr.aria-valuetext": "valueLabel(value, max)", "attr.data-state": "state", "attr.data-value": "value", "attr.data-max": "max" } }, providers: [{ provide: RdxProgressToken, useExisting: RdxProgressRootDirective }], exportAs: ["ProgressRoot"], usesOnChanges: true, ngImport: i0 }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxProgressRootDirective, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxProgressRootDirective, decorators: [{
94
94
  type: Directive,
95
95
  args: [{
96
96
  selector: 'div[rdxProgressRoot]',
@@ -1,25 +1,25 @@
1
- import { Directive } from '@angular/core';
2
- import { injectRadioItem } from './radio-item.directive';
3
- import { injectRadioGroup } from './radio-root.directive';
1
+ import { Directive, inject } from '@angular/core';
2
+ import { RdxRadioItemDirective } from './radio-item.directive';
3
+ import { RDX_RADIO_GROUP } from './radio-tokens';
4
4
  import * as i0 from "@angular/core";
5
5
  export class RdxRadioIndicatorDirective {
6
6
  constructor() {
7
- this.radioGroup = injectRadioGroup();
8
- this.radioItem = injectRadioItem();
7
+ this.radioGroup = inject(RDX_RADIO_GROUP);
8
+ this.radioItem = inject(RdxRadioItemDirective);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxRadioIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxRadioIndicatorDirective, isStandalone: true, selector: "[RadioIndicator]", host: { properties: { "attr.data-state": "radioGroup.value === this.radioItem.value ? \"checked\" : \"unchecked\"", "attr.data-disabled": "radioItem.disabled ? \"\" : null" } }, exportAs: ["RadioIndicator"], ngImport: i0 }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxRadioIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxRadioIndicatorDirective, isStandalone: true, selector: "[RadioIndicator]", host: { properties: { "attr.data-state": "radioItem.checked ? \"checked\" : \"unchecked\"", "attr.data-disabled": "radioItem.disabled ? \"\" : null" } }, exportAs: ["RadioIndicator"], ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxRadioIndicatorDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxRadioIndicatorDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  selector: '[RadioIndicator]',
17
17
  exportAs: 'RadioIndicator',
18
18
  standalone: true,
19
19
  host: {
20
- '[attr.data-state]': 'radioGroup.value === this.radioItem.value ? "checked" : "unchecked"',
20
+ '[attr.data-state]': 'radioItem.checked ? "checked" : "unchecked"',
21
21
  '[attr.data-disabled]': 'radioItem.disabled ? "" : null'
22
22
  }
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaW8vc3JjL3JhZGlvLWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBVzFELE1BQU0sT0FBTywwQkFBMEI7SUFUdkM7UUFVdUIsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFaEMsY0FBUyxHQUFHLGVBQWUsRUFBRSxDQUFDO0tBQ3BEOzhHQUpZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQVR0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUscUVBQXFFO3dCQUMxRixzQkFBc0IsRUFBRSxnQ0FBZ0M7cUJBQzNEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RSYWRpb0l0ZW0gfSBmcm9tICcuL3JhZGlvLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IGluamVjdFJhZGlvR3JvdXAgfSBmcm9tICcuL3JhZGlvLXJvb3QuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbUmFkaW9JbmRpY2F0b3JdJyxcbiAgICBleHBvcnRBczogJ1JhZGlvSW5kaWNhdG9yJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3JhZGlvR3JvdXAudmFsdWUgPT09IHRoaXMucmFkaW9JdGVtLnZhbHVlID8gXCJjaGVja2VkXCIgOiBcInVuY2hlY2tlZFwiJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3JhZGlvSXRlbS5kaXNhYmxlZCA/IFwiXCIgOiBudWxsJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UmFkaW9JbmRpY2F0b3JEaXJlY3RpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSByYWRpb0dyb3VwID0gaW5qZWN0UmFkaW9Hcm91cCgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhZGlvSXRlbSA9IGluamVjdFJhZGlvSXRlbSgpO1xufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaW8vc3JjL3JhZGlvLWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBdUIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFXdEUsTUFBTSxPQUFPLDBCQUEwQjtJQVR2QztRQVV1QixlQUFVLEdBQXdCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRCxjQUFTLEdBQTBCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3ZGOzhHQUhZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQVR0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsNkNBQTZDO3dCQUNsRSxzQkFBc0IsRUFBRSxnQ0FBZ0M7cUJBQzNEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFJhZGlvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcmFkaW8taXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUkRYX1JBRElPX0dST1VQLCBSYWRpb0dyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9yYWRpby10b2tlbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tSYWRpb0luZGljYXRvcl0nLFxuICAgIGV4cG9ydEFzOiAnUmFkaW9JbmRpY2F0b3InLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAncmFkaW9JdGVtLmNoZWNrZWQgPyBcImNoZWNrZWRcIiA6IFwidW5jaGVja2VkXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAncmFkaW9JdGVtLmRpc2FibGVkID8gXCJcIiA6IG51bGwnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhSYWRpb0luZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhZGlvR3JvdXA6IFJhZGlvR3JvdXBEaXJlY3RpdmUgPSBpbmplY3QoUkRYX1JBRElPX0dST1VQKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmFkaW9JdGVtOiBSZHhSYWRpb0l0ZW1EaXJlY3RpdmUgPSBpbmplY3QoUmR4UmFkaW9JdGVtRGlyZWN0aXZlKTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { booleanAttribute, Directive, inject, InjectionToken, Input } from '@angular/core';
2
- import { injectRadioGroup } from './radio-root.directive';
1
+ import { booleanAttribute, Directive, ElementRef, inject, InjectionToken, Input } from '@angular/core';
2
+ import { RDX_RADIO_GROUP } from './radio-tokens';
3
3
  import * as i0 from "@angular/core";
4
4
  export const RdxRadioItemToken = new InjectionToken('RadioItemToken');
5
5
  export function injectRadioItem() {
@@ -9,26 +9,37 @@ export function injectRadioItem() {
9
9
  let nextUniqueId = 0;
10
10
  export class RdxRadioItemDirective {
11
11
  constructor() {
12
- this.radioGroup = injectRadioGroup();
12
+ this.radioGroup = inject(RDX_RADIO_GROUP);
13
+ this.element = inject(ElementRef);
13
14
  this.id = `rdx-radio-${++nextUniqueId}`;
14
15
  this.disabled = false;
15
16
  }
16
- _onKeydown(event) {
17
- // According to WAI ARIA, radio groups don't activate items on enter keypress
18
- if (event.key === 'Enter') {
19
- event.preventDefault();
17
+ get tabIndex() {
18
+ return this.disabled ? -1 : this.radioGroup.value === this.value ? 0 : -1;
19
+ }
20
+ get checked() {
21
+ return this.radioGroup.value === this.value;
22
+ }
23
+ ngOnInit() {
24
+ if (this.radioGroup.defaultValue === this.value) {
25
+ this.radioGroup.select(this.value);
20
26
  }
21
27
  }
22
- _onFocus() {
23
- this.radioGroup.select(this.value);
28
+ focus() {
29
+ this.element.nativeElement.focus();
24
30
  }
25
31
  _onClick() {
26
- this.radioGroup.select(this.value);
32
+ if (!this.disabled) {
33
+ this.radioGroup.select(this.value);
34
+ }
35
+ }
36
+ _onBlur() {
37
+ this.radioGroup.onTouched?.();
27
38
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxRadioItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.2", type: RdxRadioItemDirective, isStandalone: true, selector: "[RadioItem]", inputs: { id: "id", value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "type": "button", "role": "radio" }, listeners: { "focus": "_onFocus()", "click": "_onClick()", "keydown": "_onKeydown($event)" }, properties: { "attr.id": "id", "attr.aria-checked": "radioGroup.value === value ? \"true\" : \"false\"", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "radioGroup.value === value ? \"checked\" : \"unchecked\"" } }, providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }], exportAs: ["RadioItem"], ngImport: i0 }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxRadioItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxRadioItemDirective, isStandalone: true, selector: "[RadioItem]", inputs: { id: "id", value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "type": "button", "role": "radio" }, listeners: { "click": "_onClick()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.aria-checked": "checked", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "checked ? \"checked\" : \"unchecked\"", "attr.tabindex": "tabIndex" } }, providers: [{ provide: RdxRadioItemToken, useExisting: RdxRadioItemDirective }], exportAs: ["RadioItem"], ngImport: i0 }); }
30
41
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxRadioItemDirective, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxRadioItemDirective, decorators: [{
32
43
  type: Directive,
33
44
  args: [{
34
45
  selector: '[RadioItem]',
@@ -39,12 +50,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
39
50
  type: 'button',
40
51
  role: 'radio',
41
52
  '[attr.id]': 'id',
42
- '[attr.aria-checked]': 'radioGroup.value === value ? "true" : "false"',
53
+ '[attr.aria-checked]': 'checked',
43
54
  '[attr.data-disabled]': 'disabled ? "" : null',
44
- '[attr.data-state]': 'radioGroup.value === value ? "checked" : "unchecked"',
45
- '(focus)': '_onFocus()',
55
+ '[attr.data-state]': 'checked ? "checked" : "unchecked"',
56
+ '[attr.tabindex]': 'tabIndex',
46
57
  '(click)': '_onClick()',
47
- '(keydown)': '_onKeydown($event)'
58
+ '(blur)': '_onBlur()'
48
59
  }
49
60
  }]
50
61
  }], propDecorators: { id: [{
@@ -56,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
56
67
  type: Input,
57
68
  args: [{ transform: booleanAttribute }]
58
69
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUUxRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsZ0JBQWdCLENBQUMsQ0FBQztBQUU3RixNQUFNLFVBQVUsZUFBZTtJQUMzQixPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxxRUFBcUU7QUFDckUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBb0JyQixNQUFNLE9BQU8scUJBQXFCO0lBbEJsQztRQW1CdUIsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFMUMsT0FBRSxHQUFHLGFBQWEsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUlKLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FnQjVEO0lBZEcsVUFBVSxDQUFDLEtBQW9CO1FBQzNCLDZFQUE2RTtRQUM3RSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOzhHQXRCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixzSEFPVixnQkFBZ0IscVpBckJ6QixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDOzsyRkFjdEUscUJBQXFCO2tCQWxCakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHVCQUF1QixFQUFFLENBQUM7b0JBQy9FLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsT0FBTzt3QkFDYixXQUFXLEVBQUUsSUFBSTt3QkFDakIscUJBQXFCLEVBQUUsK0NBQStDO3dCQUN0RSxzQkFBc0IsRUFBRSxzQkFBc0I7d0JBQzlDLG1CQUFtQixFQUFFLHNEQUFzRDt3QkFFM0UsU0FBUyxFQUFFLFlBQVk7d0JBQ3ZCLFNBQVMsRUFBRSxZQUFZO3dCQUN2QixXQUFXLEVBQUUsb0JBQW9CO3FCQUNwQztpQkFDSjs4QkFJWSxFQUFFO3NCQUFWLEtBQUs7Z0JBRXFCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUVlLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RSYWRpb0dyb3VwIH0gZnJvbSAnLi9yYWRpby1yb290LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBSZHhSYWRpb0l0ZW1Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhSYWRpb0l0ZW1EaXJlY3RpdmU+KCdSYWRpb0l0ZW1Ub2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UmFkaW9JdGVtKCk6IFJkeFJhZGlvSXRlbURpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGluamVjdChSZHhSYWRpb0l0ZW1Ub2tlbik7XG59XG5cbi8vIEluY3JlYXNpbmcgaW50ZWdlciBmb3IgZ2VuZXJhdGluZyB1bmlxdWUgaWRzIGZvciByYWRpbyBjb21wb25lbnRzLlxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW1JhZGlvSXRlbV0nLFxuICAgIGV4cG9ydEFzOiAnUmFkaW9JdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4UmFkaW9JdGVtVG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhSYWRpb0l0ZW1EaXJlY3RpdmUgfV0sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgcm9sZTogJ3JhZGlvJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ3JhZGlvR3JvdXAudmFsdWUgPT09IHZhbHVlID8gXCJ0cnVlXCIgOiBcImZhbHNlXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdyYWRpb0dyb3VwLnZhbHVlID09PSB2YWx1ZSA/IFwiY2hlY2tlZFwiIDogXCJ1bmNoZWNrZWRcIicsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnX29uRm9jdXMoKScsXG4gICAgICAgICcoY2xpY2spJzogJ19vbkNsaWNrKCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ19vbktleWRvd24oJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFJhZGlvSXRlbURpcmVjdGl2ZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhZGlvR3JvdXAgPSBpbmplY3RSYWRpb0dyb3VwKCk7XG5cbiAgICBASW5wdXQoKSBpZCA9IGByZHgtcmFkaW8tJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdmFsdWUhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIF9vbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gQWNjb3JkaW5nIHRvIFdBSSBBUklBLCByYWRpbyBncm91cHMgZG9uJ3QgYWN0aXZhdGUgaXRlbXMgb24gZW50ZXIga2V5cHJlc3NcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJhZGlvR3JvdXAuc2VsZWN0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIF9vbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJhZGlvR3JvdXAuc2VsZWN0KHRoaXMudmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUF3QixnQkFBZ0IsQ0FBQyxDQUFDO0FBRTdGLE1BQU0sVUFBVSxlQUFlO0lBQzNCLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELHFFQUFxRTtBQUNyRSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFtQnJCLE1BQU0sT0FBTyxxQkFBcUI7SUFqQmxDO1FBa0JxQixlQUFVLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0IsT0FBRSxHQUFHLGFBQWEsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUlKLGFBQVEsR0FBRyxLQUFLLENBQUM7S0E2QjVEO0lBM0JHLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzhHQXBDUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixzSEFRVixnQkFBZ0Isa1ZBckJ6QixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDOzsyRkFhdEUscUJBQXFCO2tCQWpCakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHVCQUF1QixFQUFFLENBQUM7b0JBQy9FLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsT0FBTzt3QkFDYixXQUFXLEVBQUUsSUFBSTt3QkFDakIscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMsc0JBQXNCLEVBQUUsc0JBQXNCO3dCQUM5QyxtQkFBbUIsRUFBRSxtQ0FBbUM7d0JBQ3hELGlCQUFpQixFQUFFLFVBQVU7d0JBQzdCLFNBQVMsRUFBRSxZQUFZO3dCQUN2QixRQUFRLEVBQUUsV0FBVztxQkFDeEI7aUJBQ0o7OEJBS1ksRUFBRTtzQkFBVixLQUFLO2dCQUVxQixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFZSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSRFhfUkFESU9fR1JPVVAgfSBmcm9tICcuL3JhZGlvLXRva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBSZHhSYWRpb0l0ZW1Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhSYWRpb0l0ZW1EaXJlY3RpdmU+KCdSYWRpb0l0ZW1Ub2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UmFkaW9JdGVtKCk6IFJkeFJhZGlvSXRlbURpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGluamVjdChSZHhSYWRpb0l0ZW1Ub2tlbik7XG59XG5cbi8vIEluY3JlYXNpbmcgaW50ZWdlciBmb3IgZ2VuZXJhdGluZyB1bmlxdWUgaWRzIGZvciByYWRpbyBjb21wb25lbnRzLlxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW1JhZGlvSXRlbV0nLFxuICAgIGV4cG9ydEFzOiAnUmFkaW9JdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4UmFkaW9JdGVtVG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhSYWRpb0l0ZW1EaXJlY3RpdmUgfV0sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgcm9sZTogJ3JhZGlvJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdjaGVja2VkID8gXCJjaGVja2VkXCIgOiBcInVuY2hlY2tlZFwiJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICd0YWJJbmRleCcsXG4gICAgICAgICcoY2xpY2spJzogJ19vbkNsaWNrKCknLFxuICAgICAgICAnKGJsdXIpJzogJ19vbkJsdXIoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFJhZGlvSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvY3VzYWJsZU9wdGlvbiwgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvR3JvdXAgPSBpbmplY3QoUkRYX1JBRElPX0dST1VQKTtcbiAgICByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgQElucHV0KCkgaWQgPSBgcmR4LXJhZGlvLSR7KytuZXh0VW5pcXVlSWR9YDtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHZhbHVlITogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBnZXQgdGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAtMSA6IHRoaXMucmFkaW9Hcm91cC52YWx1ZSA9PT0gdGhpcy52YWx1ZSA/IDAgOiAtMTtcbiAgICB9XG5cbiAgICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFkaW9Hcm91cC52YWx1ZSA9PT0gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucmFkaW9Hcm91cC5kZWZhdWx0VmFsdWUgPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9Hcm91cC5zZWxlY3QodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBfb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJhZGlvR3JvdXAuc2VsZWN0KHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX29uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yYWRpb0dyb3VwLm9uVG91Y2hlZD8uKCk7XG4gICAgfVxufVxuIl19
@@ -1,12 +1,14 @@
1
- import { booleanAttribute, Directive, EventEmitter, inject, InjectionToken, Input, Output } from '@angular/core';
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';
3
+ import { booleanAttribute, ContentChildren, Directive, EventEmitter, Input, Output, QueryList } from '@angular/core';
2
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { Subject, takeUntil } from 'rxjs';
6
+ import { RdxRadioItemDirective } from './radio-item.directive';
7
+ import { RDX_RADIO_GROUP } from './radio-tokens';
3
8
  import * as i0 from "@angular/core";
4
- export const RdxRadioGroupToken = new InjectionToken('RdxRadioGroupToken');
5
- export function injectRadioGroup() {
6
- return inject(RdxRadioGroupToken);
7
- }
8
9
  export class RdxRadioGroupDirective {
9
10
  constructor() {
11
+ this.destroy$ = new Subject();
10
12
  this.disabled = false;
11
13
  /**
12
14
  * The orientation of the radio group only vertical.
@@ -20,6 +22,29 @@ export class RdxRadioGroupDirective {
20
22
  * Event handler called when the value changes.
21
23
  */
22
24
  this.onValueChange = new EventEmitter();
25
+ /**
26
+ * The callback function to call when the value of the radio group changes.
27
+ */
28
+ this.onChange = () => {
29
+ /* Empty */
30
+ };
31
+ /**
32
+ * The callback function to call when the radio group is touched.
33
+ */
34
+ this.onTouched = () => {
35
+ /* Empty */
36
+ };
37
+ }
38
+ ngAfterContentInit() {
39
+ this.focusKeyManager = new FocusKeyManager(this.radioItems).withWrap().withVerticalOrientation();
40
+ this.radioItems.changes.pipe(takeUntil(this.destroy$)).subscribe(() => {
41
+ this.updateActiveItem();
42
+ });
43
+ this.updateActiveItem(false);
44
+ }
45
+ ngOnDestroy() {
46
+ this.destroy$.next();
47
+ this.destroy$.complete();
23
48
  }
24
49
  /**
25
50
  * Select a radio item.
@@ -29,6 +54,8 @@ export class RdxRadioGroupDirective {
29
54
  this.value = value;
30
55
  this.onValueChange.emit(value);
31
56
  this.onChange?.(value);
57
+ this.updateActiveItem();
58
+ this.onTouched();
32
59
  }
33
60
  /**
34
61
  * Update the value of the radio group.
@@ -37,6 +64,9 @@ export class RdxRadioGroupDirective {
37
64
  */
38
65
  writeValue(value) {
39
66
  this.value = value;
67
+ if (this.radioItems) {
68
+ this.updateActiveItem(false);
69
+ }
40
70
  }
41
71
  /**
42
72
  * Register a callback function to call when the value of the radio group changes.
@@ -60,41 +90,105 @@ export class RdxRadioGroupDirective {
60
90
  /**
61
91
  * When focus leaves the radio group.
62
92
  */
63
- _onFocusout() {
64
- this.onTouched?.();
93
+ _onFocusin(event) {
94
+ const target = event.target;
95
+ const radioItem = this.radioItems.find((item) => item.element.nativeElement === target);
96
+ if (radioItem) {
97
+ this.focusKeyManager.setActiveItem(radioItem);
98
+ }
99
+ }
100
+ _onKeydown(event) {
101
+ if (this.disabled)
102
+ return;
103
+ switch (event.keyCode) {
104
+ case ENTER:
105
+ case SPACE:
106
+ event.preventDefault();
107
+ this.selectFocusedItem();
108
+ break;
109
+ case DOWN_ARROW:
110
+ case RIGHT_ARROW:
111
+ event.preventDefault();
112
+ this.focusKeyManager.setNextItemActive();
113
+ this.selectFocusedItem();
114
+ break;
115
+ case UP_ARROW:
116
+ case LEFT_ARROW:
117
+ event.preventDefault();
118
+ this.focusKeyManager.setPreviousItemActive();
119
+ this.selectFocusedItem();
120
+ break;
121
+ case TAB:
122
+ this.tabNavigation(event);
123
+ break;
124
+ default:
125
+ this.focusKeyManager.onKeydown(event);
126
+ }
127
+ }
128
+ selectFocusedItem() {
129
+ const focusedItem = this.focusKeyManager.activeItem;
130
+ if (focusedItem) {
131
+ this.select(focusedItem.value);
132
+ }
65
133
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
67
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.2", type: RdxRadioGroupDirective, isStandalone: true, selector: "div[RadioRoot]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute], dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { attributes: { "role": "radiogroup" }, listeners: { "focusout": "_onFocusout()" }, properties: { "attr.aria-orientation": "_orientation", "attr.data-disabled": "disabled ? \"\" : null", "attr.dir": "dir" } }, providers: [
68
- { provide: RdxRadioGroupToken, useExisting: RdxRadioGroupDirective },
134
+ updateActiveItem(setFocus = true) {
135
+ const activeItem = this.radioItems.find((item) => item.value === this.value);
136
+ if (activeItem) {
137
+ this.focusKeyManager.setActiveItem(activeItem);
138
+ }
139
+ else if (this.radioItems.length > 0 && setFocus) {
140
+ this.focusKeyManager.setFirstItemActive();
141
+ }
142
+ }
143
+ tabNavigation(event) {
144
+ event.preventDefault();
145
+ const checkedItem = this.radioItems.find((item) => item.checked);
146
+ if (checkedItem) {
147
+ checkedItem.focus();
148
+ }
149
+ else if (this.radioItems.first) {
150
+ this.radioItems.first.focus();
151
+ }
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
154
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxRadioGroupDirective, isStandalone: true, selector: "div[RadioRoot]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute], dir: "dir", defaultValue: "defaultValue" }, outputs: { onValueChange: "onValueChange" }, host: { attributes: { "role": "radiogroup" }, listeners: { "keydown": "_onKeydown($event)", "focusin": "_onFocusin($event)" }, properties: { "attr.aria-orientation": "_orientation", "attr.data-disabled": "disabled ? \"\" : null", "attr.tabindex": "-1", "attr.dir": "dir" } }, providers: [
155
+ { provide: RDX_RADIO_GROUP, useExisting: RdxRadioGroupDirective },
69
156
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxRadioGroupDirective, multi: true }
70
- ], exportAs: ["RadioRoot"], ngImport: i0 }); }
157
+ ], queries: [{ propertyName: "radioItems", predicate: RdxRadioItemDirective, descendants: true }], exportAs: ["RadioRoot"], ngImport: i0 }); }
71
158
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxRadioGroupDirective, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxRadioGroupDirective, decorators: [{
73
160
  type: Directive,
74
161
  args: [{
75
162
  selector: 'div[RadioRoot]',
76
163
  exportAs: 'RadioRoot',
77
164
  standalone: true,
78
165
  providers: [
79
- { provide: RdxRadioGroupToken, useExisting: RdxRadioGroupDirective },
166
+ { provide: RDX_RADIO_GROUP, useExisting: RdxRadioGroupDirective },
80
167
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxRadioGroupDirective, multi: true }
81
168
  ],
82
169
  host: {
83
170
  role: 'radiogroup',
84
171
  '[attr.aria-orientation]': '_orientation',
85
172
  '[attr.data-disabled]': 'disabled ? "" : null',
173
+ '[attr.tabindex]': '-1',
86
174
  '[attr.dir]': 'dir',
87
- '(focusout)': '_onFocusout()'
175
+ '(keydown)': '_onKeydown($event)',
176
+ '(focusin)': '_onFocusin($event)'
88
177
  }
89
178
  }]
90
- }], propDecorators: { value: [{
179
+ }], propDecorators: { radioItems: [{
180
+ type: ContentChildren,
181
+ args: [RdxRadioItemDirective, { descendants: true }]
182
+ }], value: [{
91
183
  type: Input
92
184
  }], disabled: [{
93
185
  type: Input,
94
186
  args: [{ transform: booleanAttribute }]
95
187
  }], dir: [{
96
188
  type: Input
189
+ }], defaultValue: [{
190
+ type: Input
97
191
  }], onValueChange: [{
98
192
  type: Output
99
193
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcm9vdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUV6RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUVuRyxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU8sTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDdEMsQ0FBQztBQTZCRCxNQUFNLE9BQU8sc0JBQXNCO0lBakJuQztRQW9CNEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUl6RDs7Ozs7O1dBTUc7UUFDTSxpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUVuQzs7V0FFRztRQUNnQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0E2RGpFO0lBL0NHOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsRUFBMkI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0EvRVEsc0JBQXNCO2tHQUF0QixzQkFBc0IsK0dBR1gsZ0JBQWdCLGlTQWhCekI7WUFDUCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7WUFDcEUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDbkY7OzJGQVVRLHNCQUFzQjtrQkFqQmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyx3QkFBd0IsRUFBRTt3QkFDcEUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUNuRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLHlCQUF5QixFQUFFLGNBQWM7d0JBQ3pDLHNCQUFzQixFQUFFLHNCQUFzQjt3QkFDOUMsWUFBWSxFQUFFLEtBQUs7d0JBRW5CLFlBQVksRUFBRSxlQUFlO3FCQUNoQztpQkFDSjs4QkFFWSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWtDLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTdCLEdBQUc7c0JBQVgsS0FBSztnQkFjYSxhQUFhO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IFJkeFJhZGlvR3JvdXBUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhSYWRpb0dyb3VwRGlyZWN0aXZlPignUmR4UmFkaW9Hcm91cFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSYWRpb0dyb3VwKCk6IFJkeFJhZGlvR3JvdXBEaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUmR4UmFkaW9Hcm91cFRva2VuKTtcbn1cblxuaW50ZXJmYWNlIFJhZGlvR3JvdXBQcm9wcyB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgLy8gVE9ETzogZGlyPzogc3RyaW5nO1xuICAgIC8vIFRPRE86IGxvb3A/OiBzdHJpbmc7XG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIG9uVmFsdWVDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdkaXZbUmFkaW9Sb290XScsXG4gICAgZXhwb3J0QXM6ICdSYWRpb1Jvb3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmR4UmFkaW9Hcm91cFRva2VuLCB1c2VFeGlzdGluZzogUmR4UmFkaW9Hcm91cERpcmVjdGl2ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmR4UmFkaW9Hcm91cERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAncmFkaW9ncm91cCcsXG4gICAgICAgICdbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSc6ICdfb3JpZW50YXRpb24nLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci5kaXJdJzogJ2RpcicsXG5cbiAgICAgICAgJyhmb2N1c291dCknOiAnX29uRm9jdXNvdXQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFJhZGlvR3JvdXBEaXJlY3RpdmUgaW1wbGVtZW50cyBSYWRpb0dyb3VwUHJvcHMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgZGlyPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9yaWVudGF0aW9uIG9mIHRoZSByYWRpbyBncm91cCBvbmx5IHZlcnRpY2FsLlxuICAgICAqIEhvcml6b250YWwgcmFkaW8gYnV0dG9ucyBjYW4gc29tZXRpbWVzIGJlIGNoYWxsZW5naW5nIHRvIHNjYW4gYW5kIGxvY2FsaXplLlxuICAgICAqIFRoZSBob3Jpem9udGFsIGFycmFuZ2VtZW50IG9mIHJhZGlvIGJ1dHRvbnMgbWF5IGFsc28gbGVhZCB0byBkaWZmaWN1bHRpZXMgaW4gZGV0ZXJtaW5pbmcgd2hpY2hcbiAgICAgKiBsYWJlbCBjb3JyZXNwb25kcyB0byB3aGljaCBidXR0b246IHdoZXRoZXIgdGhlIGxhYmVsIGlzIGFib3ZlIG9yIGJlbG93IHRoZSBidXR0b24uXG4gICAgICogQGRlZmF1bHQgJ3ZlcnRpY2FsJ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IF9vcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAgY2hhbmdlcy5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwcml2YXRlIG9uQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSByYWRpbyBncm91cCBpcyB0b3VjaGVkLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCBhIHJhZGlvIGl0ZW0uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gaXRlbSB0byBzZWxlY3QuXG4gICAgICovXG4gICAgc2VsZWN0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2U/Lih2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIHJhZGlvIGdyb3VwLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSByYWRpbyBncm91cCBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAgY2hhbmdlcy5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSByYWRpbyBncm91cC5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBXaGV0aGVyIHRoZSByYWRpbyBncm91cCBpcyBkaXNhYmxlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBmb2N1cyBsZWF2ZXMgdGhlIHJhZGlvIGdyb3VwLlxuICAgICAqL1xuICAgIF9vbkZvY3Vzb3V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZD8uKCk7XG4gICAgfVxufVxuIl19
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tcm9vdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pHLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBd0MsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBb0J2RixNQUFNLE9BQU8sc0JBQXNCO0lBbEJuQztRQXVCWSxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUtDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFNekQ7Ozs7OztXQU1HO1FBQ00saUJBQVksR0FBRyxVQUFVLENBQUM7UUFFbkM7O1dBRUc7UUFDZ0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTlEOztXQUVHO1FBQ0ssYUFBUSxHQUE0QixHQUFHLEVBQUU7WUFDN0MsV0FBVztRQUNmLENBQUMsQ0FBQztRQUVGOztXQUVHO1FBQ0gsY0FBUyxHQUFlLEdBQUcsRUFBRTtZQUN6QixXQUFXO1FB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LElBQUksRUFBRTtnQkFLcEQsS0FBSztzQkFBYixLQUFLO2dCQUVrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU3QixHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFjYSxhQUFhO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSwgVEFCLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR4UmFkaW9JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9yYWRpby1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSYWRpb0dyb3VwRGlyZWN0aXZlLCBSYWRpb0dyb3VwUHJvcHMsIFJEWF9SQURJT19HUk9VUCB9IGZyb20gJy4vcmFkaW8tdG9rZW5zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdkaXZbUmFkaW9Sb290XScsXG4gICAgZXhwb3J0QXM6ICdSYWRpb1Jvb3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUkRYX1JBRElPX0dST1VQLCB1c2VFeGlzdGluZzogUmR4UmFkaW9Hcm91cERpcmVjdGl2ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmR4UmFkaW9Hcm91cERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAncmFkaW9ncm91cCcsXG4gICAgICAgICdbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSc6ICdfb3JpZW50YXRpb24nLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgPyBcIlwiIDogbnVsbCcsXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnLTEnLFxuICAgICAgICAnW2F0dHIuZGlyXSc6ICdkaXInLFxuICAgICAgICAnKGtleWRvd24pJzogJ19vbktleWRvd24oJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnX29uRm9jdXNpbigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UmFkaW9Hcm91cERpcmVjdGl2ZVxuICAgIGltcGxlbWVudHMgUmFkaW9Hcm91cFByb3BzLCBSYWRpb0dyb3VwRGlyZWN0aXZlLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gICAgQENvbnRlbnRDaGlsZHJlbihSZHhSYWRpb0l0ZW1EaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgcmFkaW9JdGVtcyE6IFF1ZXJ5TGlzdDxSZHhSYWRpb0l0ZW1EaXJlY3RpdmU+O1xuICAgIHByaXZhdGUgZm9jdXNLZXlNYW5hZ2VyITogRm9jdXNLZXlNYW5hZ2VyPFJkeFJhZGlvSXRlbURpcmVjdGl2ZT47XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkaXI/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3JpZW50YXRpb24gb2YgdGhlIHJhZGlvIGdyb3VwIG9ubHkgdmVydGljYWwuXG4gICAgICogSG9yaXpvbnRhbCByYWRpbyBidXR0b25zIGNhbiBzb21ldGltZXMgYmUgY2hhbGxlbmdpbmcgdG8gc2NhbiBhbmQgbG9jYWxpemUuXG4gICAgICogVGhlIGhvcml6b250YWwgYXJyYW5nZW1lbnQgb2YgcmFkaW8gYnV0dG9ucyBtYXkgYWxzbyBsZWFkIHRvIGRpZmZpY3VsdGllcyBpbiBkZXRlcm1pbmluZyB3aGljaFxuICAgICAqIGxhYmVsIGNvcnJlc3BvbmRzIHRvIHdoaWNoIGJ1dHRvbjogd2hldGhlciB0aGUgbGFiZWwgaXMgYWJvdmUgb3IgYmVsb3cgdGhlIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCAndmVydGljYWwnXG4gICAgICovXG4gICAgcmVhZG9ubHkgX29yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSByYWRpbyBncm91cCBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgICAgICAvKiBFbXB0eSAqL1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSByYWRpbyBncm91cCBpcyB0b3VjaGVkLlxuICAgICAqL1xuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAgICAgLyogRW1wdHkgKi9cbiAgICB9O1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5yYWRpb0l0ZW1zKS53aXRoV3JhcCgpLndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5yYWRpb0l0ZW1zLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW0oKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtKGZhbHNlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYSByYWRpbyBpdGVtLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHJhZGlvIGl0ZW0gdG8gc2VsZWN0LlxuICAgICAqL1xuICAgIHNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlPy4odmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW0oKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhlIHZhbHVlIG9mIHRoZSByYWRpbyBncm91cC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMucmFkaW9JdGVtcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8gZ3JvdXAgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHJhZGlvIGdyb3VwIGNoYW5nZXMuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgcmFkaW8gZ3JvdXAuXG4gICAgICogQHBhcmFtIGlzRGlzYWJsZWQgV2hldGhlciB0aGUgcmFkaW8gZ3JvdXAgaXMgZGlzYWJsZWQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gZm9jdXMgbGVhdmVzIHRoZSByYWRpbyBncm91cC5cbiAgICAgKi9cbiAgICBfb25Gb2N1c2luKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgcmFkaW9JdGVtID0gdGhpcy5yYWRpb0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZWxlbWVudC5uYXRpdmVFbGVtZW50ID09PSB0YXJnZXQpO1xuICAgICAgICBpZiAocmFkaW9JdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHJhZGlvSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICAgICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICAgICAgICBjYXNlIEVOVEVSOlxuICAgICAgICAgICAgY2FzZSBTUEFDRTpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZEl0ZW0oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRE9XTl9BUlJPVzpcbiAgICAgICAgICAgIGNhc2UgUklHSFRfQVJST1c6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0Rm9jdXNlZEl0ZW0oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVVBfQVJST1c6XG4gICAgICAgICAgICBjYXNlIExFRlRfQVJST1c6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEZvY3VzZWRJdGVtKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRBQjpcbiAgICAgICAgICAgICAgICB0aGlzLnRhYk5hdmlnYXRpb24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzS2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RGb2N1c2VkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmZvY3VzS2V5TWFuYWdlci5hY3RpdmVJdGVtO1xuICAgICAgICBpZiAoZm9jdXNlZEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KGZvY3VzZWRJdGVtLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbShzZXRGb2N1cyA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aXZlSXRlbSA9IHRoaXMucmFkaW9JdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB0aGlzLnZhbHVlKTtcbiAgICAgICAgaWYgKGFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oYWN0aXZlSXRlbSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yYWRpb0l0ZW1zLmxlbmd0aCA+IDAgJiYgc2V0Rm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNLZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJOYXZpZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGNoZWNrZWRJdGVtID0gdGhpcy5yYWRpb0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCk7XG4gICAgICAgIGlmIChjaGVja2VkSXRlbSkge1xuICAgICAgICAgICAgY2hlY2tlZEl0ZW0uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJhZGlvSXRlbXMuZmlyc3QpIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW9JdGVtcy5maXJzdC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const RDX_RADIO_GROUP = new InjectionToken('RdxRadioGroup');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tdG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9yYWRpby9zcmMvcmFkaW8tdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFlL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFzQixlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFkaW9Hcm91cFByb3BzIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFkaW9Hcm91cERpcmVjdGl2ZSBleHRlbmRzIFJhZGlvR3JvdXBQcm9wcyB7XG4gICAgc2VsZWN0KHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgb25Ub3VjaGVkKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBSRFhfUkFESU9fR1JPVVAgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmFkaW9Hcm91cERpcmVjdGl2ZT4oJ1JkeFJhZGlvR3JvdXAnKTtcbiJdfQ==