@radix-ng/primitives 0.3.0 → 0.5.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/README.md +3 -0
- package/accordion/index.d.ts +7 -0
- package/accordion/src/accordion/accordion.directive.d.ts +64 -0
- package/accordion/src/accordion/accordion.token.d.ts +4 -0
- package/accordion/src/accordion-content/accordion-content.directive.d.ts +44 -0
- package/accordion/src/accordion-header/accordion-header.directive.d.ts +6 -0
- package/accordion/src/accordion-item/accordion-item.directive.d.ts +42 -0
- package/accordion/src/accordion-item/accordion-item.token.d.ts +4 -0
- package/accordion/src/accordion-state.directive.d.ts +28 -0
- package/accordion/src/accordion-trigger/accordion-trigger.directive.d.ts +23 -0
- package/accordion/src/accordion.config.d.ts +25 -0
- package/checkbox/src/checkbox-indicator.directive.d.ts +4 -4
- package/checkbox/src/checkbox.directive.d.ts +3 -3
- package/checkbox/src/checkbox.token.d.ts +3 -3
- package/esm2022/accordion/index.mjs +8 -0
- package/esm2022/accordion/radix-ng-primitives-accordion.mjs +5 -0
- package/esm2022/accordion/src/accordion/accordion.directive.mjs +108 -0
- package/esm2022/accordion/src/accordion/accordion.token.mjs +6 -0
- package/esm2022/accordion/src/accordion-content/accordion-content.directive.mjs +75 -0
- package/esm2022/accordion/src/accordion-header/accordion-header.directive.mjs +17 -0
- package/esm2022/accordion/src/accordion-item/accordion-item.directive.mjs +81 -0
- package/esm2022/accordion/src/accordion-item/accordion-item.token.mjs +6 -0
- package/esm2022/accordion/src/accordion-state.directive.mjs +49 -0
- package/esm2022/accordion/src/accordion-trigger/accordion-trigger.directive.mjs +49 -0
- package/esm2022/accordion/src/accordion.config.mjs +27 -0
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +5 -5
- package/esm2022/checkbox/src/checkbox.directive.mjs +10 -10
- package/esm2022/checkbox/src/checkbox.token.mjs +3 -3
- package/esm2022/label/src/label.directive.mjs +20 -6
- package/esm2022/overlay/src/overlay-arrow.directive.mjs +7 -7
- package/esm2022/overlay/src/overlay-arrow.token.mjs +2 -2
- package/esm2022/overlay/src/overlay-trigger.directive.mjs +7 -7
- package/esm2022/overlay/src/overlay-trigger.token.mjs +3 -3
- package/esm2022/overlay/src/overlay.directive.mjs +7 -7
- package/esm2022/overlay/src/overlay.token.mjs +2 -2
- package/esm2022/progress/src/progress-indicator.directive.mjs +5 -5
- package/esm2022/progress/src/progress.directive.mjs +7 -7
- package/esm2022/progress/src/progress.token.mjs +3 -3
- package/esm2022/radio/src/radio-group.directive.mjs +13 -13
- package/esm2022/radio/src/radio-group.token.mjs +3 -3
- package/esm2022/radio/src/radio-indicator.directive.mjs +5 -5
- package/esm2022/radio/src/radio-item.directive.mjs +9 -9
- package/esm2022/radio/src/radio-item.token.mjs +3 -3
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +10 -9
- package/esm2022/roving-focus/src/roving-focus-group.token.mjs +3 -3
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +7 -7
- package/esm2022/roving-focus/src/roving-focus-item.token.mjs +3 -3
- package/esm2022/separator/src/separator.directive.mjs +5 -5
- package/esm2022/switch/src/switch-thumb.directive.mjs +5 -5
- package/esm2022/switch/src/switch.directive.mjs +10 -10
- package/esm2022/switch/src/switch.token.mjs +3 -3
- package/esm2022/toggle/index.mjs +2 -0
- package/esm2022/toggle/radix-ng-primitives-toggle.mjs +5 -0
- package/esm2022/toggle/src/toggle.directive.mjs +65 -0
- package/esm2022/toggle-group/index.mjs +6 -0
- package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +5 -0
- package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +79 -0
- package/esm2022/toggle-group/src/toggle-group-button.token.mjs +6 -0
- package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +159 -0
- package/esm2022/toggle-group/src/toggle-group.directive.mjs +157 -0
- package/esm2022/toggle-group/src/toggle-group.token.mjs +6 -0
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +5 -5
- package/fesm2022/radix-ng-primitives-accordion.mjs +394 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs +15 -15
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +20 -6
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-overlay.mjs +20 -20
- package/fesm2022/radix-ng-primitives-overlay.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +12 -12
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +26 -26
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +18 -17
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +5 -5
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +15 -15
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +397 -0
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-toggle.mjs +72 -0
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +5 -5
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/label/src/label.directive.d.ts +8 -3
- package/overlay/src/overlay-arrow.directive.d.ts +3 -3
- package/overlay/src/overlay-arrow.token.d.ts +2 -2
- package/overlay/src/overlay-trigger.directive.d.ts +7 -7
- package/overlay/src/overlay-trigger.token.d.ts +3 -3
- package/overlay/src/overlay.directive.d.ts +3 -3
- package/overlay/src/overlay.token.d.ts +2 -2
- package/package.json +18 -6
- package/progress/src/progress-indicator.directive.d.ts +4 -4
- package/progress/src/progress.directive.d.ts +3 -3
- package/progress/src/progress.token.d.ts +3 -3
- package/radio/src/radio-group.directive.d.ts +3 -3
- package/radio/src/radio-group.token.d.ts +3 -3
- package/radio/src/radio-indicator.directive.d.ts +5 -5
- package/radio/src/radio-item.directive.d.ts +4 -4
- package/radio/src/radio-item.token.d.ts +3 -3
- package/roving-focus/src/roving-focus-group.directive.d.ts +7 -7
- package/roving-focus/src/roving-focus-group.token.d.ts +3 -3
- package/roving-focus/src/roving-focus-item.directive.d.ts +3 -3
- package/roving-focus/src/roving-focus-item.token.d.ts +3 -3
- package/separator/src/separator.directive.d.ts +3 -3
- package/switch/src/switch-thumb.directive.d.ts +4 -4
- package/switch/src/switch.directive.d.ts +3 -3
- package/switch/src/switch.token.d.ts +3 -3
- package/toggle/README.md +3 -0
- package/toggle/index.d.ts +1 -0
- package/toggle/src/toggle.directive.d.ts +30 -0
- package/toggle-group/README.md +3 -0
- package/toggle-group/index.d.ts +5 -0
- package/toggle-group/src/toggle-group-button.directive.d.ts +39 -0
- package/toggle-group/src/toggle-group-button.token.d.ts +4 -0
- package/toggle-group/src/toggle-group-multi.directive.d.ts +90 -0
- package/toggle-group/src/toggle-group.directive.d.ts +90 -0
- package/toggle-group/src/toggle-group.token.d.ts +5 -0
- package/visually-hidden/src/visually-hidden.directive.d.ts +3 -3
- package/esm2022/tooltip/index.mjs +0 -5
- package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
- package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -17
- package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -148
- package/esm2022/tooltip/src/tooltip-trigger.token.mjs +0 -6
- package/esm2022/tooltip/src/tooltip.config.mjs +0 -31
- package/esm2022/tooltip/src/tooltip.directive.mjs +0 -46
- package/fesm2022/radix-ng-primitives-tooltip.mjs +0 -242
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +0 -1
- package/tooltip/README.md +0 -1
- package/tooltip/index.d.ts +0 -4
- package/tooltip/src/tooltip-arrow.directive.d.ts +0 -6
- package/tooltip/src/tooltip-trigger.directive.d.ts +0 -79
- package/tooltip/src/tooltip-trigger.token.d.ts +0 -4
- package/tooltip/src/tooltip.config.d.ts +0 -46
- package/tooltip/src/tooltip.directive.d.ts +0 -17
@@ -0,0 +1,159 @@
|
|
1
|
+
import { booleanAttribute, ContentChildren, Directive, EventEmitter, Input, QueryList } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import { injectRovingFocusGroup, RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';
|
4
|
+
import { RdxToggleGroupButtonToken } from './toggle-group-button.token';
|
5
|
+
import { RdxToggleGroupToken } from './toggle-group.token';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@radix-ng/primitives/roving-focus";
|
8
|
+
export class RdxToggleGroupMultiDirective {
|
9
|
+
constructor() {
|
10
|
+
/**
|
11
|
+
* Access the roving focus group
|
12
|
+
*/
|
13
|
+
this.rovingFocusGroup = injectRovingFocusGroup();
|
14
|
+
/**
|
15
|
+
* The selected toggle button.
|
16
|
+
*/
|
17
|
+
this.value = [];
|
18
|
+
/**
|
19
|
+
* The orientation of the toggle group.
|
20
|
+
* @default 'horizontal'
|
21
|
+
*/
|
22
|
+
this.orientation = 'horizontal';
|
23
|
+
/**
|
24
|
+
* Whether the toggle group is disabled.
|
25
|
+
* @default false
|
26
|
+
*/
|
27
|
+
this.disabled = false;
|
28
|
+
/**
|
29
|
+
* Whether the toggle group roving focus should wrap.
|
30
|
+
* @default true
|
31
|
+
*/
|
32
|
+
this.wrap = true;
|
33
|
+
/**
|
34
|
+
* Event emitted when the selected toggle button changes.
|
35
|
+
*/
|
36
|
+
this.valueChange = new EventEmitter();
|
37
|
+
}
|
38
|
+
ngOnInit() {
|
39
|
+
// the toggle button group has a default orientation of horizontal
|
40
|
+
// whereas the roving focus group has a default orientation of vertical
|
41
|
+
// if the toggle button group input is not defined, the orientation will not be set
|
42
|
+
// in the roving focus group and the default vertical orientation will be used.
|
43
|
+
// we must initially set the orientation of the roving focus group to match the toggle button group orientation
|
44
|
+
this.rovingFocusGroup.setOrientation(this.orientation);
|
45
|
+
}
|
46
|
+
ngOnChanges(changes) {
|
47
|
+
if ('disabled' in changes) {
|
48
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
49
|
+
}
|
50
|
+
}
|
51
|
+
ngAfterContentInit() {
|
52
|
+
if (this.disabled) {
|
53
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
54
|
+
}
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* Determine if a value is selected.
|
58
|
+
* @param value The value to check.
|
59
|
+
* @returns Whether the value is selected.
|
60
|
+
* @internal
|
61
|
+
*/
|
62
|
+
isSelected(value) {
|
63
|
+
return this.value.includes(value);
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* Toggle a value.
|
67
|
+
* @param value The value to toggle.
|
68
|
+
* @internal
|
69
|
+
*/
|
70
|
+
toggle(value) {
|
71
|
+
if (this.disabled) {
|
72
|
+
return;
|
73
|
+
}
|
74
|
+
this.value = this.value.includes(value)
|
75
|
+
? this.value.filter((v) => v !== value)
|
76
|
+
: [...this.value, value];
|
77
|
+
this.valueChange.emit(this.value);
|
78
|
+
this.onChange?.(this.value);
|
79
|
+
}
|
80
|
+
/**
|
81
|
+
* Select a value from Angular forms.
|
82
|
+
* @param value The value to select.
|
83
|
+
* @internal
|
84
|
+
*/
|
85
|
+
writeValue(value) {
|
86
|
+
this.value = value;
|
87
|
+
}
|
88
|
+
/**
|
89
|
+
* Register a callback to be called when the value changes.
|
90
|
+
* @param fn The callback to register.
|
91
|
+
* @internal
|
92
|
+
*/
|
93
|
+
registerOnChange(fn) {
|
94
|
+
this.onChange = fn;
|
95
|
+
}
|
96
|
+
/**
|
97
|
+
* Register a callback to be called when the toggle group is touched.
|
98
|
+
* @param fn The callback to register.
|
99
|
+
* @internal
|
100
|
+
*/
|
101
|
+
registerOnTouched(fn) {
|
102
|
+
this.onTouched = fn;
|
103
|
+
}
|
104
|
+
/**
|
105
|
+
* Set the disabled state of the toggle group.
|
106
|
+
* @param isDisabled Whether the toggle group is disabled.
|
107
|
+
* @internal
|
108
|
+
*/
|
109
|
+
setDisabledState(isDisabled) {
|
110
|
+
this.disabled = isDisabled;
|
111
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
112
|
+
}
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxToggleGroupMultiDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
114
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxToggleGroupMultiDirective, isStandalone: true, selector: "[rdxToggleGroupMulti]", inputs: { value: ["rdxToggleGroupMultiValue", "value"], orientation: ["rdxToggleGroupMultiOrientation", "orientation"], disabled: ["rdxToggleGroupMultiDisabled", "disabled", booleanAttribute], wrap: ["rdxToggleGroupMultiWrap", "wrap", booleanAttribute], valueChange: ["rdxToggleGroupMultiValueChange", "valueChange"] }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
|
115
|
+
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultiDirective },
|
116
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultiDirective, multi: true }
|
117
|
+
], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupButtonToken }], usesOnChanges: true, hostDirectives: [{ directive: i1.RdxRovingFocusGroupDirective, inputs: ["rdxRovingFocusGroupWrap", "wrap", "rdxRovingFocusGroupOrientation", "orientation"] }], ngImport: i0 }); }
|
118
|
+
}
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxToggleGroupMultiDirective, decorators: [{
|
120
|
+
type: Directive,
|
121
|
+
args: [{
|
122
|
+
selector: '[rdxToggleGroupMulti]',
|
123
|
+
standalone: true,
|
124
|
+
hostDirectives: [
|
125
|
+
{
|
126
|
+
directive: RdxRovingFocusGroupDirective,
|
127
|
+
inputs: ['rdxRovingFocusGroupWrap:wrap', 'rdxRovingFocusGroupOrientation:orientation']
|
128
|
+
}
|
129
|
+
],
|
130
|
+
providers: [
|
131
|
+
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultiDirective },
|
132
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultiDirective, multi: true }
|
133
|
+
],
|
134
|
+
host: {
|
135
|
+
role: 'group',
|
136
|
+
'[attr.data-orientation]': 'orientation',
|
137
|
+
'(focusout)': 'onTouched?.()'
|
138
|
+
}
|
139
|
+
}]
|
140
|
+
}], propDecorators: { value: [{
|
141
|
+
type: Input,
|
142
|
+
args: ['rdxToggleGroupMultiValue']
|
143
|
+
}], orientation: [{
|
144
|
+
type: Input,
|
145
|
+
args: ['rdxToggleGroupMultiOrientation']
|
146
|
+
}], disabled: [{
|
147
|
+
type: Input,
|
148
|
+
args: [{ alias: 'rdxToggleGroupMultiDisabled', transform: booleanAttribute }]
|
149
|
+
}], wrap: [{
|
150
|
+
type: Input,
|
151
|
+
args: [{ alias: 'rdxToggleGroupMultiWrap', transform: booleanAttribute }]
|
152
|
+
}], valueChange: [{
|
153
|
+
type: Input,
|
154
|
+
args: ['rdxToggleGroupMultiValueChange']
|
155
|
+
}], buttons: [{
|
156
|
+
type: ContentChildren,
|
157
|
+
args: [RdxToggleGroupButtonToken]
|
158
|
+
}] } });
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLW11bHRpLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAtbXVsdGkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUNILHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDL0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUczQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBcUIzRCxNQUFNLE9BQU8sNEJBQTRCO0lBbkJ6QztRQXNCSTs7V0FFRztRQUNjLHFCQUFnQixHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFFN0Q7O1dBRUc7UUFDZ0MsVUFBSyxHQUEwQixFQUFFLENBQUM7UUFFckU7OztXQUdHO1FBQ3NDLGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUUvRjs7O1dBR0c7UUFDMkUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUvRjs7O1dBR0c7UUFDdUUsU0FBSSxHQUFHLElBQUksQ0FBQztRQUV0Rjs7V0FFRztRQUMrQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUU3RSxDQUFDO0tBdUdQO0lBckZHLFFBQVE7UUFDSixrRUFBa0U7UUFDbEUsdUVBQXVFO1FBQ3ZFLG1GQUFtRjtRQUNuRiwrRUFBK0U7UUFDL0UsK0dBQStHO1FBQy9HLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcs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RUFBRSxXQUFXLDhCQUE4QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ3pGO29CQUNELElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsT0FBTzt3QkFDYix5QkFBeUIsRUFBRSxhQUFhO3dCQUN4QyxZQUFZLEVBQUUsZUFBZTtxQkFDaEM7aUJBQ0o7OEJBWXNDLEtBQUs7c0JBQXZDLEtBQUs7dUJBQUMsMEJBQTBCO2dCQU1RLFdBQVc7c0JBQW5ELEtBQUs7dUJBQUMsZ0NBQWdDO2dCQU11QyxRQUFRO3NCQUFyRixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNRixJQUFJO3NCQUE3RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLdEIsV0FBVztzQkFBNUQsS0FBSzt1QkFBQyxnQ0FBZ0M7Z0JBUTdCLE9BQU87c0JBRGhCLGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgICBpbmplY3RSb3ZpbmdGb2N1c0dyb3VwLFxuICAgIFJkeFJvdmluZ0ZvY3VzR3JvdXBEaXJlY3RpdmVcbn0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvcm92aW5nLWZvY3VzJztcblxuaW1wb3J0IHR5cGUgeyBSZHhUb2dnbGVHcm91cEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBCdXR0b25Ub2tlbiB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLWJ1dHRvbi50b2tlbic7XG5pbXBvcnQgeyBSZHhUb2dnbGVHcm91cFRva2VuIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb2dnbGVHcm91cE11bHRpXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFJkeFJvdmluZ0ZvY3VzR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsncmR4Um92aW5nRm9jdXNHcm91cFdyYXA6d3JhcCcsICdyZHhSb3ZpbmdGb2N1c0dyb3VwT3JpZW50YXRpb246b3JpZW50YXRpb24nXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBSZHhUb2dnbGVHcm91cFRva2VuLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBNdWx0aURpcmVjdGl2ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBNdWx0aURpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnZ3JvdXAnLFxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24nLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdvblRvdWNoZWQ/LigpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9nZ2xlR3JvdXBNdWx0aURpcmVjdGl2ZVxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSByb3ZpbmcgZm9jdXMgZ3JvdXBcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdmluZ0ZvY3VzR3JvdXAgPSBpbmplY3RSb3ZpbmdGb2N1c0dyb3VwKCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2VsZWN0ZWQgdG9nZ2xlIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3JkeFRvZ2dsZUdyb3VwTXVsdGlWYWx1ZScpIHZhbHVlOiBSZWFkb25seUFycmF5PHN0cmluZz4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBNdWx0aU9yaWVudGF0aW9uJykgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3JkeFRvZ2dsZUdyb3VwTXVsdGlEaXNhYmxlZCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9nZ2xlIGdyb3VwIHJvdmluZyBmb2N1cyBzaG91bGQgd3JhcC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhUb2dnbGVHcm91cE11bHRpV3JhcCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3cmFwID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdG9nZ2xlIGJ1dHRvbiBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBNdWx0aVZhbHVlQ2hhbmdlJykgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgICAgICBSZWFkb25seUFycmF5PHN0cmluZz5cbiAgICA+KCk7XG5cbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGJ1dHRvbnMgaW4gdGhlIHRvZ2dsZSBncm91cC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4pXG4gICAgcHJvdGVjdGVkIGJ1dHRvbnM/OiBRdWVyeUxpc3Q8UmR4VG9nZ2xlR3JvdXBCdXR0b25EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9uQ2hhbmdlPzogKHZhbHVlOiBSZWFkb25seUFycmF5PHN0cmluZz4pID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdG91Y2hlZCBjYWxsYmFjay5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyB0aGUgdG9nZ2xlIGJ1dHRvbiBncm91cCBoYXMgYSBkZWZhdWx0IG9yaWVudGF0aW9uIG9mIGhvcml6b250YWxcbiAgICAgICAgLy8gd2hlcmVhcyB0aGUgcm92aW5nIGZvY3VzIGdyb3VwIGhhcyBhIGRlZmF1bHQgb3JpZW50YXRpb24gb2YgdmVydGljYWxcbiAgICAgICAgLy8gaWYgdGhlIHRvZ2dsZSBidXR0b24gZ3JvdXAgaW5wdXQgaXMgbm90IGRlZmluZWQsIHRoZSBvcmllbnRhdGlvbiB3aWxsIG5vdCBiZSBzZXRcbiAgICAgICAgLy8gaW4gdGhlIHJvdmluZyBmb2N1cyBncm91cCBhbmQgdGhlIGRlZmF1bHQgdmVydGljYWwgb3JpZW50YXRpb24gd2lsbCBiZSB1c2VkLlxuICAgICAgICAvLyB3ZSBtdXN0IGluaXRpYWxseSBzZXQgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSByb3ZpbmcgZm9jdXMgZ3JvdXAgdG8gbWF0Y2ggdGhlIHRvZ2dsZSBidXR0b24gZ3JvdXAgb3JpZW50YXRpb25cbiAgICAgICAgdGhpcy5yb3ZpbmdGb2N1c0dyb3VwLnNldE9yaWVudGF0aW9uKHRoaXMub3JpZW50YXRpb24pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCdkaXNhYmxlZCcgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5idXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IGJ1dHRvbi51cGRhdGVEaXNhYmxlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiBidXR0b24udXBkYXRlRGlzYWJsZWQoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBzZWxlY3RlZC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIGlzU2VsZWN0ZWQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIGEgdmFsdWUuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byB0b2dnbGUuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgdG9nZ2xlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmluY2x1ZGVzKHZhbHVlKVxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlLmZpbHRlcigodikgPT4gdiAhPT0gdmFsdWUpXG4gICAgICAgICAgICA6IFsuLi50aGlzLnZhbHVlLCB2YWx1ZV07XG5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlPy4odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGEgdmFsdWUgZnJvbSBBbmd1bGFyIGZvcm1zLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VsZWN0LlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogUmVhZG9ubHlBcnJheTxzdHJpbmc+KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0b2dnbGUgZ3JvdXAgaXMgdG91Y2hlZC5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIFdoZXRoZXIgdGhlIHRvZ2dsZSBncm91cCBpcyBkaXNhYmxlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiBidXR0b24udXBkYXRlRGlzYWJsZWQoKSk7XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,157 @@
|
|
1
|
+
import { booleanAttribute, ContentChildren, Directive, EventEmitter, Input, QueryList } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import { injectRovingFocusGroup, RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';
|
4
|
+
import { RdxToggleGroupButtonToken } from './toggle-group-button.token';
|
5
|
+
import { RdxToggleGroupToken } from './toggle-group.token';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@radix-ng/primitives/roving-focus";
|
8
|
+
export class RdxToggleGroupDirective {
|
9
|
+
constructor() {
|
10
|
+
/**
|
11
|
+
* Access the roving focus group
|
12
|
+
*/
|
13
|
+
this.rovingFocusGroup = injectRovingFocusGroup();
|
14
|
+
/**
|
15
|
+
* The selected toggle button.
|
16
|
+
*/
|
17
|
+
this.value = null;
|
18
|
+
/**
|
19
|
+
* The orientation of the toggle group.
|
20
|
+
* @default 'horizontal'
|
21
|
+
*/
|
22
|
+
this.orientation = 'horizontal';
|
23
|
+
/**
|
24
|
+
* Whether the toggle group is disabled.
|
25
|
+
* @default false
|
26
|
+
*/
|
27
|
+
this.disabled = false;
|
28
|
+
/**
|
29
|
+
* Whether the toggle group roving focus should wrap.
|
30
|
+
* @default true
|
31
|
+
*/
|
32
|
+
this.wrap = true;
|
33
|
+
/**
|
34
|
+
* Event emitted when the selected toggle button changes.
|
35
|
+
*/
|
36
|
+
this.valueChange = new EventEmitter();
|
37
|
+
}
|
38
|
+
ngOnInit() {
|
39
|
+
// the toggle button group has a default orientation of horizontal
|
40
|
+
// whereas the roving focus group has a default orientation of vertical
|
41
|
+
// if the toggle button group input is not defined, the orientation will not be set
|
42
|
+
// in the roving focus group and the default vertical orientation will be used.
|
43
|
+
// we must initially set the orientation of the roving focus group to match the toggle button group orientation
|
44
|
+
this.rovingFocusGroup.setOrientation(this.orientation);
|
45
|
+
}
|
46
|
+
ngOnChanges(changes) {
|
47
|
+
if ('disabled' in changes) {
|
48
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
49
|
+
}
|
50
|
+
}
|
51
|
+
ngAfterContentInit() {
|
52
|
+
if (this.disabled) {
|
53
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
54
|
+
}
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* Determine if a value is selected.
|
58
|
+
* @param value The value to check.
|
59
|
+
* @returns Whether the value is selected.
|
60
|
+
* @internal
|
61
|
+
*/
|
62
|
+
isSelected(value) {
|
63
|
+
return this.value === value;
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* Toggle a value.
|
67
|
+
* @param value The value to toggle.
|
68
|
+
* @internal
|
69
|
+
*/
|
70
|
+
toggle(value) {
|
71
|
+
if (this.disabled) {
|
72
|
+
return;
|
73
|
+
}
|
74
|
+
this.value = this.value === value ? null : value;
|
75
|
+
this.valueChange.emit(this.value);
|
76
|
+
this.onChange?.(this.value);
|
77
|
+
}
|
78
|
+
/**
|
79
|
+
* Select a value from Angular forms.
|
80
|
+
* @param value The value to select.
|
81
|
+
* @internal
|
82
|
+
*/
|
83
|
+
writeValue(value) {
|
84
|
+
this.value = value;
|
85
|
+
}
|
86
|
+
/**
|
87
|
+
* Register a callback to be called when the value changes.
|
88
|
+
* @param fn The callback to register.
|
89
|
+
* @internal
|
90
|
+
*/
|
91
|
+
registerOnChange(fn) {
|
92
|
+
this.onChange = fn;
|
93
|
+
}
|
94
|
+
/**
|
95
|
+
* Register a callback to be called when the toggle group is touched.
|
96
|
+
* @param fn The callback to register.
|
97
|
+
* @internal
|
98
|
+
*/
|
99
|
+
registerOnTouched(fn) {
|
100
|
+
this.onTouched = fn;
|
101
|
+
}
|
102
|
+
/**
|
103
|
+
* Set the disabled state of the toggle group.
|
104
|
+
* @param isDisabled Whether the toggle group is disabled.
|
105
|
+
* @internal
|
106
|
+
*/
|
107
|
+
setDisabledState(isDisabled) {
|
108
|
+
this.disabled = isDisabled;
|
109
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
110
|
+
}
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
112
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxToggleGroupDirective, isStandalone: true, selector: "[rdxToggleGroup]", inputs: { value: ["rdxToggleGroupValue", "value"], orientation: ["rdxToggleGroupOrientation", "orientation"], disabled: ["rdxToggleGroupDisabled", "disabled", booleanAttribute], wrap: ["rdxToggleGroupWrap", "wrap", booleanAttribute], valueChange: ["rdxToggleGroupValueChange", "valueChange"] }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
|
113
|
+
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupDirective },
|
114
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupDirective, multi: true }
|
115
|
+
], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupButtonToken }], usesOnChanges: true, hostDirectives: [{ directive: i1.RdxRovingFocusGroupDirective, inputs: ["rdxRovingFocusGroupWrap", "wrap", "rdxRovingFocusGroupOrientation", "orientation"] }], ngImport: i0 }); }
|
116
|
+
}
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxToggleGroupDirective, decorators: [{
|
118
|
+
type: Directive,
|
119
|
+
args: [{
|
120
|
+
selector: '[rdxToggleGroup]',
|
121
|
+
standalone: true,
|
122
|
+
hostDirectives: [
|
123
|
+
{
|
124
|
+
directive: RdxRovingFocusGroupDirective,
|
125
|
+
inputs: ['rdxRovingFocusGroupWrap:wrap', 'rdxRovingFocusGroupOrientation:orientation']
|
126
|
+
}
|
127
|
+
],
|
128
|
+
providers: [
|
129
|
+
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupDirective },
|
130
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupDirective, multi: true }
|
131
|
+
],
|
132
|
+
host: {
|
133
|
+
role: 'group',
|
134
|
+
'[attr.data-orientation]': 'orientation',
|
135
|
+
'(focusout)': 'onTouched?.()'
|
136
|
+
}
|
137
|
+
}]
|
138
|
+
}], propDecorators: { value: [{
|
139
|
+
type: Input,
|
140
|
+
args: ['rdxToggleGroupValue']
|
141
|
+
}], orientation: [{
|
142
|
+
type: Input,
|
143
|
+
args: ['rdxToggleGroupOrientation']
|
144
|
+
}], disabled: [{
|
145
|
+
type: Input,
|
146
|
+
args: [{ alias: 'rdxToggleGroupDisabled', transform: booleanAttribute }]
|
147
|
+
}], wrap: [{
|
148
|
+
type: Input,
|
149
|
+
args: [{ alias: 'rdxToggleGroupWrap', transform: booleanAttribute }]
|
150
|
+
}], valueChange: [{
|
151
|
+
type: Input,
|
152
|
+
args: ['rdxToggleGroupValueChange']
|
153
|
+
}], buttons: [{
|
154
|
+
type: ContentChildren,
|
155
|
+
args: [RdxToggleGroupButtonToken]
|
156
|
+
}] } });
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUNILHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDL0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUczQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBcUIzRCxNQUFNLE9BQU8sdUJBQXVCO0lBbkJwQztRQXNCSTs7V0FFRztRQUNjLHFCQUFnQixHQUFHLHNCQUFzQixFQUFFLENBQUM7UUFFN0Q7O1dBRUc7UUFDMkIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFFMUQ7OztXQUdHO1FBQ2lDLGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUUxRjs7O1dBR0c7UUFDc0UsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxRjs7O1dBR0c7UUFDa0UsU0FBSSxHQUFHLElBQUksQ0FBQztRQUVqRjs7V0FFRztRQUMwQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0tBb0doRztJQWxGRyxRQUFRO1FBQ0osa0VBQWtFO1FBQ2xFLHVFQUF1RTtRQUN2RSxtRkFBbUY7UUFDbkYsK0VBQStFO1FBQy9FLCtHQUErRztRQUMvRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJ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QyxLQUFLO3NCQUFsQyxLQUFLO3VCQUFDLHFCQUFxQjtnQkFNUSxXQUFXO3NCQUE5QyxLQUFLO3VCQUFDLDJCQUEyQjtnQkFNdUMsUUFBUTtzQkFBaEYsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUYsSUFBSTtzQkFBeEUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3RCLFdBQVc7c0JBQXZELEtBQUs7dUJBQUMsMkJBQTJCO2dCQU14QixPQUFPO3NCQURoQixlQUFlO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gICAgaW5qZWN0Um92aW5nRm9jdXNHcm91cCxcbiAgICBSZHhSb3ZpbmdGb2N1c0dyb3VwRGlyZWN0aXZlXG59IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3JvdmluZy1mb2N1cyc7XG5cbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1idXR0b24udG9rZW4nO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBUb2tlbiB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9nZ2xlR3JvdXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogUmR4Um92aW5nRm9jdXNHcm91cERpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydyZHhSb3ZpbmdGb2N1c0dyb3VwV3JhcDp3cmFwJywgJ3JkeFJvdmluZ0ZvY3VzR3JvdXBPcmllbnRhdGlvbjpvcmllbnRhdGlvbiddXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJkeFRvZ2dsZUdyb3VwVG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhUb2dnbGVHcm91cERpcmVjdGl2ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmR4VG9nZ2xlR3JvdXBEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2dyb3VwJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnb25Ub3VjaGVkPy4oKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIHJvdmluZyBmb2N1cyBncm91cFxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm92aW5nRm9jdXNHcm91cCA9IGluamVjdFJvdmluZ0ZvY3VzR3JvdXAoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzZWxlY3RlZCB0b2dnbGUgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBWYWx1ZScpIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBPcmllbnRhdGlvbicpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9nZ2xlIGdyb3VwIGlzIGRpc2FibGVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhUb2dnbGVHcm91cERpc2FibGVkJywgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgcm92aW5nIGZvY3VzIHNob3VsZCB3cmFwLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3JkeFRvZ2dsZUdyb3VwV3JhcCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3cmFwID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdG9nZ2xlIGJ1dHRvbiBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBWYWx1ZUNoYW5nZScpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgLyoqXG4gICAgICogQWNjZXNzIHRoZSBidXR0b25zIGluIHRoZSB0b2dnbGUgZ3JvdXAuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihSZHhUb2dnbGVHcm91cEJ1dHRvblRva2VuKVxuICAgIHByb3RlY3RlZCBidXR0b25zPzogUXVlcnlMaXN0PFJkeFRvZ2dsZUdyb3VwQnV0dG9uRGlyZWN0aXZlPjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB2YWx1ZSBjaGFuZ2UgY2FsbGJhY2suXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0b3VjaGVkIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIHRoZSB0b2dnbGUgYnV0dG9uIGdyb3VwIGhhcyBhIGRlZmF1bHQgb3JpZW50YXRpb24gb2YgaG9yaXpvbnRhbFxuICAgICAgICAvLyB3aGVyZWFzIHRoZSByb3ZpbmcgZm9jdXMgZ3JvdXAgaGFzIGEgZGVmYXVsdCBvcmllbnRhdGlvbiBvZiB2ZXJ0aWNhbFxuICAgICAgICAvLyBpZiB0aGUgdG9nZ2xlIGJ1dHRvbiBncm91cCBpbnB1dCBpcyBub3QgZGVmaW5lZCwgdGhlIG9yaWVudGF0aW9uIHdpbGwgbm90IGJlIHNldFxuICAgICAgICAvLyBpbiB0aGUgcm92aW5nIGZvY3VzIGdyb3VwIGFuZCB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBvcmllbnRhdGlvbiB3aWxsIGJlIHVzZWQuXG4gICAgICAgIC8vIHdlIG11c3QgaW5pdGlhbGx5IHNldCB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHJvdmluZyBmb2N1cyBncm91cCB0byBtYXRjaCB0aGUgdG9nZ2xlIGJ1dHRvbiBncm91cCBvcmllbnRhdGlvblxuICAgICAgICB0aGlzLnJvdmluZ0ZvY3VzR3JvdXAuc2V0T3JpZW50YXRpb24odGhpcy5vcmllbnRhdGlvbik7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IGJ1dHRvbi51cGRhdGVEaXNhYmxlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMgV2hldGhlciB0aGUgdmFsdWUgaXMgc2VsZWN0ZWQuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgaXNTZWxlY3RlZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgYSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHRvZ2dsZS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICB0b2dnbGUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPT09IHZhbHVlID8gbnVsbCA6IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2U/Lih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYSB2YWx1ZSBmcm9tIEFuZ3VsYXIgZm9ybXMuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzZWxlY3QuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgdG8gcmVnaXN0ZXIuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0b2dnbGUgZ3JvdXAgaXMgdG91Y2hlZC5cbiAgICAgKiBAcGFyYW0gZm4gVGhlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIFdoZXRoZXIgdGhlIHRvZ2dsZSBncm91cCBpcyBkaXNhYmxlZC5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiBidXR0b24udXBkYXRlRGlzYWJsZWQoKSk7XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
2
|
+
export const RdxToggleGroupToken = new InjectionToken('RdxToggleGroupToken');
|
3
|
+
export function injectToggleGroup() {
|
4
|
+
return inject(RdxToggleGroupToken);
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b2dnbGUtZ3JvdXAvc3JjL3RvZ2dsZS1ncm91cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FFbkQscUJBQXFCLENBQUMsQ0FBQztBQUV6QixNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLE9BQU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBSZHhUb2dnbGVHcm91cE11bHRpRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUtZ3JvdXAtbXVsdGkuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL3RvZ2dsZS1ncm91cC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUmR4VG9nZ2xlR3JvdXBUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBSZHhUb2dnbGVHcm91cERpcmVjdGl2ZSB8IFJkeFRvZ2dsZUdyb3VwTXVsdGlEaXJlY3RpdmVcbj4oJ1JkeFRvZ2dsZUdyb3VwVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFRvZ2dsZUdyb3VwKCk6IFJkeFRvZ2dsZUdyb3VwRGlyZWN0aXZlIHwgUmR4VG9nZ2xlR3JvdXBNdWx0aURpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGluamVjdChSZHhUb2dnbGVHcm91cFRva2VuKTtcbn1cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Directive, ElementRef, inject } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
|
-
export class
|
3
|
+
export class RdxVisuallyHiddenDirective {
|
4
4
|
constructor() {
|
5
5
|
/**
|
6
6
|
* Access the element.
|
@@ -29,14 +29,14 @@ export class VisuallyHiddenDirective {
|
|
29
29
|
left: 0
|
30
30
|
});
|
31
31
|
}
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type:
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type:
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxVisuallyHiddenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxVisuallyHiddenDirective, isStandalone: true, selector: "[rdxVisuallyHidden]", ngImport: i0 }); }
|
34
34
|
}
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type:
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxVisuallyHiddenDirective, decorators: [{
|
36
36
|
type: Directive,
|
37
37
|
args: [{
|
38
38
|
selector: '[rdxVisuallyHidden]',
|
39
39
|
standalone: true
|
40
40
|
}]
|
41
41
|
}] });
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsbHktaGlkZGVuLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdmlzdWFsbHktaGlkZGVuL3NyYy92aXN1YWxseS1oaWRkZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFNdEUsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUtJOztXQUVHO1FBQ2MsWUFBTyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7S0F3QjFFO0lBdEJHLFFBQVE7UUFDSixtQkFBbUI7UUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDNUMsUUFBUSxFQUFFLFVBQVU7WUFDcEIsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLEVBQUUsTUFBTTtZQUNkLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIseURBQXlEO1lBQ3pELE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLE1BQU07WUFDbEIsMkVBQTJFO1lBQzNFLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsaUJBQWlCLEVBQUUsTUFBTTtZQUN6QixJQUFJLEVBQUUsQ0FBQztTQUNWLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBM0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VmlzdWFsbHlIaWRkZW5dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJkeFZpc3VhbGx5SGlkZGVuRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiBBY2Nlc3MgdGhlIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBoaWRlIHRoZSBlbGVtZW50XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICAgICAgd2lkdGg6ICcxcHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMXB4JyxcbiAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICBtYXJnaW46ICctMXB4JyxcbiAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIGNsaXA6ICdyZWN0KDAsIDAsIDAsIDApJyxcbiAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgd29yZFdyYXA6ICdub3JtYWwnLFxuICAgICAgICAgICAgLy8gQXZvaWQgYnJvd3NlcnMgcmVuZGVyaW5nIHRoZSBmb2N1cyByaW5nIGluIHNvbWUgY2FzZXMuXG4gICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiAnbm9uZScsXG4gICAgICAgICAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHNcbiAgICAgICAgICAgICctd2Via2l0LWFwcGVhcmFuY2UnOiAnbm9uZScsXG4gICAgICAgICAgICAnLW1vei1hcHBlYXJhbmNlJzogJ25vbmUnLFxuICAgICAgICAgICAgbGVmdDogMFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|