@radix-ng/primitives 0.1.0 → 0.2.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 (148) hide show
  1. package/README.md +2 -4
  2. package/checkbox/src/checkbox-indicator.directive.d.ts +6 -0
  3. package/checkbox/src/checkbox.directive.d.ts +71 -0
  4. package/checkbox/src/checkbox.token.d.ts +4 -0
  5. package/esm2022/checkbox/index.mjs +4 -0
  6. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +5 -0
  7. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +23 -0
  8. package/esm2022/checkbox/src/checkbox.directive.mjs +135 -0
  9. package/esm2022/checkbox/src/checkbox.token.mjs +6 -0
  10. package/esm2022/index.mjs +2 -0
  11. package/esm2022/label/index.mjs +2 -0
  12. package/esm2022/label/radix-ng-primitives-label.mjs +5 -0
  13. package/esm2022/label/src/label.directive.mjs +46 -0
  14. package/esm2022/progress/index.mjs +3 -0
  15. package/esm2022/progress/radix-ng-primitives-progress.mjs +5 -0
  16. package/esm2022/progress/src/progress-indicator.directive.mjs +23 -0
  17. package/esm2022/progress/src/progress.directive.mjs +62 -0
  18. package/esm2022/progress/src/progress.token.mjs +6 -0
  19. package/esm2022/radio/index.mjs +6 -0
  20. package/esm2022/radio/radix-ng-primitives-radio.mjs +5 -0
  21. package/esm2022/radio/src/radio-group.directive.mjs +108 -0
  22. package/esm2022/radio/src/radio-group.token.mjs +6 -0
  23. package/esm2022/radio/src/radio-indicator.directive.mjs +30 -0
  24. package/esm2022/radio/src/radio-item.directive.mjs +79 -0
  25. package/esm2022/radio/src/radio-item.token.mjs +6 -0
  26. package/esm2022/radix-ng-primitives.mjs +5 -0
  27. package/esm2022/roving-focus/index.mjs +5 -0
  28. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +5 -0
  29. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +115 -0
  30. package/esm2022/roving-focus/src/roving-focus-group.token.mjs +9 -0
  31. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +91 -0
  32. package/esm2022/roving-focus/src/roving-focus-item.token.mjs +6 -0
  33. package/esm2022/separator/index.mjs +2 -0
  34. package/esm2022/separator/radix-ng-primitives-separator.mjs +5 -0
  35. package/esm2022/separator/src/separator.directive.mjs +37 -0
  36. package/esm2022/switch/index.mjs +4 -0
  37. package/esm2022/switch/radix-ng-primitives-switch.mjs +5 -0
  38. package/esm2022/switch/src/switch-thumb.directive.mjs +25 -0
  39. package/esm2022/switch/src/switch.directive.mjs +125 -0
  40. package/esm2022/switch/src/switch.token.mjs +6 -0
  41. package/esm2022/visually-hidden/index.mjs +2 -0
  42. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +5 -0
  43. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +42 -0
  44. package/fesm2022/radix-ng-primitives-checkbox.mjs +166 -0
  45. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -0
  46. package/fesm2022/radix-ng-primitives-label.mjs +53 -0
  47. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -0
  48. package/fesm2022/radix-ng-primitives-progress.mjs +93 -0
  49. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -0
  50. package/fesm2022/radix-ng-primitives-radio.mjs +221 -0
  51. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -0
  52. package/fesm2022/radix-ng-primitives-roving-focus.mjs +220 -0
  53. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -0
  54. package/fesm2022/radix-ng-primitives-separator.mjs +44 -0
  55. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -0
  56. package/fesm2022/radix-ng-primitives-switch.mjs +158 -0
  57. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -0
  58. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +49 -0
  59. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -0
  60. package/fesm2022/radix-ng-primitives.mjs +4 -0
  61. package/fesm2022/radix-ng-primitives.mjs.map +1 -0
  62. package/label/src/label.directive.d.ts +14 -0
  63. package/package.json +88 -24
  64. package/progress/src/progress-indicator.directive.d.ts +6 -0
  65. package/progress/src/progress.directive.d.ts +26 -0
  66. package/progress/src/progress.token.d.ts +4 -0
  67. package/radio/README.md +1 -0
  68. package/radio/index.d.ts +5 -0
  69. package/radio/src/radio-group.directive.d.ts +65 -0
  70. package/radio/src/radio-group.token.d.ts +4 -0
  71. package/radio/src/radio-indicator.directive.d.ts +13 -0
  72. package/radio/src/radio-item.directive.d.ts +36 -0
  73. package/radio/src/radio-item.token.d.ts +4 -0
  74. package/roving-focus/src/roving-focus-group.directive.d.ts +55 -0
  75. package/roving-focus/src/roving-focus-group.token.d.ts +7 -0
  76. package/roving-focus/src/roving-focus-item.directive.d.ts +52 -0
  77. package/roving-focus/src/roving-focus-item.token.d.ts +4 -0
  78. package/separator/src/separator.directive.d.ts +16 -0
  79. package/switch/src/switch-thumb.directive.d.ts +9 -0
  80. package/switch/src/switch.directive.d.ts +73 -0
  81. package/switch/src/switch.token.d.ts +4 -0
  82. package/visually-hidden/src/visually-hidden.directive.d.ts +11 -0
  83. package/.docs/overview/accessibility.docs.mdx +0 -45
  84. package/.docs/overview/installation.docs.mdx +0 -15
  85. package/.docs/overview/introduction.docs.mdx +0 -59
  86. package/.docs/utils/storybook.ts +0 -30
  87. package/.eslintrc.json +0 -56
  88. package/.storybook/helpers/bages-config.ts +0 -43
  89. package/.storybook/main.ts +0 -24
  90. package/.storybook/manager-head.html +0 -76
  91. package/.storybook/manager.ts +0 -6
  92. package/.storybook/preview.ts +0 -58
  93. package/.storybook/rdxTheme.ts +0 -8
  94. package/.storybook/tsconfig.json +0 -20
  95. package/CHANGELOG.md +0 -6
  96. package/checkbox/ng-package.json +0 -5
  97. package/checkbox/src/checkbox-indicator.directive.ts +0 -15
  98. package/checkbox/src/checkbox.directive.ts +0 -138
  99. package/checkbox/src/checkbox.token.ts +0 -8
  100. package/checkbox/stories/checkbox.component.ts +0 -50
  101. package/checkbox/stories/checkbox.stories.ts +0 -29
  102. package/checkbox/stories/style.css +0 -265
  103. package/jest.config.ts +0 -22
  104. package/label/ng-package.json +0 -5
  105. package/label/src/label.directive.ts +0 -36
  106. package/label/stories/label.docs.mdx +0 -40
  107. package/label/stories/label.stories.ts +0 -63
  108. package/ng-package.json +0 -7
  109. package/progress/ng-package.json +0 -5
  110. package/progress/src/progress-indicator.directive.ts +0 -15
  111. package/progress/src/progress.directive.ts +0 -51
  112. package/progress/src/progress.token.ts +0 -8
  113. package/progress/stories/progress.docs.mdx +0 -66
  114. package/progress/stories/progress.stories.ts +0 -61
  115. package/project.json +0 -90
  116. package/roving-focus/ng-package.json +0 -5
  117. package/roving-focus/src/roving-focus-group.directive.ts +0 -135
  118. package/roving-focus/src/roving-focus-group.token.ts +0 -13
  119. package/roving-focus/src/roving-focus-item.directive.ts +0 -98
  120. package/roving-focus/src/roving-focus-item.token.ts +0 -10
  121. package/separator/ng-package.json +0 -5
  122. package/separator/src/separator.directive.spec.ts +0 -59
  123. package/separator/src/separator.directive.ts +0 -24
  124. package/separator/stories/separator.docs.mdx +0 -38
  125. package/separator/stories/separator.stories.ts +0 -91
  126. package/switch/ng-package.json +0 -5
  127. package/switch/src/switch-thumb.directive.ts +0 -17
  128. package/switch/src/switch.directive.ts +0 -132
  129. package/switch/src/switch.token.ts +0 -8
  130. package/switch/stories/switch.docs.mdx +0 -74
  131. package/switch/stories/switch.stories.ts +0 -76
  132. package/test-setup.ts +0 -8
  133. package/tsconfig.json +0 -32
  134. package/tsconfig.lib.json +0 -19
  135. package/tsconfig.lib.prod.json +0 -9
  136. package/tsconfig.spec.json +0 -21
  137. package/visually-hidden/ng-package.json +0 -5
  138. package/visually-hidden/src/visually-hidden.directive.spec.ts +0 -48
  139. package/visually-hidden/src/visually-hidden.directive.ts +0 -35
  140. package/visually-hidden/stories/visually-hidden.docs.mdx +0 -35
  141. /package/checkbox/{index.ts → index.d.ts} +0 -0
  142. /package/{index.ts → index.d.ts} +0 -0
  143. /package/label/{index.ts → index.d.ts} +0 -0
  144. /package/progress/{index.ts → index.d.ts} +0 -0
  145. /package/roving-focus/{index.ts → index.d.ts} +0 -0
  146. /package/separator/{index.ts → index.d.ts} +0 -0
  147. /package/switch/{index.ts → index.d.ts} +0 -0
  148. /package/visually-hidden/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,6 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const RadioGroupToken = new InjectionToken('RadioGroupToken');
