@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.
- package/README.md +2 -4
- package/checkbox/src/checkbox-indicator.directive.d.ts +6 -0
- package/checkbox/src/checkbox.directive.d.ts +71 -0
- package/checkbox/src/checkbox.token.d.ts +4 -0
- package/esm2022/checkbox/index.mjs +4 -0
- package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +5 -0
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +23 -0
- package/esm2022/checkbox/src/checkbox.directive.mjs +135 -0
- package/esm2022/checkbox/src/checkbox.token.mjs +6 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/label/index.mjs +2 -0
- package/esm2022/label/radix-ng-primitives-label.mjs +5 -0
- package/esm2022/label/src/label.directive.mjs +46 -0
- package/esm2022/progress/index.mjs +3 -0
- package/esm2022/progress/radix-ng-primitives-progress.mjs +5 -0
- package/esm2022/progress/src/progress-indicator.directive.mjs +23 -0
- package/esm2022/progress/src/progress.directive.mjs +62 -0
- package/esm2022/progress/src/progress.token.mjs +6 -0
- package/esm2022/radio/index.mjs +6 -0
- package/esm2022/radio/radix-ng-primitives-radio.mjs +5 -0
- package/esm2022/radio/src/radio-group.directive.mjs +108 -0
- package/esm2022/radio/src/radio-group.token.mjs +6 -0
- package/esm2022/radio/src/radio-indicator.directive.mjs +30 -0
- package/esm2022/radio/src/radio-item.directive.mjs +79 -0
- package/esm2022/radio/src/radio-item.token.mjs +6 -0
- package/esm2022/radix-ng-primitives.mjs +5 -0
- package/esm2022/roving-focus/index.mjs +5 -0
- package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +5 -0
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +115 -0
- package/esm2022/roving-focus/src/roving-focus-group.token.mjs +9 -0
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +91 -0
- package/esm2022/roving-focus/src/roving-focus-item.token.mjs +6 -0
- package/esm2022/separator/index.mjs +2 -0
- package/esm2022/separator/radix-ng-primitives-separator.mjs +5 -0
- package/esm2022/separator/src/separator.directive.mjs +37 -0
- package/esm2022/switch/index.mjs +4 -0
- package/esm2022/switch/radix-ng-primitives-switch.mjs +5 -0
- package/esm2022/switch/src/switch-thumb.directive.mjs +25 -0
- package/esm2022/switch/src/switch.directive.mjs +125 -0
- package/esm2022/switch/src/switch.token.mjs +6 -0
- package/esm2022/visually-hidden/index.mjs +2 -0
- package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +5 -0
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +42 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs +166 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-label.mjs +53 -0
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-progress.mjs +93 -0
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-radio.mjs +221 -0
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +220 -0
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-separator.mjs +44 -0
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-switch.mjs +158 -0
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +49 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives.mjs +4 -0
- package/fesm2022/radix-ng-primitives.mjs.map +1 -0
- package/label/src/label.directive.d.ts +14 -0
- package/package.json +88 -24
- package/progress/src/progress-indicator.directive.d.ts +6 -0
- package/progress/src/progress.directive.d.ts +26 -0
- package/progress/src/progress.token.d.ts +4 -0
- package/radio/README.md +1 -0
- package/radio/index.d.ts +5 -0
- package/radio/src/radio-group.directive.d.ts +65 -0
- package/radio/src/radio-group.token.d.ts +4 -0
- package/radio/src/radio-indicator.directive.d.ts +13 -0
- package/radio/src/radio-item.directive.d.ts +36 -0
- package/radio/src/radio-item.token.d.ts +4 -0
- package/roving-focus/src/roving-focus-group.directive.d.ts +55 -0
- package/roving-focus/src/roving-focus-group.token.d.ts +7 -0
- package/roving-focus/src/roving-focus-item.directive.d.ts +52 -0
- package/roving-focus/src/roving-focus-item.token.d.ts +4 -0
- package/separator/src/separator.directive.d.ts +16 -0
- package/switch/src/switch-thumb.directive.d.ts +9 -0
- package/switch/src/switch.directive.d.ts +73 -0
- package/switch/src/switch.token.d.ts +4 -0
- package/visually-hidden/src/visually-hidden.directive.d.ts +11 -0
- package/.docs/overview/accessibility.docs.mdx +0 -45
- package/.docs/overview/installation.docs.mdx +0 -15
- package/.docs/overview/introduction.docs.mdx +0 -59
- package/.docs/utils/storybook.ts +0 -30
- package/.eslintrc.json +0 -56
- package/.storybook/helpers/bages-config.ts +0 -43
- package/.storybook/main.ts +0 -24
- package/.storybook/manager-head.html +0 -76
- package/.storybook/manager.ts +0 -6
- package/.storybook/preview.ts +0 -58
- package/.storybook/rdxTheme.ts +0 -8
- package/.storybook/tsconfig.json +0 -20
- package/CHANGELOG.md +0 -6
- package/checkbox/ng-package.json +0 -5
- package/checkbox/src/checkbox-indicator.directive.ts +0 -15
- package/checkbox/src/checkbox.directive.ts +0 -138
- package/checkbox/src/checkbox.token.ts +0 -8
- package/checkbox/stories/checkbox.component.ts +0 -50
- package/checkbox/stories/checkbox.stories.ts +0 -29
- package/checkbox/stories/style.css +0 -265
- package/jest.config.ts +0 -22
- package/label/ng-package.json +0 -5
- package/label/src/label.directive.ts +0 -36
- package/label/stories/label.docs.mdx +0 -40
- package/label/stories/label.stories.ts +0 -63
- package/ng-package.json +0 -7
- package/progress/ng-package.json +0 -5
- package/progress/src/progress-indicator.directive.ts +0 -15
- package/progress/src/progress.directive.ts +0 -51
- package/progress/src/progress.token.ts +0 -8
- package/progress/stories/progress.docs.mdx +0 -66
- package/progress/stories/progress.stories.ts +0 -61
- package/project.json +0 -90
- package/roving-focus/ng-package.json +0 -5
- package/roving-focus/src/roving-focus-group.directive.ts +0 -135
- package/roving-focus/src/roving-focus-group.token.ts +0 -13
- package/roving-focus/src/roving-focus-item.directive.ts +0 -98
- package/roving-focus/src/roving-focus-item.token.ts +0 -10
- package/separator/ng-package.json +0 -5
- package/separator/src/separator.directive.spec.ts +0 -59
- package/separator/src/separator.directive.ts +0 -24
- package/separator/stories/separator.docs.mdx +0 -38
- package/separator/stories/separator.stories.ts +0 -91
- package/switch/ng-package.json +0 -5
- package/switch/src/switch-thumb.directive.ts +0 -17
- package/switch/src/switch.directive.ts +0 -132
- package/switch/src/switch.token.ts +0 -8
- package/switch/stories/switch.docs.mdx +0 -74
- package/switch/stories/switch.stories.ts +0 -76
- package/test-setup.ts +0 -8
- package/tsconfig.json +0 -32
- package/tsconfig.lib.json +0 -19
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -21
- package/visually-hidden/ng-package.json +0 -5
- package/visually-hidden/src/visually-hidden.directive.spec.ts +0 -48
- package/visually-hidden/src/visually-hidden.directive.ts +0 -35
- package/visually-hidden/stories/visually-hidden.docs.mdx +0 -35
- /package/checkbox/{index.ts → index.d.ts} +0 -0
- /package/{index.ts → index.d.ts} +0 -0
- /package/label/{index.ts → index.d.ts} +0 -0
- /package/progress/{index.ts → index.d.ts} +0 -0
- /package/roving-focus/{index.ts → index.d.ts} +0 -0
- /package/separator/{index.ts → index.d.ts} +0 -0
- /package/switch/{index.ts → index.d.ts} +0 -0
- /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==
|