@radix-ng/primitives 0.8.1 → 0.9.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/accordion/index.d.ts +3 -3
- package/accordion/src/accordion-content.directive.d.ts +1 -1
- package/accordion/src/accordion-header.directive.d.ts +1 -1
- package/accordion/src/accordion-item.directive.d.ts +1 -1
- package/accordion/src/accordion-root.directive.d.ts +1 -1
- package/accordion/src/accordion-trigger.directive.d.ts +1 -1
- package/alert-dialog/index.d.ts +2 -2
- package/avatar/index.d.ts +2 -2
- package/avatar/src/avatar-fallback.directive.d.ts +3 -3
- package/avatar/src/avatar-image.directive.d.ts +6 -6
- package/avatar/src/avatar-root.directive.d.ts +4 -4
- package/checkbox/index.d.ts +2 -0
- package/checkbox/src/checkbox-button.directive.d.ts +8 -0
- package/checkbox/src/checkbox-indicator.directive.d.ts +1 -1
- package/checkbox/src/checkbox-input.directive.d.ts +9 -0
- package/checkbox/src/checkbox.directive.d.ts +7 -5
- package/collapsible/index.d.ts +1 -1
- package/collapsible/src/collapsible-content.directive.d.ts +1 -1
- package/collapsible/src/collapsible-root.directive.d.ts +1 -1
- package/collapsible/src/collapsible-trigger.directive.d.ts +1 -1
- package/dropdown-menu/index.d.ts +8 -3
- package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +12 -2
- package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +6 -0
- package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +7 -0
- package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +12 -0
- package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +19 -0
- package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +14 -0
- package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +13 -4
- package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +1 -1
- package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +2 -2
- package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +33 -2
- package/esm2022/accordion/index.mjs +4 -4
- package/esm2022/accordion/src/accordion-content.directive.mjs +7 -9
- package/esm2022/accordion/src/accordion-header.directive.mjs +5 -5
- package/esm2022/accordion/src/accordion-item.directive.mjs +17 -9
- package/esm2022/accordion/src/accordion-root.directive.mjs +5 -5
- package/esm2022/accordion/src/accordion-trigger.directive.mjs +5 -5
- package/esm2022/alert-dialog/index.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +4 -4
- package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +5 -4
- package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
- package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +4 -4
- package/esm2022/alert-dialog/src/alert-dialog.service.mjs +6 -9
- package/esm2022/avatar/index.mjs +1 -1
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +6 -6
- package/esm2022/avatar/src/avatar-image.directive.mjs +6 -6
- package/esm2022/avatar/src/avatar-root.directive.mjs +6 -6
- package/esm2022/checkbox/index.mjs +3 -1
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +33 -0
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +6 -5
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +41 -0
- package/esm2022/checkbox/src/checkbox.directive.mjs +18 -22
- package/esm2022/checkbox/src/checkbox.token.mjs +1 -1
- package/esm2022/collapsible/index.mjs +2 -2
- package/esm2022/collapsible/src/collapsible-content.directive.mjs +13 -7
- package/esm2022/collapsible/src/collapsible-root.directive.mjs +5 -5
- package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +5 -5
- package/esm2022/dropdown-menu/index.mjs +9 -4
- package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +36 -10
- package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +26 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +22 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +37 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +60 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +40 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +45 -13
- package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +5 -5
- package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +8 -8
- package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +134 -12
- package/esm2022/label/index.mjs +2 -2
- package/esm2022/label/src/label.directive.mjs +54 -0
- package/esm2022/menu/index.mjs +7 -7
- package/esm2022/menu/src/menu-content.directive.mjs +3 -3
- package/esm2022/menu/src/menu-directive.mjs +3 -3
- package/esm2022/menu/src/menu-group.directive.mjs +3 -3
- package/esm2022/menu/src/menu-item.directive.mjs +8 -4
- package/esm2022/menu/src/menu-label.directive.mjs +3 -3
- package/esm2022/menu/src/menu-separator.directive.mjs +4 -4
- package/esm2022/menubar/index.mjs +7 -7
- package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +4 -4
- package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-item-radio.directive.mjs +4 -4
- package/esm2022/menubar/src/menubar-item.directive.mjs +4 -4
- package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
- package/esm2022/menubar/src/menubar-separator.directive.mjs +4 -4
- package/esm2022/menubar/src/menubar-trigger.directive.mjs +4 -4
- package/esm2022/progress/src/progress-indicator.directive.mjs +19 -9
- package/esm2022/progress/src/progress-root.directive.mjs +63 -7
- package/esm2022/radio/src/radio-indicator.directive.mjs +4 -4
- package/esm2022/radio/src/radio-item.directive.mjs +4 -8
- package/esm2022/radio/src/radio-root.directive.mjs +5 -9
- package/esm2022/separator/src/separator.directive.mjs +3 -3
- package/esm2022/switch/index.mjs +29 -3
- package/esm2022/switch/src/switch-input.directive.mjs +12 -10
- package/esm2022/switch/src/switch-root.directive.mjs +47 -23
- package/esm2022/switch/src/switch-thumb.directive.mjs +7 -7
- package/esm2022/tabs/index.mjs +7 -7
- package/esm2022/tabs/src/tabs-content.directive.mjs +7 -5
- package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
- package/esm2022/tabs/src/tabs-list.directive.mjs +5 -5
- package/esm2022/tabs/src/tabs-root.directive.mjs +5 -5
- package/esm2022/tabs/src/tabs-trigger.directive.mjs +5 -5
- package/esm2022/toggle/index.mjs +2 -2
- package/esm2022/toggle/src/toggle.directive.mjs +39 -0
- package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +14 -13
- package/esm2022/toggle-group/src/toggle-group-button.token.mjs +1 -1
- package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +18 -34
- package/esm2022/toggle-group/src/toggle-group.directive.mjs +5 -25
- package/esm2022/toggle-group/src/toggle-group.token.mjs +1 -1
- package/fesm2022/radix-ng-primitives-accordion.mjs +73 -67
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +49 -51
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +15 -15
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +91 -26
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +20 -14
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +386 -42
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +22 -16
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +26 -22
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +80 -14
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +10 -14
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
- package/fesm2022/radix-ng-primitives-switch.mjs +94 -46
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +25 -23
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +34 -65
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +18 -28
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/label/index.d.ts +1 -1
- package/label/src/label.directive.d.ts +23 -0
- package/menu/index.d.ts +2 -2
- package/menubar/index.d.ts +2 -2
- package/package.json +1 -7
- package/progress/src/progress-indicator.directive.d.ts +12 -2
- package/progress/src/progress-root.directive.d.ts +38 -4
- package/radio/src/radio-item.directive.d.ts +1 -2
- package/radio/src/radio-root.directive.d.ts +1 -2
- package/switch/index.d.ts +11 -2
- package/switch/src/switch-input.directive.d.ts +1 -1
- package/switch/src/switch-root.directive.d.ts +26 -9
- package/switch/src/switch-thumb.directive.d.ts +1 -1
- package/tabs/index.d.ts +2 -2
- package/tabs/src/tabs-content.directive.d.ts +1 -1
- package/tabs/src/tabs-list.directive.d.ts +1 -1
- package/tabs/src/tabs-root.directive.d.ts +1 -1
- package/tabs/src/tabs-trigger.directive.d.ts +1 -1
- package/toggle/index.d.ts +2 -2
- package/toggle/src/toggle.directive.d.ts +30 -0
- package/toggle-group/src/toggle-group-button.directive.d.ts +9 -6
- package/toggle-group/src/toggle-group-multi.directive.d.ts +18 -15
- package/toggle-group/src/toggle-group.directive.d.ts +3 -9
- package/esm2022/label/src/label-root.directive.mjs +0 -48
- package/esm2022/roving-focus/index.mjs +0 -3
- package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -109
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -86
- package/esm2022/toggle/src/toggle-root.directive.mjs +0 -49
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +0 -198
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +0 -1
- package/label/src/label-root.directive.d.ts +0 -13
- package/roving-focus/README.md +0 -1
- package/roving-focus/index.d.ts +0 -2
- package/roving-focus/src/roving-focus-group.directive.d.ts +0 -53
- package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
- package/toggle/src/toggle-root.directive.d.ts +0 -32
@@ -1,15 +1,11 @@
|
|
1
1
|
import { OnChanges, SimpleChanges } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@radix-ng/primitives/roving-focus";
|
4
3
|
export declare class RdxToggleGroupButtonDirective implements OnChanges {
|
5
4
|
/**
|
6
5
|
* Access the toggle group.
|
6
|
+
* @ignore
|
7
7
|
*/
|
8
8
|
protected readonly toggleGroup: import("@radix-ng/primitives/toggle-group").RdxToggleGroupDirective | import("@radix-ng/primitives/toggle-group").RdxToggleGroupMultiDirective;
|
9
|
-
/**
|
10
|
-
* Access the roving focus item.
|
11
|
-
*/
|
12
|
-
private readonly rovingFocusItem;
|
13
9
|
/**
|
14
10
|
* The value of this toggle button.
|
15
11
|
*/
|
@@ -23,14 +19,21 @@ export declare class RdxToggleGroupButtonDirective implements OnChanges {
|
|
23
19
|
* Whether this toggle button is checked.
|
24
20
|
*/
|
25
21
|
protected get checked(): boolean;
|
22
|
+
/**
|
23
|
+
* @ignore
|
24
|
+
*/
|
26
25
|
ngOnChanges(changes: SimpleChanges): void;
|
26
|
+
/**
|
27
|
+
* @ignore
|
28
|
+
*/
|
27
29
|
toggle(): void;
|
28
30
|
/**
|
29
31
|
* Ensure the disabled state is propagated to the roving focus item.
|
30
32
|
* @internal
|
33
|
+
* @ignore
|
31
34
|
*/
|
32
35
|
updateDisabled(): void;
|
33
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxToggleGroupButtonDirective, never>;
|
34
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxToggleGroupButtonDirective, "button[rdxToggleGroupButton]", never, { "value": { "alias": "value"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true,
|
37
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxToggleGroupButtonDirective, "button[rdxToggleGroupButton]", never, { "value": { "alias": "value"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
|
35
38
|
static ngAcceptInputType_disabled: unknown;
|
36
39
|
}
|
@@ -1,13 +1,8 @@
|
|
1
|
-
import { AfterContentInit, EventEmitter, OnChanges,
|
1
|
+
import { AfterContentInit, EventEmitter, OnChanges, QueryList, SimpleChanges } from '@angular/core';
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
3
3
|
import type { RdxToggleGroupButtonDirective } from './toggle-group-button.directive';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
-
|
6
|
-
export declare class RdxToggleGroupMultiDirective implements OnInit, OnChanges, AfterContentInit, ControlValueAccessor {
|
7
|
-
/**
|
8
|
-
* Access the roving focus group
|
9
|
-
*/
|
10
|
-
private readonly rovingFocusGroup;
|
5
|
+
export declare class RdxToggleGroupMultiDirective implements OnChanges, AfterContentInit, ControlValueAccessor {
|
11
6
|
/**
|
12
7
|
* The selected toggle button.
|
13
8
|
*/
|
@@ -33,58 +28,66 @@ export declare class RdxToggleGroupMultiDirective implements OnInit, OnChanges,
|
|
33
28
|
readonly valueChange: EventEmitter<readonly string[]>;
|
34
29
|
/**
|
35
30
|
* Access the buttons in the toggle group.
|
31
|
+
* @ignore
|
36
32
|
*/
|
37
33
|
protected buttons?: QueryList<RdxToggleGroupButtonDirective>;
|
38
34
|
/**
|
39
35
|
* The value change callback.
|
36
|
+
* @ignore
|
40
37
|
*/
|
41
38
|
private onChange?;
|
42
39
|
/**
|
43
40
|
* onTouch function registered via registerOnTouch (ControlValueAccessor).
|
41
|
+
* @ignore
|
44
42
|
*/
|
45
43
|
protected onTouched?: () => void;
|
46
|
-
|
44
|
+
/**
|
45
|
+
* @ignore
|
46
|
+
*/
|
47
47
|
ngOnChanges(changes: SimpleChanges): void;
|
48
|
+
/**
|
49
|
+
* @ignore
|
50
|
+
*/
|
48
51
|
ngAfterContentInit(): void;
|
49
52
|
/**
|
50
53
|
* Determine if a value is selected.
|
51
54
|
* @param value The value to check.
|
52
55
|
* @returns Whether the value is selected.
|
53
|
-
* @
|
56
|
+
* @ignore
|
54
57
|
*/
|
55
58
|
isSelected(value: string): boolean;
|
56
59
|
/**
|
57
60
|
* Toggle a value.
|
58
61
|
* @param value The value to toggle.
|
59
|
-
* @
|
62
|
+
* @ignore
|
60
63
|
*/
|
61
64
|
toggle(value: string): void;
|
62
65
|
/**
|
63
66
|
* Select a value from Angular forms.
|
64
67
|
* @param value The value to select.
|
65
|
-
* @
|
68
|
+
* @ignore
|
66
69
|
*/
|
67
70
|
writeValue(value: ReadonlyArray<string>): void;
|
68
71
|
/**
|
69
72
|
* Register a callback to be called when the value changes.
|
70
73
|
* @param fn The callback to register.
|
71
|
-
* @
|
74
|
+
* @ignore
|
72
75
|
*/
|
73
76
|
registerOnChange(fn: (value: ReadonlyArray<string>) => void): void;
|
74
77
|
/**
|
75
78
|
* Register a callback to be called when the toggle group is touched.
|
76
79
|
* @param fn The callback to register.
|
77
|
-
* @
|
80
|
+
* @ignore
|
78
81
|
*/
|
79
82
|
registerOnTouched(fn: () => void): void;
|
80
83
|
/**
|
81
84
|
* Set the disabled state of the toggle group.
|
82
85
|
* @param isDisabled Whether the toggle group is disabled.
|
83
|
-
* @
|
86
|
+
* @ignore
|
84
87
|
*/
|
85
88
|
setDisabledState(isDisabled: boolean): void;
|
86
89
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxToggleGroupMultiDirective, never>;
|
87
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxToggleGroupMultiDirective, "[rdxToggleGroupMulti]", never, { "value": { "alias": "rdxToggleGroupMultiValue"; "required": false; }; "orientation": { "alias": "rdxToggleGroupMultiOrientation"; "required": false; }; "disabled": { "alias": "rdxToggleGroupMultiDisabled"; "required": false; }; "wrap": { "alias": "rdxToggleGroupMultiWrap"; "required": false; }; "valueChange": { "alias": "rdxToggleGroupMultiValueChange"; "required": false; }; }, {}, ["buttons"], never, true,
|
90
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxToggleGroupMultiDirective, "[rdxToggleGroupMulti]", never, { "value": { "alias": "rdxToggleGroupMultiValue"; "required": false; }; "orientation": { "alias": "rdxToggleGroupMultiOrientation"; "required": false; }; "disabled": { "alias": "rdxToggleGroupMultiDisabled"; "required": false; }; "wrap": { "alias": "rdxToggleGroupMultiWrap"; "required": false; }; "valueChange": { "alias": "rdxToggleGroupMultiValueChange"; "required": false; }; }, {}, ["buttons"], never, true, never>;
|
88
91
|
static ngAcceptInputType_disabled: unknown;
|
89
92
|
static ngAcceptInputType_wrap: unknown;
|
90
93
|
}
|
@@ -1,13 +1,8 @@
|
|
1
|
-
import { AfterContentInit, EventEmitter, OnChanges,
|
1
|
+
import { AfterContentInit, EventEmitter, OnChanges, QueryList, SimpleChanges } from '@angular/core';
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
3
3
|
import type { RdxToggleGroupButtonDirective } from './toggle-group-button.directive';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
-
|
6
|
-
export declare class RdxToggleGroupDirective implements OnInit, OnChanges, AfterContentInit, ControlValueAccessor {
|
7
|
-
/**
|
8
|
-
* Access the roving focus group
|
9
|
-
*/
|
10
|
-
private readonly rovingFocusGroup;
|
5
|
+
export declare class RdxToggleGroupDirective implements OnChanges, AfterContentInit, ControlValueAccessor {
|
11
6
|
/**
|
12
7
|
* The selected toggle button.
|
13
8
|
*/
|
@@ -43,7 +38,6 @@ export declare class RdxToggleGroupDirective implements OnInit, OnChanges, After
|
|
43
38
|
* onTouch function registered via registerOnTouch (ControlValueAccessor).
|
44
39
|
*/
|
45
40
|
protected onTouched?: () => void;
|
46
|
-
ngOnInit(): void;
|
47
41
|
ngOnChanges(changes: SimpleChanges): void;
|
48
42
|
ngAfterContentInit(): void;
|
49
43
|
/**
|
@@ -84,7 +78,7 @@ export declare class RdxToggleGroupDirective implements OnInit, OnChanges, After
|
|
84
78
|
*/
|
85
79
|
setDisabledState(isDisabled: boolean): void;
|
86
80
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxToggleGroupDirective, never>;
|
87
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxToggleGroupDirective, "[rdxToggleGroup]", never, { "value": { "alias": "value"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "valueChange": { "alias": "valueChange"; "required": false; }; }, {}, ["buttons"], never, true,
|
81
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxToggleGroupDirective, "[rdxToggleGroup]", never, { "value": { "alias": "value"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; "valueChange": { "alias": "valueChange"; "required": false; }; }, {}, ["buttons"], never, true, never>;
|
88
82
|
static ngAcceptInputType_disabled: unknown;
|
89
83
|
static ngAcceptInputType_wrap: unknown;
|
90
84
|
}
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import { Directive, ElementRef, inject, Input, input } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
let idIterator = 0;
|
4
|
-
export class RdxLabelRootDirective {
|
5
|
-
constructor() {
|
6
|
-
this.id = `rdx-label-${idIterator++}`;
|
7
|
-
/**
|
8
|
-
* The id of the element the label is associated with.
|
9
|
-
* @default '-'
|
10
|
-
*/
|
11
|
-
this.htmlFor = input('');
|
12
|
-
this.elementRef = inject((ElementRef));
|
13
|
-
}
|
14
|
-
// prevent text selection when double-clicking label
|
15
|
-
// The main problem with double-clicks in a web app is that
|
16
|
-
// you will have to create special code to handle this on touch enabled devices.
|
17
|
-
onMouseDown(event) {
|
18
|
-
const target = event.target;
|
19
|
-
// only prevent text selection if clicking inside the label itself
|
20
|
-
if (['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
|
21
|
-
return;
|
22
|
-
}
|
23
|
-
// prevent text selection when double-clicking label
|
24
|
-
if (this.elementRef.nativeElement.contains(target) &&
|
25
|
-
!event.defaultPrevented &&
|
26
|
-
event.detail > 1) {
|
27
|
-
event.preventDefault();
|
28
|
-
}
|
29
|
-
}
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxLabelRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", type: RdxLabelRootDirective, isStandalone: true, selector: "label[LabelRoot]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, htmlFor: { classPropertyName: "htmlFor", publicName: "htmlFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "onMouseDown($event)" }, properties: { "attr.id": "this.id", "attr.for": "htmlFor ? htmlFor() : null" } }, exportAs: ["LabelRoot"], ngImport: i0 }); }
|
32
|
-
}
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxLabelRootDirective, decorators: [{
|
34
|
-
type: Directive,
|
35
|
-
args: [{
|
36
|
-
selector: 'label[LabelRoot]',
|
37
|
-
exportAs: 'LabelRoot',
|
38
|
-
standalone: true,
|
39
|
-
host: {
|
40
|
-
'[attr.id]': 'this.id',
|
41
|
-
'[attr.for]': 'htmlFor ? htmlFor() : null',
|
42
|
-
'(mousedown)': 'onMouseDown($event)'
|
43
|
-
}
|
44
|
-
}]
|
45
|
-
}], propDecorators: { id: [{
|
46
|
-
type: Input
|
47
|
-
}] } });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtcm9vdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2xhYmVsL3NyYy9sYWJlbC1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBWW5CLE1BQU0sT0FBTyxxQkFBcUI7SUFWbEM7UUFXYSxPQUFFLEdBQUcsYUFBYSxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBRTFDOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFcEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0tBc0JqRTtJQXBCRyxvREFBb0Q7SUFDcEQsMkRBQTJEO0lBQzNELGdGQUFnRjtJQUNoRixXQUFXLENBQUMsS0FBaUI7UUFDekIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFFM0Msa0VBQWtFO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDckUsT0FBTztRQUNYLENBQUM7UUFFRCxvREFBb0Q7UUFDcEQsSUFDSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzlDLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtZQUN2QixLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDbEIsQ0FBQztZQUNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQzs4R0E5QlEscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBVmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLFNBQVM7d0JBQ3RCLFlBQVksRUFBRSw0QkFBNEI7d0JBQzFDLGFBQWEsRUFBRSxxQkFBcUI7cUJBQ3ZDO2lCQUNKOzhCQUVZLEVBQUU7c0JBQVYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IGlkSXRlcmF0b3IgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2xhYmVsW0xhYmVsUm9vdF0nLFxuICAgIGV4cG9ydEFzOiAnTGFiZWxSb290JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmlkXSc6ICd0aGlzLmlkJyxcbiAgICAgICAgJ1thdHRyLmZvcl0nOiAnaHRtbEZvciA/IGh0bWxGb3IoKSA6IG51bGwnLFxuICAgICAgICAnKG1vdXNlZG93biknOiAnb25Nb3VzZURvd24oJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeExhYmVsUm9vdERpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgaWQgPSBgcmR4LWxhYmVsLSR7aWRJdGVyYXRvcisrfWA7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgdGhlIGxhYmVsIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICAgKiBAZGVmYXVsdCAnLSdcbiAgICAgKi9cbiAgICByZWFkb25seSBodG1sRm9yID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgLy8gcHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGVuIGRvdWJsZS1jbGlja2luZyBsYWJlbFxuICAgIC8vIFRoZSBtYWluIHByb2JsZW0gd2l0aCBkb3VibGUtY2xpY2tzIGluIGEgd2ViIGFwcCBpcyB0aGF0XG4gICAgLy8geW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgc3BlY2lhbCBjb2RlIHRvIGhhbmRsZSB0aGlzIG9uIHRvdWNoIGVuYWJsZWQgZGV2aWNlcy5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgLy8gb25seSBwcmV2ZW50IHRleHQgc2VsZWN0aW9uIGlmIGNsaWNraW5nIGluc2lkZSB0aGUgbGFiZWwgaXRzZWxmXG4gICAgICAgIGlmIChbJ0JVVFRPTicsICdJTlBVVCcsICdTRUxFQ1QnLCAnVEVYVEFSRUEnXS5pbmNsdWRlcyh0YXJnZXQudGFnTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHByZXZlbnQgdGV4dCBzZWxlY3Rpb24gd2hlbiBkb3VibGUtY2xpY2tpbmcgbGFiZWxcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJlxuICAgICAgICAgICAgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiZcbiAgICAgICAgICAgIGV2ZW50LmRldGFpbCA+IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './src/roving-focus-group.directive';
|
2
|
-
export * from './src/roving-focus-item.directive';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9yb3ZpbmctZm9jdXMtZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3JvdmluZy1mb2N1cy1pdGVtLmRpcmVjdGl2ZSc7XG4iXX0=
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1yb3ZpbmctZm9jdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cy9yYWRpeC1uZy1wcmltaXRpdmVzLXJvdmluZy1mb2N1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -1,109 +0,0 @@
|
|
1
|
-
import { FocusKeyManager } from '@angular/cdk/a11y';
|
2
|
-
import { Directionality } from '@angular/cdk/bidi';
|
3
|
-
import { booleanAttribute, DestroyRef, Directive, inject, InjectionToken, Input, QueryList } from '@angular/core';
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
5
|
-
import { filter } from 'rxjs';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
const RdxRovingFocusGroupToken = new InjectionToken('RdxRovingFocusToken');
|
8
|
-
export function injectRovingFocusGroup() {
|
9
|
-
return inject(RdxRovingFocusGroupToken);
|
10
|
-
}
|
11
|
-
export class RdxRovingFocusGroupDirective {
|
12
|
-
constructor() {
|
13
|
-
this.directionality = inject(Directionality);
|
14
|
-
this.destroyRef = inject(DestroyRef);
|
15
|
-
/**
|
16
|
-
* Create a query list of all the roving focus items.
|
17
|
-
* We don't use ContentChildren as dynamically added items may not be in the correct order.
|
18
|
-
*/
|
19
|
-
this.items = new QueryList();
|
20
|
-
this.keyManager = new FocusKeyManager(this.items);
|
21
|
-
/**
|
22
|
-
* Determine the orientation of the roving focus group.
|
23
|
-
* @default vertical
|
24
|
-
*/
|
25
|
-
this.orientation = 'vertical';
|
26
|
-
/**
|
27
|
-
* Determine if focus should wrap when the end or beginning is reached.
|
28
|
-
* @default true
|
29
|
-
*/
|
30
|
-
this.wrap = true;
|
31
|
-
}
|
32
|
-
ngOnInit() {
|
33
|
-
this.keyManager.withWrap(this.wrap);
|
34
|
-
this.setOrientation(this.orientation);
|
35
|
-
this.directionality.change
|
36
|
-
.pipe(filter(() => this.orientation === 'horizontal'), takeUntilDestroyed(this.destroyRef))
|
37
|
-
.subscribe((direction) => this.keyManager.withHorizontalOrientation(direction));
|
38
|
-
}
|
39
|
-
ngOnChanges(changes) {
|
40
|
-
if ('orientation' in changes) {
|
41
|
-
this.setOrientation(this.orientation);
|
42
|
-
}
|
43
|
-
if ('wrap' in changes) {
|
44
|
-
this.keyManager.withWrap(this.wrap);
|
45
|
-
}
|
46
|
-
}
|
47
|
-
ngOnDestroy() {
|
48
|
-
this.keyManager.destroy();
|
49
|
-
}
|
50
|
-
/**
|
51
|
-
* Register a roving focus item.
|
52
|
-
* @param item The roving focus item to register.
|
53
|
-
*/
|
54
|
-
register(item) {
|
55
|
-
this.items.reset([...this.items.toArray(), item].sort((a, b) => a.order - b.order));
|
56
|
-
if (this.items.length === 1) {
|
57
|
-
this.keyManager.updateActiveItem(item);
|
58
|
-
}
|
59
|
-
}
|
60
|
-
/**
|
61
|
-
* Unregister a roving focus item.
|
62
|
-
* @param item The roving focus item to unregister.
|
63
|
-
*/
|
64
|
-
unregister(item) {
|
65
|
-
const isActive = this.keyManager.activeItem === item;
|
66
|
-
this.items.reset(this.items.toArray().filter((i) => i !== item));
|
67
|
-
if (isActive) {
|
68
|
-
this.keyManager.updateActiveItem(0);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
/**
|
72
|
-
* Handle key events on the roving focus items.
|
73
|
-
* @param event The key event.
|
74
|
-
* @internal
|
75
|
-
*/
|
76
|
-
onKeydown(event) {
|
77
|
-
this.keyManager.onKeydown(event);
|
78
|
-
}
|
79
|
-
/**
|
80
|
-
* Set the orientation of the roving focus group.
|
81
|
-
* @param orientation The orientation of the roving focus group.
|
82
|
-
*/
|
83
|
-
setOrientation(orientation) {
|
84
|
-
this.orientation = orientation;
|
85
|
-
if (orientation === 'horizontal') {
|
86
|
-
this.keyManager.withHorizontalOrientation(this.directionality.value);
|
87
|
-
}
|
88
|
-
else {
|
89
|
-
this.keyManager.withVerticalOrientation();
|
90
|
-
}
|
91
|
-
}
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxRovingFocusGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
93
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", type: RdxRovingFocusGroupDirective, isStandalone: true, selector: "[rdxRovingFocusGroup]", inputs: { orientation: ["rdxRovingFocusGroupOrientation", "orientation"], wrap: ["rdxRovingFocusGroupWrap", "wrap", booleanAttribute] }, providers: [{ provide: RdxRovingFocusGroupToken, useExisting: RdxRovingFocusGroupDirective }], usesOnChanges: true, ngImport: i0 }); }
|
94
|
-
}
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxRovingFocusGroupDirective, decorators: [{
|
96
|
-
type: Directive,
|
97
|
-
args: [{
|
98
|
-
selector: '[rdxRovingFocusGroup]',
|
99
|
-
standalone: true,
|
100
|
-
providers: [{ provide: RdxRovingFocusGroupToken, useExisting: RdxRovingFocusGroupDirective }]
|
101
|
-
}]
|
102
|
-
}], propDecorators: { orientation: [{
|
103
|
-
type: Input,
|
104
|
-
args: [{ alias: 'rdxRovingFocusGroupOrientation' }]
|
105
|
-
}], wrap: [{
|
106
|
-
type: Input,
|
107
|
-
args: [{ alias: 'rdxRovingFocusGroupWrap', transform: booleanAttribute }]
|
108
|
-
}] } });
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLWZvY3VzLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcm92aW5nLWZvY3VzL3NyYy9yb3ZpbmctZm9jdXMtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUNILGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUlMLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU05QixNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUMvQyxxQkFBcUIsQ0FDeEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBT0QsTUFBTSxPQUFPLDRCQUE0QjtJQUx6QztRQU1xQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpEOzs7V0FHRztRQUNjLFVBQUssR0FBRyxJQUFJLFNBQVMsRUFBK0IsQ0FBQztRQUU3RCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQThCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRjs7O1dBR0c7UUFDaUQsZ0JBQVcsR0FBZ0IsVUFBVSxDQUFDO1FBRTFGOzs7V0FHRztRQUN1RSxTQUFJLEdBQUcsSUFBSSxDQUFDO0tBNkV6RjtJ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LDRCQUE0QixFQUFFLENBQUM7OzJGQUVwRiw0QkFBNEI7a0JBTHhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsOEJBQThCLEVBQUUsQ0FBQztpQkFDaEc7OEJBa0J1RCxXQUFXO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGdDQUFnQyxFQUFFO2dCQU13QixJQUFJO3NCQUE3RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7IFJkeFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vcm92aW5nLWZvY3VzLWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuXG5jb25zdCBSZHhSb3ZpbmdGb2N1c0dyb3VwVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4Um92aW5nRm9jdXNHcm91cERpcmVjdGl2ZT4oXG4gICAgJ1JkeFJvdmluZ0ZvY3VzVG9rZW4nXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Um92aW5nRm9jdXNHcm91cCgpOiBSZHhSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeFJvdmluZ0ZvY3VzR3JvdXBUb2tlbik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFJvdmluZ0ZvY3VzR3JvdXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4Um92aW5nRm9jdXNHcm91cFRva2VuLCB1c2VFeGlzdGluZzogUmR4Um92aW5nRm9jdXNHcm91cERpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3Rpb25hbGl0eSA9IGluamVjdChEaXJlY3Rpb25hbGl0eSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBxdWVyeSBsaXN0IG9mIGFsbCB0aGUgcm92aW5nIGZvY3VzIGl0ZW1zLlxuICAgICAqIFdlIGRvbid0IHVzZSBDb250ZW50Q2hpbGRyZW4gYXMgZHluYW1pY2FsbHkgYWRkZWQgaXRlbXMgbWF5IG5vdCBiZSBpbiB0aGUgY29ycmVjdCBvcmRlci5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zID0gbmV3IFF1ZXJ5TGlzdDxSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmU+KCk7XG5cbiAgICByZWFkb25seSBrZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcjxSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmU+KHRoaXMuaXRlbXMpO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgcm92aW5nIGZvY3VzIGdyb3VwLlxuICAgICAqIEBkZWZhdWx0IHZlcnRpY2FsXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhSb3ZpbmdGb2N1c0dyb3VwT3JpZW50YXRpb24nIH0pIG9yaWVudGF0aW9uOiBPcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCc7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgaWYgZm9jdXMgc2hvdWxkIHdyYXAgd2hlbiB0aGUgZW5kIG9yIGJlZ2lubmluZyBpcyByZWFjaGVkLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3JkeFJvdmluZ0ZvY3VzR3JvdXBXcmFwJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHdyYXAgPSB0cnVlO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5TWFuYWdlci53aXRoV3JhcCh0aGlzLndyYXApO1xuXG4gICAgICAgIHRoaXMuc2V0T3JpZW50YXRpb24odGhpcy5vcmllbnRhdGlvbik7XG5cbiAgICAgICAgdGhpcy5kaXJlY3Rpb25hbGl0eS5jaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkaXJlY3Rpb24pID0+IHRoaXMua2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKGRpcmVjdGlvbikpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCdvcmllbnRhdGlvbicgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5zZXRPcmllbnRhdGlvbih0aGlzLm9yaWVudGF0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnd3JhcCcgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhXcmFwKHRoaXMud3JhcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIHJvdmluZyBmb2N1cyBpdGVtLlxuICAgICAqIEBwYXJhbSBpdGVtIFRoZSByb3ZpbmcgZm9jdXMgaXRlbSB0byByZWdpc3Rlci5cbiAgICAgKi9cbiAgICByZWdpc3RlcihpdGVtOiBSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcy5yZXNldChbLi4udGhpcy5pdGVtcy50b0FycmF5KCksIGl0ZW1dLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVucmVnaXN0ZXIgYSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAcGFyYW0gaXRlbSBUaGUgcm92aW5nIGZvY3VzIGl0ZW0gdG8gdW5yZWdpc3Rlci5cbiAgICAgKi9cbiAgICB1bnJlZ2lzdGVyKGl0ZW06IFJkeFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtID09PSBpdGVtO1xuXG4gICAgICAgIHRoaXMuaXRlbXMucmVzZXQodGhpcy5pdGVtcy50b0FycmF5KCkuZmlsdGVyKChpKSA9PiBpICE9PSBpdGVtKSk7XG5cbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBrZXkgZXZlbnRzIG9uIHRoZSByb3ZpbmcgZm9jdXMgaXRlbXMuXG4gICAgICogQHBhcmFtIGV2ZW50IFRoZSBrZXkgZXZlbnQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHJvdmluZyBmb2N1cyBncm91cC5cbiAgICAgKiBAcGFyYW0gb3JpZW50YXRpb24gVGhlIG9yaWVudGF0aW9uIG9mIHRoZSByb3ZpbmcgZm9jdXMgZ3JvdXAuXG4gICAgICovXG4gICAgc2V0T3JpZW50YXRpb24ob3JpZW50YXRpb246IE9yaWVudGF0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjtcblxuICAgICAgICBpZiAob3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odGhpcy5kaXJlY3Rpb25hbGl0eS52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -1,86 +0,0 @@
|
|
1
|
-
import { booleanAttribute, ChangeDetectorRef, DestroyRef, Directive, ElementRef, inject, InjectionToken, Input, numberAttribute } from '@angular/core';
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
3
|
-
import { injectRovingFocusGroup } from './roving-focus-group.directive';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
const RdxRovingFocusItemToken = new InjectionToken('RdxRovingFocusItemToken');
|
6
|
-
export function injectRovingFocusItem() {
|
7
|
-
return inject(RdxRovingFocusItemToken);
|
8
|
-
}
|
9
|
-
export class RdxRovingFocusItemDirective {
|
10
|
-
constructor() {
|
11
|
-
/**
|
12
|
-
* Access the group the roving focus item belongs to.
|
13
|
-
*/
|
14
|
-
this.group = injectRovingFocusGroup();
|
15
|
-
/**
|
16
|
-
* Access the element reference of the roving focus item.
|
17
|
-
*/
|
18
|
-
this.elementRef = inject((ElementRef));
|
19
|
-
/**
|
20
|
-
* Access the destroyRef
|
21
|
-
*/
|
22
|
-
this.destroyRef = inject(DestroyRef);
|
23
|
-
/**
|
24
|
-
* Access the change detector ref
|
25
|
-
*/
|
26
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
27
|
-
/**
|
28
|
-
* Define the order of the roving focus item in the group.
|
29
|
-
*/
|
30
|
-
this.order = 0;
|
31
|
-
/**
|
32
|
-
* Define if the item is disabled.
|
33
|
-
*/
|
34
|
-
this.disabled = false;
|
35
|
-
}
|
36
|
-
ngOnInit() {
|
37
|
-
this.group.register(this);
|
38
|
-
this.group.keyManager.change
|
39
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
40
|
-
.subscribe(() => this.changeDetectorRef.markForCheck());
|
41
|
-
}
|
42
|
-
ngOnDestroy() {
|
43
|
-
this.group.unregister(this);
|
44
|
-
}
|
45
|
-
/**
|
46
|
-
* Handle key events on the roving focus item.
|
47
|
-
* @param event The key event.
|
48
|
-
*/
|
49
|
-
_onKeydown(event) {
|
50
|
-
this.group.onKeydown(event);
|
51
|
-
}
|
52
|
-
/**
|
53
|
-
* Derive the tabindex of the roving focus item.
|
54
|
-
*/
|
55
|
-
_tabindex() {
|
56
|
-
return this.group.keyManager.activeItem === this ? 0 : -1;
|
57
|
-
}
|
58
|
-
/**
|
59
|
-
* Focus the roving focus item.
|
60
|
-
* @internal
|
61
|
-
*/
|
62
|
-
focus() {
|
63
|
-
this.elementRef?.nativeElement.focus();
|
64
|
-
}
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxRovingFocusItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
66
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", type: RdxRovingFocusItemDirective, isStandalone: true, selector: "[rdxRovingFocusItem]", inputs: { order: ["order", "order", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "onKeydown": "_onKeydown($event)" }, properties: { "attr.tabindex": "_tabindex()" } }, providers: [{ provide: RdxRovingFocusItemToken, useExisting: RdxRovingFocusItemDirective }], ngImport: i0 }); }
|
67
|
-
}
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxRovingFocusItemDirective, decorators: [{
|
69
|
-
type: Directive,
|
70
|
-
args: [{
|
71
|
-
selector: '[rdxRovingFocusItem]',
|
72
|
-
standalone: true,
|
73
|
-
host: {
|
74
|
-
'(onKeydown)': '_onKeydown($event)',
|
75
|
-
'[attr.tabindex]': '_tabindex()'
|
76
|
-
},
|
77
|
-
providers: [{ provide: RdxRovingFocusItemToken, useExisting: RdxRovingFocusItemDirective }]
|
78
|
-
}]
|
79
|
-
}], propDecorators: { order: [{
|
80
|
-
type: Input,
|
81
|
-
args: [{ transform: numberAttribute }]
|
82
|
-
}], disabled: [{
|
83
|
-
type: Input,
|
84
|
-
args: [{ transform: booleanAttribute }]
|
85
|
-
}] } });
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLWZvY3VzLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9yb3ZpbmctZm9jdXMvc3JjL3JvdmluZy1mb2N1cy1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxlQUFlLEVBR2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUV4RSxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUM5Qyx5QkFBeUIsQ0FDNUIsQ0FBQztBQUVGLE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsT0FBTyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBV0QsTUFBTSxPQUFPLDJCQUEyQjtJQVR4QztRQVVJOztXQUVHO1FBQ2MsVUFBSyxHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFFbEQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFOUQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpEOztXQUVHO1FBQ2Msc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFL0Q7O1dBRUc7UUFDb0MsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNxQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBb0M1RDtJQWxDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTTthQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsS0FBb0I7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7OEdBaEVRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDRGQXdCaEIsZUFBZSxzQ0FLZixnQkFBZ0IsNEhBL0J6QixDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUFDOzsyRkFFbEYsMkJBQTJCO2tCQVR2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLG9CQUFvQjt3QkFDbkMsaUJBQWlCLEVBQUUsYUFBYTtxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDO2lCQUM5Rjs4QkF5QjBDLEtBQUs7c0JBQTNDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUtHLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IGluamVjdFJvdmluZ0ZvY3VzR3JvdXAgfSBmcm9tICcuL3JvdmluZy1mb2N1cy1ncm91cC5kaXJlY3RpdmUnO1xuXG5jb25zdCBSZHhSb3ZpbmdGb2N1c0l0ZW1Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmU+KFxuICAgICdSZHhSb3ZpbmdGb2N1c0l0ZW1Ub2tlbidcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb3ZpbmdGb2N1c0l0ZW0oKTogUmR4Um92aW5nRm9jdXNJdGVtRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeFJvdmluZ0ZvY3VzSXRlbVRva2VuKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4Um92aW5nRm9jdXNJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICcob25LZXlkb3duKSc6ICdfb25LZXlkb3duKCRldmVudCknLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ190YWJpbmRleCgpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZHhSb3ZpbmdGb2N1c0l0ZW1Ub2tlbiwgdXNlRXhpc3Rpbmc6IFJkeFJvdmluZ0ZvY3VzSXRlbURpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhSb3ZpbmdGb2N1c0l0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGdyb3VwIHRoZSByb3ZpbmcgZm9jdXMgaXRlbSBiZWxvbmdzIHRvLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXAgPSBpbmplY3RSb3ZpbmdGb2N1c0dyb3VwKCk7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGVsZW1lbnQgcmVmZXJlbmNlIG9mIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBkZXN0cm95UmVmXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgcmVmXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgdGhlIG9yZGVyIG9mIHRoZSByb3ZpbmcgZm9jdXMgaXRlbSBpbiB0aGUgZ3JvdXAuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgb3JkZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGlmIHRoZSBpdGVtIGlzIGRpc2FibGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXAucmVnaXN0ZXIodGhpcyk7XG5cbiAgICAgICAgdGhpcy5ncm91cC5rZXlNYW5hZ2VyLmNoYW5nZVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdyb3VwLnVucmVnaXN0ZXIodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIGtleSBldmVudHMgb24gdGhlIHJvdmluZyBmb2N1cyBpdGVtLlxuICAgICAqIEBwYXJhbSBldmVudCBUaGUga2V5IGV2ZW50LlxuICAgICAqL1xuICAgIF9vbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncm91cC5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlcml2ZSB0aGUgdGFiaW5kZXggb2YgdGhlIHJvdmluZyBmb2N1cyBpdGVtLlxuICAgICAqL1xuICAgIF90YWJpbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0gPT09IHRoaXMgPyAwIDogLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXMgdGhlIHJvdmluZyBmb2N1cyBpdGVtLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { booleanAttribute, Directive, EventEmitter, Input, Output } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
let uniqueId = 0;
|
4
|
-
export class RdxToggleRootDirective {
|
5
|
-
constructor() {
|
6
|
-
this.pressed = false;
|
7
|
-
this.disabled = false;
|
8
|
-
this.id = 'rdx-toggle-' + uniqueId++;
|
9
|
-
/**
|
10
|
-
* Event emitted when the toggle is pressed.
|
11
|
-
*/
|
12
|
-
this.onPressedChange = new EventEmitter();
|
13
|
-
}
|
14
|
-
toggle() {
|
15
|
-
if (this.disabled) {
|
16
|
-
return;
|
17
|
-
}
|
18
|
-
this.pressed = !this.pressed;
|
19
|
-
this.onPressedChange.emit(this.pressed);
|
20
|
-
}
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxToggleRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", type: RdxToggleRootDirective, isStandalone: true, selector: "button[ToggleRoot]", inputs: { pressed: ["pressed", "pressed", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], id: "id" }, outputs: { onPressedChange: "onPressedChange" }, host: { attributes: { "type": "button" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-pressed": "pressed", "attr.data-state": "pressed ? \"on\" : \"off\"", "attr.data-disabled": "disabled" } }, exportAs: ["ToggleRoot"], ngImport: i0 }); }
|
23
|
-
}
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxToggleRootDirective, decorators: [{
|
25
|
-
type: Directive,
|
26
|
-
args: [{
|
27
|
-
selector: 'button[ToggleRoot]',
|
28
|
-
exportAs: 'ToggleRoot',
|
29
|
-
standalone: true,
|
30
|
-
host: {
|
31
|
-
type: 'button',
|
32
|
-
'[attr.aria-pressed]': 'pressed',
|
33
|
-
'[attr.data-state]': 'pressed ? "on" : "off"',
|
34
|
-
'[attr.data-disabled]': 'disabled',
|
35
|
-
'(click)': 'toggle()'
|
36
|
-
}
|
37
|
-
}]
|
38
|
-
}], propDecorators: { pressed: [{
|
39
|
-
type: Input,
|
40
|
-
args: [{ transform: booleanAttribute }]
|
41
|
-
}], disabled: [{
|
42
|
-
type: Input,
|
43
|
-
args: [{ transform: booleanAttribute }]
|
44
|
-
}], id: [{
|
45
|
-
type: Input
|
46
|
-
}], onPressedChange: [{
|
47
|
-
type: Output
|
48
|
-
}] } });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXJvb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUvc3JjL3RvZ2dsZS1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV6RixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFnQ2pCLE1BQU0sT0FBTyxzQkFBc0I7SUFibkM7UUFjNEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhELE9BQUUsR0FBRyxhQUFhLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDekM7O1dBRUc7UUFDZ0Isb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBU3BFO0lBUGEsTUFBTTtRQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7OEdBakJRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGdHQUNYLGdCQUFnQixzQ0FFaEIsZ0JBQWdCOzsyRkFIM0Isc0JBQXNCO2tCQWJsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxRQUFRO3dCQUNkLHFCQUFxQixFQUFFLFNBQVM7d0JBQ2hDLG1CQUFtQixFQUFFLHdCQUF3Qjt3QkFDN0Msc0JBQXNCLEVBQUUsVUFBVTt3QkFFbEMsU0FBUyxFQUFFLFVBQVU7cUJBQ3hCO2lCQUNKOzhCQUUyQyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTdCLEVBQUU7c0JBQVYsS0FBSztnQkFJYSxlQUFlO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuZXhwb3J0IGludGVyZmFjZSBUb2dnbGVQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2xsZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKi9cbiAgICBwcmVzc2VkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIHRvZ2dsZSB3aGVuIGluaXRpYWxseSByZW5kZXJlZC4gVXNlIGBkZWZhdWx0UHJlc3NlZGBcbiAgICAgKiBpZiB5b3UgZG8gbm90IG5lZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgZGVmYXVsdFByZXNzZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBjYWxsYmFjayB0aGF0IGZpcmVzIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSB0b2dnbGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBvblByZXNzZWRDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW1RvZ2dsZVJvb3RdJyxcbiAgICBleHBvcnRBczogJ1RvZ2dsZVJvb3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtcHJlc3NlZF0nOiAncHJlc3NlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdwcmVzc2VkID8gXCJvblwiIDogXCJvZmZcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG5cbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUb2dnbGVSb290RGlyZWN0aXZlIGltcGxlbWVudHMgVG9nZ2xlUHJvcHMge1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmVzc2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGlkID0gJ3JkeC10b2dnbGUtJyArIHVuaXF1ZUlkKys7XG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaXMgcHJlc3NlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25QcmVzc2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJvdGVjdGVkIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXNzZWQgPSAhdGhpcy5wcmVzc2VkO1xuICAgICAgICB0aGlzLm9uUHJlc3NlZENoYW5nZS5lbWl0KHRoaXMucHJlc3NlZCk7XG4gICAgfVxufVxuIl19
|