3
+ export function injectRadioGroup() {
4
+ return inject(RadioGroupToken);
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1ncm91cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQXNCLGlCQUFpQixDQUFDLENBQUM7QUFFMUYsTUFBTSxVQUFVLGdCQUFnQjtJQUM1QixPQUFPLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBSYWRpb0dyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9yYWRpby1ncm91cC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUmFkaW9Hcm91cFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJhZGlvR3JvdXBEaXJlY3RpdmU+KCdSYWRpb0dyb3VwVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJhZGlvR3JvdXAoKTogUmFkaW9Hcm91cERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGluamVjdChSYWRpb0dyb3VwVG9rZW4pO1xufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { Directive } from '@angular/core';
2
+ import { injectRadioGroup } from './radio-group.token';
3
+ import { injectRadioItem } from './radio-item.token';
4
+ import * as i0 from "@angular/core";
5
+ export class RadioIndicatorDirective {
6
+ constructor() {
7
+ /**
8
+ * Access the radio group.
9
+ */
10
+ this.radioGroup = injectRadioGroup();
11
+ /**
12
+ * Access the radio group item.
13
+ */
14
+ this.radioItem = injectRadioItem();
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RadioIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RadioIndicatorDirective, isStandalone: true, selector: "[rdxRadioIndicator]", host: { properties: { "attr.data-state": "radioGroup.value === this.radioItem.value ? \"checked\" : \"unchecked\"", "attr.data-disabled": "radioItem.disabled ? \"\" : null" } }, ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RadioIndicatorDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[rdxRadioIndicator]',
23
+ standalone: true,
24
+ host: {
25
+ '[attr.data-state]': 'radioGroup.value === this.radioItem.value ? "checked" : "unchecked"',
26
+ '[attr.data-disabled]': 'radioItem.disabled ? "" : null'
27
+ }
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taW5kaWNhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaW8vc3JjL3JhZGlvLWluZGljYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVXJELE1BQU0sT0FBTyx1QkFBdUI7SUFScEM7UUFTSTs7V0FFRztRQUNnQixlQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUVuRDs7V0FFRztRQUNnQixjQUFTLEdBQUcsZUFBZSxFQUFFLENBQUM7S0FDcEQ7OEdBVlksdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBUm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixtQkFBbUIsRUFBRSxxRUFBcUU7d0JBQzFGLHNCQUFzQixFQUFFLGdDQUFnQztxQkFDM0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdFJhZGlvR3JvdXAgfSBmcm9tICcuL3JhZGlvLWdyb3VwLnRva2VuJztcbmltcG9ydCB7IGluamVjdFJhZGlvSXRlbSB9IGZyb20gJy4vcmFkaW8taXRlbS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFJhZGlvSW5kaWNhdG9yXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdyYWRpb0dyb3VwLnZhbHVlID09PSB0aGlzLnJhZGlvSXRlbS52YWx1ZSA/IFwiY2hlY2tlZFwiIDogXCJ1bmNoZWNrZWRcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdyYWRpb0l0ZW0uZGlzYWJsZWQgPyBcIlwiIDogbnVsbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvSW5kaWNhdG9yRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIHJhZGlvIGdyb3VwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSByYWRpb0dyb3VwID0gaW5qZWN0UmFkaW9Hcm91cCgpO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSByYWRpbyBncm91cCBpdGVtLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSByYWRpb0l0ZW0gPSBpbmplY3RSYWRpb0l0ZW0oKTtcbn1cbiJdfQ==
@@ -0,0 +1,79 @@
1
+ import { Directive, HostListener, Input, booleanAttribute } from '@angular/core';
2
+ import { injectRadioGroup } from './radio-group.token';
3
+ import { RadioItemToken } from './radio-item.token';
4
+ // eslint-disable-next-line @nx/enforce-module-boundaries
5
+ import { RovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@radix-ng/primitives/roving-focus";
8
+ export class RadioItemDirective {
9
+ constructor() {
10
+ /**
11
+ * Access the radio group.
12
+ */
13
+ this.radioGroup = injectRadioGroup();
14
+ /**
15
+ * Whether the radio item is disabled.
16
+ * @default false
17
+ */
18
+ this.disabled = false;
19
+ }
20
+ /**
21
+ * Handle keydown events.
22
+ * @param event The keydown event.
23
+ * @internal
24
+ */
25
+ onKeydown(event) {
26
+ // According to WAI ARIA, radio groups don't activate items on enter keypress
27
+ if (event.key === 'Enter') {
28
+ event.preventDefault();
29
+ }
30
+ }
31
+ /**
32
+ * When the item receives focus, select it.
33
+ * @internal
34
+ */
35
+ onFocus() {
36
+ this.radioGroup.select(this.value);
37
+ }
38
+ /**
39
+ * When the item receives a click, select it.
40
+ * @internal
41
+ */
42
+ onClick() {
43
+ this.radioGroup.select(this.value);
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RadioItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
46
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RadioItemDirective, isStandalone: true, selector: "button[rdxRadioItem]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "type": "button", "role": "radio" }, listeners: { "keydown": "onKeydown($event)", "focus": "onFocus()", "click": "onClick()" }, properties: { "attr.aria-checked": "radioGroup.value === value ? \"true\" : \"false\"", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "radioGroup.value === value ? \"checked\" : \"unchecked\"" } }, providers: [{ provide: RadioItemToken, useExisting: RadioItemDirective }], hostDirectives: [{ directive: i1.RovingFocusItemDirective }], ngImport: i0 }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RadioItemDirective, decorators: [{
49
+ type: Directive,
50
+ args: [{
51
+ selector: 'button[rdxRadioItem]',
52
+ standalone: true,
53
+ hostDirectives: [RovingFocusItemDirective],
54
+ providers: [{ provide: RadioItemToken, useExisting: RadioItemDirective }],
55
+ host: {
56
+ type: 'button',
57
+ role: 'radio',
58
+ '[attr.aria-checked]': 'radioGroup.value === value ? "true" : "false"',
59
+ '[attr.data-disabled]': 'disabled ? "" : null',
60
+ '[attr.data-state]': 'radioGroup.value === value ? "checked" : "unchecked"'
61
+ }
62
+ }]
63
+ }], propDecorators: { value: [{
64
+ type: Input,
65
+ args: [{ required: true }]
66
+ }], disabled: [{
67
+ type: Input,
68
+ args: [{ transform: booleanAttribute }]
69
+ }], onKeydown: [{
70
+ type: HostListener,
71
+ args: ['keydown', ['$event']]
72
+ }], onFocus: [{
73
+ type: HostListener,
74
+ args: ['focus']
75
+ }], onClick: [{
76
+ type: HostListener,
77
+ args: ['click']
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JhZGlvL3NyYy9yYWRpby1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBZTdFLE1BQU0sT0FBTyxrQkFBa0I7SUFiL0I7UUFjSTs7V0FFRztRQUNnQixlQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQU9uRDs7O1dBR0c7UUFDcUMsYUFBUSxHQUFHLEtBQUssQ0FBQztLQWdDNUQ7SUE5Qkc7Ozs7T0FJRztJQUVPLFNBQVMsQ0FBQyxLQUFvQjtRQUNwQyw2RUFBNkU7UUFDN0UsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs4R0E5Q1Esa0JBQWtCO2tHQUFsQixrQkFBa0IscUhBZVAsZ0JBQWdCLGlZQXhCekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQUM7OzJGQVNoRSxrQkFBa0I7a0JBYjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUMxQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxDQUFDO29CQUN6RSxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLE9BQU87d0JBQ2IscUJBQXFCLEVBQUUsK0NBQStDO3dCQUN0RSxzQkFBc0IsRUFBRSxzQkFBc0I7d0JBQzlDLG1CQUFtQixFQUFFLHNEQUFzRDtxQkFDOUU7aUJBQ0o7OEJBVThCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU1lLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTVCLFNBQVM7c0JBRGxCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWF6QixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU87Z0JBVVgsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RSYWRpb0dyb3VwIH0gZnJvbSAnLi9yYWRpby1ncm91cC50b2tlbic7XG5pbXBvcnQgeyBSYWRpb0l0ZW1Ub2tlbiB9IGZyb20gJy4vcmFkaW8taXRlbS50b2tlbic7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3JkeFJhZGlvSXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmFkaW9JdGVtVG9rZW4sIHVzZUV4aXN0aW5nOiBSYWRpb0l0ZW1EaXJlY3RpdmUgfV0sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgcm9sZTogJ3JhZGlvJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtY2hlY2tlZF0nOiAncmFkaW9Hcm91cC52YWx1ZSA9PT0gdmFsdWUgPyBcInRydWVcIiA6IFwiZmFsc2VcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCA/IFwiXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3JhZGlvR3JvdXAudmFsdWUgPT09IHZhbHVlID8gXCJjaGVja2VkXCIgOiBcInVuY2hlY2tlZFwiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9JdGVtRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIHJhZGlvIGdyb3VwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSByYWRpb0dyb3VwID0gaW5qZWN0UmFkaW9Hcm91cCgpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSByYWRpbyBpdGVtLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHZhbHVlITogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcmFkaW8gaXRlbSBpcyBkaXNhYmxlZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIGtleWRvd24gZXZlbnRzLlxuICAgICAqIEBwYXJhbSBldmVudCBUaGUga2V5ZG93biBldmVudC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byBXQUkgQVJJQSwgcmFkaW8gZ3JvdXBzIGRvbid0IGFjdGl2YXRlIGl0ZW1zIG9uIGVudGVyIGtleXByZXNzXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRoZSBpdGVtIHJlY2VpdmVzIGZvY3VzLCBzZWxlY3QgaXQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJhZGlvR3JvdXAuc2VsZWN0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gdGhlIGl0ZW0gcmVjZWl2ZXMgYSBjbGljaywgc2VsZWN0IGl0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yYWRpb0dyb3VwLnNlbGVjdCh0aGlzLnZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const RadioItemToken = new InjectionToken('RadioItemToken');
3
+ export function injectRadioItem() {
4
+ return inject(RadioItemToken);
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaW8vc3JjL3JhZGlvLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFxQixnQkFBZ0IsQ0FBQyxDQUFDO0FBRXZGLE1BQU0sVUFBVSxlQUFlO0lBQzNCLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJhZGlvSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcmFkaW8taXRlbS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUmFkaW9JdGVtVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmFkaW9JdGVtRGlyZWN0aXZlPignUmFkaW9JdGVtVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJhZGlvSXRlbSgpOiBSYWRpb0l0ZW1EaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUmFkaW9JdGVtVG9rZW4pO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcmFkaXgtbmctcHJpbWl0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './src/roving-focus-group.directive';
2
+ export * from './src/roving-focus-group.token';
3
+ export * from './src/roving-focus-item.directive';
4
+ export * from './src/roving-focus-item.token';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvcm92aW5nLWZvY3VzLWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9yb3ZpbmctZm9jdXMtZ3JvdXAudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcm92aW5nLWZvY3VzLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3JvdmluZy1mb2N1cy1pdGVtLnRva2VuJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1yb3ZpbmctZm9jdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cy9yYWRpeC1uZy1wcmltaXRpdmVzLXJvdmluZy1mb2N1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,115 @@
1
+ import { FocusKeyManager } from '@angular/cdk/a11y';
2
+ import { Directionality } from '@angular/cdk/bidi';
3
+ import { DestroyRef, Directive, Input, QueryList, booleanAttribute, inject } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { filter } from 'rxjs';
6
+ import { RovingFocusGroupToken } from './roving-focus-group.token';
7
+ import * as i0 from "@angular/core";
8
+ export class RovingFocusGroupDirective {
9
+ constructor() {
10
+ this.directionality = inject(Directionality);
11
+ this.destroyRef = inject(DestroyRef);
12
+ /**
13
+ * Create a query list of all the roving focus items.
14
+ * We don't use ContentChildren as dynamically added items may not be in the correct order.
15
+ */
16
+ this.items = new QueryList();
17
+ /**
18
+ * Create the focus key manager instance.
19
+ * @internal
20
+ */
21
+ this.keyManager = new FocusKeyManager(this.items);
22
+ /**
23
+ * Determine the orientation of the roving focus group.
24
+ * @default vertical
25
+ */
26
+ this.orientation = 'vertical';
27
+ /**
28
+ * Determine if focus should wrap when the end or beginning is reached.
29
+ * @default true
30
+ */
31
+ this.wrap = true;
32
+ }
33
+ ngOnInit() {
34
+ this.keyManager.withWrap(this.wrap);
35
+ this.setOrientation(this.orientation);
36
+ // update the key manager orientation if the document direction changes
37
+ this.directionality.change
38
+ .pipe(filter(() => this.orientation === 'horizontal'), takeUntilDestroyed(this.destroyRef))
39
+ .subscribe((direction) => this.keyManager.withHorizontalOrientation(direction));
40
+ }
41
+ ngOnChanges(changes) {
42
+ if ('orientation' in changes) {
43
+ this.setOrientation(this.orientation);
44
+ }
45
+ if ('wrap' in changes) {
46
+ this.keyManager.withWrap(this.wrap);
47
+ }
48
+ }
49
+ ngOnDestroy() {
50
+ this.keyManager.destroy();
51
+ }
52
+ /**
53
+ * Register a roving focus item.
54
+ * @param item The roving focus item to register.
55
+ */
56
+ register(item) {
57
+ // add the item to the query list by sort the items based on their order
58
+ this.items.reset([...this.items.toArray(), item].sort((a, b) => a.order - b.order));
59
+ // if this is the first item, make it the active item
60
+ if (this.items.length === 1) {
61
+ this.keyManager.updateActiveItem(item);
62
+ }
63
+ }
64
+ /**
65
+ * Unregister a roving focus item.
66
+ * @param item The roving focus item to unregister.
67
+ */
68
+ unregister(item) {
69
+ // determine if the item being removed is the active item
70
+ const isActive = this.keyManager.activeItem === item;
71
+ // remove the item from the query list
72
+ this.items.reset(this.items.toArray().filter((i) => i !== item));
73
+ // if the item being removed is the active item, make the first item the active item
74
+ if (isActive) {
75
+ this.keyManager.updateActiveItem(0);
76
+ }
77
+ }
78
+ /**
79
+ * Handle key events on the roving focus items.
80
+ * @param event The key event.
81
+ * @internal
82
+ */
83
+ onKeydown(event) {
84
+ this.keyManager.onKeydown(event);
85
+ }
86
+ /**
87
+ * Set the orientation of the roving focus group.
88
+ * @param orientation The orientation of the roving focus group.
89
+ */
90
+ setOrientation(orientation) {
91
+ this.orientation = orientation;
92
+ if (orientation === 'horizontal') {
93
+ this.keyManager.withHorizontalOrientation(this.directionality.value);
94
+ }
95
+ else {
96
+ this.keyManager.withVerticalOrientation();
97
+ }
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RovingFocusGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
100
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RovingFocusGroupDirective, isStandalone: true, selector: "[rdxRovingFocusGroup]", inputs: { orientation: "orientation", wrap: ["wrap", "wrap", booleanAttribute] }, providers: [{ provide: RovingFocusGroupToken, useExisting: RovingFocusGroupDirective }], usesOnChanges: true, ngImport: i0 }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RovingFocusGroupDirective, decorators: [{
103
+ type: Directive,
104
+ args: [{
105
+ selector: '[rdxRovingFocusGroup]',
106
+ standalone: true,
107
+ providers: [{ provide: RovingFocusGroupToken, useExisting: RovingFocusGroupDirective }]
108
+ }]
109
+ }], propDecorators: { orientation: [{
110
+ type: Input
111
+ }], wrap: [{
112
+ type: Input,
113
+ args: [{ transform: booleanAttribute }]
114
+ }] } });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLWZvY3VzLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcm92aW5nLWZvY3VzL3NyYy9yb3ZpbmctZm9jdXMtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixTQUFTLEVBQ1QsS0FBSyxFQUlMLFNBQVMsRUFFVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT25FLE1BQU0sT0FBTyx5QkFBeUI7SUFMdEM7UUFNcUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFeEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqRDs7O1dBR0c7UUFDYyxVQUFLLEdBQUcsSUFBSSxTQUFTLEVBQTRCLENBQUM7UUFFbkU7OztXQUdHO1FBQ00sZUFBVSxHQUFHLElBQUksZUFBZSxDQUEyQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEY7OztXQUdHO1FBQ00sZ0JBQVcsR0FBOEIsVUFBVSxDQUFDO1FBRTdEOzs7V0FHRztRQUNxQyxTQUFJLEdBQUcsSUFBSSxDQUFDO0tBbUZ2RDtJQWpGRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU07YUFDckIsSUFBSSxDQUNELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQyxFQUMvQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3RDO2FBQ0EsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxJQUE4QjtRQUNuQyx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVwRixxREFBcUQ7UUFDckQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLElBQThCO1FBQ3JDLHlEQUF5RDtRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUM7UUFFckQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVqRSxvRkFBb0Y7UUFDcEYsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsV0FBc0M7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFL0IsSUFBSSxXQUFXLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzlDLENBQUM7SUFDTCxDQUFDOzhHQTdHUSx5QkFBeUI7a0dBQXpCLHlCQUF5QixzSEEyQmQsZ0JBQWdCLGdCQTdCekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQzs7MkZBRTlFLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVywyQkFBMkIsRUFBRSxDQUFDO2lCQUMxRjs4QkFzQlksV0FBVztzQkFBbkIsS0FBSztnQkFNa0MsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHR5cGUgeyBSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3JvdmluZy1mb2N1cy1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSb3ZpbmdGb2N1c0dyb3VwVG9rZW4gfSBmcm9tICcuL3JvdmluZy1mb2N1cy1ncm91cC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFJvdmluZ0ZvY3VzR3JvdXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUm92aW5nRm9jdXNHcm91cFRva2VuLCB1c2VFeGlzdGluZzogUm92aW5nRm9jdXNHcm91cERpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3Rpb25hbGl0eSA9IGluamVjdChEaXJlY3Rpb25hbGl0eSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBxdWVyeSBsaXN0IG9mIGFsbCB0aGUgcm92aW5nIGZvY3VzIGl0ZW1zLlxuICAgICAqIFdlIGRvbid0IHVzZSBDb250ZW50Q2hpbGRyZW4gYXMgZHluYW1pY2FsbHkgYWRkZWQgaXRlbXMgbWF5IG5vdCBiZSBpbiB0aGUgY29ycmVjdCBvcmRlci5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zID0gbmV3IFF1ZXJ5TGlzdDxSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmU+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgdGhlIGZvY3VzIGtleSBtYW5hZ2VyIGluc3RhbmNlLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGtleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyPFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZT4odGhpcy5pdGVtcyk7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSByb3ZpbmcgZm9jdXMgZ3JvdXAuXG4gICAgICogQGRlZmF1bHQgdmVydGljYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKSBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICd2ZXJ0aWNhbCc7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgaWYgZm9jdXMgc2hvdWxkIHdyYXAgd2hlbiB0aGUgZW5kIG9yIGJlZ2lubmluZyBpcyByZWFjaGVkLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgd3JhcCA9IHRydWU7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhXcmFwKHRoaXMud3JhcCk7XG5cbiAgICAgICAgdGhpcy5zZXRPcmllbnRhdGlvbih0aGlzLm9yaWVudGF0aW9uKTtcblxuICAgICAgICAvLyB1cGRhdGUgdGhlIGtleSBtYW5hZ2VyIG9yaWVudGF0aW9uIGlmIHRoZSBkb2N1bWVudCBkaXJlY3Rpb24gY2hhbmdlc1xuICAgICAgICB0aGlzLmRpcmVjdGlvbmFsaXR5LmNoYW5nZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpcmVjdGlvbikgPT4gdGhpcy5rZXlNYW5hZ2VyLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oZGlyZWN0aW9uKSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ29yaWVudGF0aW9uJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnNldE9yaWVudGF0aW9uKHRoaXMub3JpZW50YXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCd3cmFwJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIud2l0aFdyYXAodGhpcy53cmFwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleU1hbmFnZXIuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGEgcm92aW5nIGZvY3VzIGl0ZW0uXG4gICAgICogQHBhcmFtIGl0ZW0gVGhlIHJvdmluZyBmb2N1cyBpdGVtIHRvIHJlZ2lzdGVyLlxuICAgICAqL1xuICAgIHJlZ2lzdGVyKGl0ZW06IFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICAvLyBhZGQgdGhlIGl0ZW0gdG8gdGhlIHF1ZXJ5IGxpc3QgYnkgc29ydCB0aGUgaXRlbXMgYmFzZWQgb24gdGhlaXIgb3JkZXJcbiAgICAgICAgdGhpcy5pdGVtcy5yZXNldChbLi4udGhpcy5pdGVtcy50b0FycmF5KCksIGl0ZW1dLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKSk7XG5cbiAgICAgICAgLy8gaWYgdGhpcyBpcyB0aGUgZmlyc3QgaXRlbSwgbWFrZSBpdCB0aGUgYWN0aXZlIGl0ZW1cbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgYSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAcGFyYW0gaXRlbSBUaGUgcm92aW5nIGZvY3VzIGl0ZW0gdG8gdW5yZWdpc3Rlci5cbiAgICAgKi9cbiAgICB1bnJlZ2lzdGVyKGl0ZW06IFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICAvLyBkZXRlcm1pbmUgaWYgdGhlIGl0ZW0gYmVpbmcgcmVtb3ZlZCBpcyB0aGUgYWN0aXZlIGl0ZW1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSA9PT0gaXRlbTtcblxuICAgICAgICAvLyByZW1vdmUgdGhlIGl0ZW0gZnJvbSB0aGUgcXVlcnkgbGlzdFxuICAgICAgICB0aGlzLml0ZW1zLnJlc2V0KHRoaXMuaXRlbXMudG9BcnJheSgpLmZpbHRlcigoaSkgPT4gaSAhPT0gaXRlbSkpO1xuXG4gICAgICAgIC8vIGlmIHRoZSBpdGVtIGJlaW5nIHJlbW92ZWQgaXMgdGhlIGFjdGl2ZSBpdGVtLCBtYWtlIHRoZSBmaXJzdCBpdGVtIHRoZSBhY3RpdmUgaXRlbVxuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIGtleSBldmVudHMgb24gdGhlIHJvdmluZyBmb2N1cyBpdGVtcy5cbiAgICAgKiBAcGFyYW0gZXZlbnQgVGhlIGtleSBldmVudC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgcm92aW5nIGZvY3VzIGdyb3VwLlxuICAgICAqIEBwYXJhbSBvcmllbnRhdGlvbiBUaGUgb3JpZW50YXRpb24gb2YgdGhlIHJvdmluZyBmb2N1cyBncm91cC5cbiAgICAgKi9cbiAgICBzZXRPcmllbnRhdGlvbihvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9yaWVudGF0aW9uID0gb3JpZW50YXRpb247XG5cbiAgICAgICAgaWYgKG9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuZGlyZWN0aW9uYWxpdHkudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const RovingFocusGroupToken = new InjectionToken('RovingFocusToken');
3
+ /**
4
+ * Inject the roving focus directive instance.
5
+ */
6
+ export function injectRovingFocusGroup() {
7
+ return inject(RovingFocusGroupToken);
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLWZvY3VzLWdyb3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9yb3ZpbmctZm9jdXMvc3JjL3JvdmluZy1mb2N1cy1ncm91cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsa0JBQWtCLENBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9yb3ZpbmctZm9jdXMtZ3JvdXAuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFJvdmluZ0ZvY3VzR3JvdXBUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlPihcbiAgICAnUm92aW5nRm9jdXNUb2tlbidcbik7XG5cbi8qKlxuICogSW5qZWN0IHRoZSByb3ZpbmcgZm9jdXMgZGlyZWN0aXZlIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um92aW5nRm9jdXNHcm91cCgpOiBSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJvdmluZ0ZvY3VzR3JvdXBUb2tlbik7XG59XG4iXX0=
@@ -0,0 +1,91 @@
1
+ import { ChangeDetectorRef, DestroyRef, Directive, ElementRef, HostBinding, HostListener, Input, booleanAttribute, inject, numberAttribute } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { injectRovingFocusGroup } from './roving-focus-group.token';
4
+ import { RovingFocusItemToken } from './roving-focus-item.token';
5
+ import * as i0 from "@angular/core";
6
+ export class RovingFocusItemDirective {
7
+ constructor() {
8
+ /**
9
+ * Access the group the roving focus item belongs to.
10
+ */
11
+ this.group = injectRovingFocusGroup();
12
+ /**
13
+ * Access the element reference of the roving focus item.
14
+ */
15
+ this.elementRef = inject((ElementRef));
16
+ /**
17
+ * Access the destroyRef
18
+ */
19
+ this.destroyRef = inject(DestroyRef);
20
+ /**
21
+ * Access the change detector ref
22
+ */
23
+ this.changeDetectorRef = inject(ChangeDetectorRef);
24
+ /**
25
+ * Define the order of the roving focus item in the group.
26
+ */
27
+ this.order = 0;
28
+ /**
29
+ * Define if the item is disabled.
30
+ */
31
+ this.disabled = false;
32
+ }
33
+ /**
34
+ * Derive the tabindex of the roving focus item.
35
+ * @internal
36
+ */
37
+ get tabindex() {
38
+ return this.group.keyManager.activeItem === this ? 0 : -1;
39
+ }
40
+ ngOnInit() {
41
+ // register the roving focus item with the group
42
+ this.group.register(this);
43
+ // listen for changes to the active item and run change detection
44
+ this.group.keyManager.change
45
+ .pipe(takeUntilDestroyed(this.destroyRef))
46
+ .subscribe(() => this.changeDetectorRef.markForCheck());
47
+ }
48
+ ngOnDestroy() {
49
+ // unregister the roving focus item with the group
50
+ this.group.unregister(this);
51
+ }
52
+ /**
53
+ * Handle key events on the roving focus item.
54
+ * @param event The key event.
55
+ * @internal
56
+ */
57
+ onKeydown(event) {
58
+ this.group.onKeydown(event);
59
+ }
60
+ /**
61
+ * Focus the roving focus item.
62
+ * @param origin The origin of the focus request.
63
+ * @internal
64
+ */
65
+ focus() {
66
+ this.elementRef?.nativeElement.focus();
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RovingFocusItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
69
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RovingFocusItemDirective, isStandalone: true, selector: "[rdxRovingFocusItem]", inputs: { order: ["order", "order", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [{ provide: RovingFocusItemToken, useExisting: RovingFocusItemDirective }], ngImport: i0 }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RovingFocusItemDirective, decorators: [{
72
+ type: Directive,
73
+ args: [{
74
+ selector: '[rdxRovingFocusItem]',
75
+ standalone: true,
76
+ providers: [{ provide: RovingFocusItemToken, useExisting: RovingFocusItemDirective }]
77
+ }]
78
+ }], propDecorators: { order: [{
79
+ type: Input,
80
+ args: [{ transform: numberAttribute }]
81
+ }], disabled: [{
82
+ type: Input,
83
+ args: [{ transform: booleanAttribute }]
84
+ }], tabindex: [{
85
+ type: HostBinding,
86
+ args: ['attr.tabindex']
87
+ }], onKeydown: [{
88
+ type: HostListener,
89
+ args: ['keydown', ['$event']]
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLWZvY3VzLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9yb3ZpbmctZm9jdXMvc3JjL3JvdmluZy1mb2N1cy1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPakUsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1JOztXQUVHO1FBQ2MsVUFBSyxHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFFbEQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFL0Q7O1dBRUc7UUFDb0MsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNxQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBNEM1RDtJQTFDRzs7O09BR0c7SUFDSCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVE7UUFDSixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUIsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU07YUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDUCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFFSCxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs4R0F4RVEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNEZBd0JiLGVBQWUsc0NBS2YsZ0JBQWdCLDJIQS9CekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQzs7MkZBRTVFLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFDO2lCQUN4Rjs4QkF5QjBDLEtBQUs7c0JBQTNDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUtHLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT2xDLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQTBCNUIsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdCxcbiAgICBudW1iZXJBdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBpbmplY3RSb3ZpbmdGb2N1c0dyb3VwIH0gZnJvbSAnLi9yb3ZpbmctZm9jdXMtZ3JvdXAudG9rZW4nO1xuaW1wb3J0IHsgUm92aW5nRm9jdXNJdGVtVG9rZW4gfSBmcm9tICcuL3JvdmluZy1mb2N1cy1pdGVtLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4Um92aW5nRm9jdXNJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJvdmluZ0ZvY3VzSXRlbVRva2VuLCB1c2VFeGlzdGluZzogUm92aW5nRm9jdXNJdGVtRGlyZWN0aXZlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBGb2N1c2FibGVPcHRpb24ge1xuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgZ3JvdXAgdGhlIHJvdmluZyBmb2N1cyBpdGVtIGJlbG9uZ3MgdG8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBncm91cCA9IGluamVjdFJvdmluZ0ZvY3VzR3JvdXAoKTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgZWxlbWVudCByZWZlcmVuY2Ugb2YgdGhlIHJvdmluZyBmb2N1cyBpdGVtLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGRlc3Ryb3lSZWZcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGNoYW5nZSBkZXRlY3RvciByZWZcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSB0aGUgb3JkZXIgb2YgdGhlIHJvdmluZyBmb2N1cyBpdGVtIGluIHRoZSBncm91cC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBvcmRlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgaWYgdGhlIGl0ZW0gaXMgZGlzYWJsZWQuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEZXJpdmUgdGhlIHRhYmluZGV4IG9mIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIGdldCB0YWJpbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0gPT09IHRoaXMgPyAwIDogLTE7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIHJlZ2lzdGVyIHRoZSByb3ZpbmcgZm9jdXMgaXRlbSB3aXRoIHRoZSBncm91cFxuICAgICAgICB0aGlzLmdyb3VwLnJlZ2lzdGVyKHRoaXMpO1xuXG4gICAgICAgIC8vIGxpc3RlbiBmb3IgY2hhbmdlcyB0byB0aGUgYWN0aXZlIGl0ZW0gYW5kIHJ1biBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMuZ3JvdXAua2V5TWFuYWdlci5jaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gdW5yZWdpc3RlciB0aGUgcm92aW5nIGZvY3VzIGl0ZW0gd2l0aCB0aGUgZ3JvdXBcbiAgICAgICAgdGhpcy5ncm91cC51bnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBrZXkgZXZlbnRzIG9uIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgVGhlIGtleSBldmVudC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cC5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvY3VzIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAcGFyYW0gb3JpZ2luIFRoZSBvcmlnaW4gb2YgdGhlIGZvY3VzIHJlcXVlc3QuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ export const RovingFocusItemToken = new InjectionToken('RovingFocusItemToken');
3
+ export function injectRovingFocusItem() {
4
+ return inject(RovingFocusItemToken);
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLWZvY3VzLWl0ZW0udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cy9zcmMvcm92aW5nLWZvY3VzLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ2xELHNCQUFzQixDQUN6QixDQUFDO0FBRUYsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcm92aW5nLWZvY3VzLWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFJvdmluZ0ZvY3VzSXRlbVRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZT4oXG4gICAgJ1JvdmluZ0ZvY3VzSXRlbVRva2VuJ1xuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJvdmluZ0ZvY3VzSXRlbSgpOiBSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUm92aW5nRm9jdXNJdGVtVG9rZW4pO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './src/separator.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NlcGFyYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2VwYXJhdG9yLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NlcGFyYXRvci9yYWRpeC1uZy1wcmltaXRpdmVzLXNlcGFyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Directive, Input, booleanAttribute } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SeparatorDirective {
4
+ constructor() {
5
+ /**
6
+ * The orientation of the separator.
7
+ * @default 'horizontal'
8
+ */
9
+ this.orientation = 'horizontal';
10
+ /**
11
+ * Whether the separator is for decoration purposes. If true, the separator will not be included in the accessibility tree.
12
+ * @default false
13
+ */
14
+ this.decorative = false;
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: SeparatorDirective, isStandalone: true, selector: "[rdxSeparator]", inputs: { orientation: ["rdxSeparatorOrientation", "orientation"], decorative: ["rdxSeparatorDecorative", "decorative", booleanAttribute] }, host: { properties: { "attr.role": "decorative ? \"none\" : \"separator\"", "attr.aria-orientation": "!decorative && orientation === \"vertical\" ? \"vertical\" : null", "attr.data-orientation": "orientation" } }, ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SeparatorDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[rdxSeparator]',
23
+ standalone: true,
24
+ host: {
25
+ '[attr.role]': 'decorative ? "none" : "separator"',
26
+ '[attr.aria-orientation]': '!decorative && orientation === "vertical" ? "vertical" : null',
27
+ '[attr.data-orientation]': 'orientation'
28
+ }
29
+ }]
30
+ }], propDecorators: { orientation: [{
31
+ type: Input,
32
+ args: ['rdxSeparatorOrientation']
33
+ }], decorative: [{
34
+ type: Input,
35
+ args: [{ alias: 'rdxSeparatorDecorative', transform: booleanAttribute }]
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VwYXJhdG9yL3NyYy9zZXBhcmF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVduRSxNQUFNLE9BQU8sa0JBQWtCO0lBVC9CO1FBVUk7OztXQUdHO1FBQytCLGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUV4Rjs7O1dBR0c7UUFDc0UsZUFBVSxHQUFHLEtBQUssQ0FBQztLQUMvRjs4R0FaWSxrQkFBa0I7a0dBQWxCLGtCQUFrQiwwS0FXMEIsZ0JBQWdCOzsyRkFYNUQsa0JBQWtCO2tCQVQ5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLG1DQUFtQzt3QkFDbEQseUJBQXlCLEVBQUUsK0RBQStEO3dCQUMxRix5QkFBeUIsRUFBRSxhQUFhO3FCQUMzQztpQkFDSjs4QkFNcUMsV0FBVztzQkFBNUMsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBTXlDLFVBQVU7c0JBQWxGLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhTZXBhcmF0b3JdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnJvbGVdJzogJ2RlY29yYXRpdmUgPyBcIm5vbmVcIiA6IFwic2VwYXJhdG9yXCInLFxuICAgICAgICAnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiAnIWRlY29yYXRpdmUgJiYgb3JpZW50YXRpb24gPT09IFwidmVydGljYWxcIiA/IFwidmVydGljYWxcIiA6IG51bGwnLFxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZXBhcmF0b3JEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgc2VwYXJhdG9yLlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgncmR4U2VwYXJhdG9yT3JpZW50YXRpb24nKSBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHNlcGFyYXRvciBpcyBmb3IgZGVjb3JhdGlvbiBwdXJwb3Nlcy4gSWYgdHJ1ZSwgdGhlIHNlcGFyYXRvciB3aWxsIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhTZXBhcmF0b3JEZWNvcmF0aXZlJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRlY29yYXRpdmUgPSBmYWxzZTtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './src/switch.directive';
2
+ export * from './src/switch-thumb.directive';
3
+ export * from './src/switch.token';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3N3aXRjaC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3N3aXRjaC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc3dpdGNoLXRodW1iLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zd2l0Y2gudG9rZW4nO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1zd2l0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3N3aXRjaC9yYWRpeC1uZy1wcmltaXRpdmVzLXN3aXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Directive } from '@angular/core';
2
+ import { injectSwitch } from './switch.token';
3
+ import * as i0 from "@angular/core";
4
+ export class SwitchThumbDirective {
5
+ constructor() {
6
+ /**
7
+ * Access the switch directive.
8
+ */
9
+ this.switch = injectSwitch();
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SwitchThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: SwitchThumbDirective, isStandalone: true, selector: "[rdxSwitchThumb]", host: { properties: { "attr.data-state": "switch.checked ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switch.disabled ? \"true\" : null" } }, ngImport: i0 }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SwitchThumbDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[rdxSwitchThumb]',
18
+ standalone: true,
19
+ host: {
20
+ '[attr.data-state]': 'switch.checked ? "checked" : "unchecked"',
21
+ '[attr.data-disabled]': 'switch.disabled ? "true" : null'
22
+ }
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLXRodW1iLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc3dpdGNoL3NyYy9zd2l0Y2gtdGh1bWIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVU5QyxNQUFNLE9BQU8sb0JBQW9CO0lBUmpDO1FBU0k7O1dBRUc7UUFDZ0IsV0FBTSxHQUFHLFlBQVksRUFBRSxDQUFDO0tBQzlDOzhHQUxZLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsMENBQTBDO3dCQUMvRCxzQkFBc0IsRUFBRSxpQ0FBaUM7cUJBQzVEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RTd2l0Y2ggfSBmcm9tICcuL3N3aXRjaC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFN3aXRjaFRodW1iXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzd2l0Y2guY2hlY2tlZCA/IFwiY2hlY2tlZFwiIDogXCJ1bmNoZWNrZWRcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdzd2l0Y2guZGlzYWJsZWQgPyBcInRydWVcIiA6IG51bGwnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hUaHVtYkRpcmVjdGl2ZSB7XG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBzd2l0Y2ggZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzd2l0Y2ggPSBpbmplY3RTd2l0Y2goKTtcbn1cbiJdfQ==