@radix-ng/primitives 0.5.0 → 0.6.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/alert-dialog/README.md +1 -0
- package/alert-dialog/index.d.ts +6 -0
- package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +7 -0
- package/alert-dialog/src/alert-dialog-content.directive.d.ts +8 -0
- package/alert-dialog/src/alert-dialog-root.directive.d.ts +9 -0
- package/alert-dialog/src/alert-dialog-title.directive.d.ts +5 -0
- package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +7 -0
- package/alert-dialog/src/alert-dialog.service.d.ts +14 -0
- package/avatar/index.d.ts +3 -1
- package/avatar/src/avatar-fallback.directive.d.ts +10 -17
- package/avatar/src/avatar-image.directive.d.ts +10 -11
- package/avatar/src/avatar-root.directive.d.ts +21 -0
- package/avatar/src/avatar.config.d.ts +3 -2
- package/checkbox/src/checkbox.directive.d.ts +2 -1
- package/collapsible/README.md +1 -0
- package/collapsible/index.d.ts +3 -0
- package/collapsible/src/collapsible-content.directive.d.ts +11 -0
- package/collapsible/src/collapsible-root.directive.d.ts +52 -0
- package/collapsible/src/collapsible-trigger.directive.d.ts +26 -0
- package/esm2022/alert-dialog/index.mjs +7 -0
- package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +5 -0
- package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +24 -0
- package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +26 -0
- package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +24 -0
- package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +14 -0
- package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +24 -0
- package/esm2022/alert-dialog/src/alert-dialog.service.mjs +45 -0
- package/esm2022/avatar/index.mjs +2 -2
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +23 -30
- package/esm2022/avatar/src/avatar-image.directive.mjs +29 -31
- package/esm2022/avatar/src/avatar-root.directive.mjs +38 -0
- package/esm2022/avatar/src/avatar.config.mjs +2 -2
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +4 -4
- package/esm2022/checkbox/src/checkbox.directive.mjs +4 -4
- package/esm2022/collapsible/index.mjs +4 -0
- package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +5 -0
- package/esm2022/collapsible/src/collapsible-content.directive.mjs +26 -0
- package/esm2022/collapsible/src/collapsible-root.directive.mjs +114 -0
- package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +49 -0
- package/esm2022/label/index.mjs +2 -2
- package/esm2022/label/src/label-root.directive.mjs +48 -0
- package/esm2022/progress/index.mjs +2 -2
- package/esm2022/progress/src/progress-indicator.directive.mjs +11 -10
- package/esm2022/progress/src/progress-root.directive.mjs +71 -0
- package/esm2022/radio/index.mjs +2 -4
- package/esm2022/radio/src/radio-indicator.directive.mjs +8 -13
- package/esm2022/radio/src/radio-item.directive.mjs +27 -42
- package/esm2022/radio/src/radio-root.directive.mjs +106 -0
- package/esm2022/roving-focus/index.mjs +1 -3
- package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +9 -16
- package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +21 -26
- package/esm2022/separator/src/separator.directive.mjs +12 -17
- package/esm2022/switch/index.mjs +2 -3
- package/esm2022/switch/src/switch-root.directive.mjs +74 -0
- package/esm2022/switch/src/switch-thumb.directive.mjs +10 -12
- package/esm2022/toggle/index.mjs +2 -2
- package/esm2022/toggle/src/toggle-root.directive.mjs +51 -0
- package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +4 -4
- package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +4 -4
- package/esm2022/toggle-group/src/toggle-group.directive.mjs +4 -4
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +150 -0
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-avatar.mjs +79 -90
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +6 -6
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +190 -0
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-label.mjs +20 -32
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +55 -49
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +70 -100
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +19 -42
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +12 -17
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +49 -106
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +15 -29
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/label/index.d.ts +1 -1
- package/label/src/label-root.directive.d.ts +13 -0
- package/package.json +12 -19
- package/progress/index.d.ts +2 -1
- package/progress/src/progress-indicator.directive.d.ts +2 -2
- package/progress/src/progress-root.directive.d.ts +29 -0
- package/radio/index.d.ts +1 -3
- package/radio/src/radio-indicator.directive.d.ts +3 -9
- package/radio/src/radio-item.directive.d.ts +9 -28
- package/radio/src/{radio-group.directive.d.ts → radio-root.directive.d.ts} +24 -16
- package/roving-focus/index.d.ts +0 -2
- package/roving-focus/src/roving-focus-group.directive.d.ts +4 -6
- package/roving-focus/src/roving-focus-item.directive.d.ts +6 -8
- package/separator/src/separator.directive.d.ts +14 -8
- package/switch/index.d.ts +2 -2
- package/switch/src/switch-root.directive.d.ts +35 -0
- package/switch/src/switch-thumb.directive.d.ts +2 -5
- package/toggle/index.d.ts +2 -1
- package/toggle/src/toggle-root.directive.d.ts +32 -0
- package/toggle-group/src/toggle-group-multi.directive.d.ts +1 -1
- package/toggle-group/src/toggle-group.directive.d.ts +1 -1
- package/accordion/README.md +0 -3
- package/accordion/index.d.ts +0 -7
- package/accordion/src/accordion/accordion.directive.d.ts +0 -64
- package/accordion/src/accordion/accordion.token.d.ts +0 -4
- package/accordion/src/accordion-content/accordion-content.directive.d.ts +0 -44
- package/accordion/src/accordion-header/accordion-header.directive.d.ts +0 -6
- package/accordion/src/accordion-item/accordion-item.directive.d.ts +0 -42
- package/accordion/src/accordion-item/accordion-item.token.d.ts +0 -4
- package/accordion/src/accordion-state.directive.d.ts +0 -28
- package/accordion/src/accordion-trigger/accordion-trigger.directive.d.ts +0 -23
- package/accordion/src/accordion.config.d.ts +0 -25
- package/avatar/src/avatar.directive.d.ts +0 -22
- package/avatar/src/avatar.token.d.ts +0 -4
- package/esm2022/accordion/index.mjs +0 -8
- package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
- package/esm2022/accordion/src/accordion/accordion.directive.mjs +0 -108
- package/esm2022/accordion/src/accordion/accordion.token.mjs +0 -6
- package/esm2022/accordion/src/accordion-content/accordion-content.directive.mjs +0 -75
- package/esm2022/accordion/src/accordion-header/accordion-header.directive.mjs +0 -17
- package/esm2022/accordion/src/accordion-item/accordion-item.directive.mjs +0 -81
- package/esm2022/accordion/src/accordion-item/accordion-item.token.mjs +0 -6
- package/esm2022/accordion/src/accordion-state.directive.mjs +0 -49
- package/esm2022/accordion/src/accordion-trigger/accordion-trigger.directive.mjs +0 -49
- package/esm2022/accordion/src/accordion.config.mjs +0 -27
- package/esm2022/avatar/src/avatar.directive.mjs +0 -38
- package/esm2022/avatar/src/avatar.token.mjs +0 -6
- package/esm2022/label/src/label.directive.mjs +0 -60
- package/esm2022/overlay/index.mjs +0 -5
- package/esm2022/overlay/radix-ng-primitives-overlay.mjs +0 -5
- package/esm2022/overlay/src/overlay-arrow.directive.mjs +0 -59
- package/esm2022/overlay/src/overlay-arrow.token.mjs +0 -3
- package/esm2022/overlay/src/overlay-trigger.directive.mjs +0 -279
- package/esm2022/overlay/src/overlay-trigger.token.mjs +0 -9
- package/esm2022/overlay/src/overlay.directive.mjs +0 -51
- package/esm2022/overlay/src/overlay.token.mjs +0 -3
- package/esm2022/progress/src/progress.directive.mjs +0 -62
- package/esm2022/progress/src/progress.token.mjs +0 -6
- package/esm2022/radio/src/radio-group.directive.mjs +0 -108
- package/esm2022/radio/src/radio-group.token.mjs +0 -6
- package/esm2022/radio/src/radio-item.token.mjs +0 -6
- package/esm2022/roving-focus/src/roving-focus-group.token.mjs +0 -9
- package/esm2022/roving-focus/src/roving-focus-item.token.mjs +0 -6
- package/esm2022/switch/src/switch.directive.mjs +0 -125
- package/esm2022/switch/src/switch.token.mjs +0 -6
- package/esm2022/toggle/src/toggle.directive.mjs +0 -65
- package/esm2022/visually-hidden/index.mjs +0 -2
- package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
- package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
- package/fesm2022/radix-ng-primitives-accordion.mjs +0 -394
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-overlay.mjs +0 -399
- package/fesm2022/radix-ng-primitives-overlay.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +0 -49
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +0 -1
- package/label/src/label.directive.d.ts +0 -19
- package/overlay/README.md +0 -1
- package/overlay/index.d.ts +0 -4
- package/overlay/src/overlay-arrow.directive.d.ts +0 -29
- package/overlay/src/overlay-arrow.token.d.ts +0 -3
- package/overlay/src/overlay-trigger.directive.d.ts +0 -163
- package/overlay/src/overlay-trigger.token.d.ts +0 -7
- package/overlay/src/overlay.directive.d.ts +0 -29
- package/overlay/src/overlay.token.d.ts +0 -3
- package/progress/src/progress.directive.d.ts +0 -26
- package/progress/src/progress.token.d.ts +0 -4
- package/radio/src/radio-group.token.d.ts +0 -4
- package/radio/src/radio-item.token.d.ts +0 -4
- package/roving-focus/src/roving-focus-group.token.d.ts +0 -7
- package/roving-focus/src/roving-focus-item.token.d.ts +0 -4
- package/switch/src/switch.directive.d.ts +0 -73
- package/switch/src/switch.token.d.ts +0 -4
- package/toggle/src/toggle.directive.d.ts +0 -30
- package/visually-hidden/README.md +0 -3
- package/visually-hidden/index.d.ts +0 -1
- package/visually-hidden/src/visually-hidden.directive.d.ts +0 -11
@@ -1,394 +0,0 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, inject, computed, Directive, ElementRef, ChangeDetectorRef, HostBinding, EventEmitter, booleanAttribute, Input, Output, HostListener, signal } from '@angular/core';
|
3
|
-
import * as i2 from '@radix-ng/primitives/roving-focus';
|
4
|
-
import { RdxRovingFocusItemDirective, injectRovingFocusGroup, RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';
|
5
|
-
|
6
|
-
const RdxAccordionItemToken = new InjectionToken('RdxAccordionItemToken');
|
7
|
-
function injectAccordionItem() {
|
8
|
-
return inject(RdxAccordionItemToken);
|
9
|
-
}
|
10
|
-
|
11
|
-
const RdxAccordionToken = new InjectionToken('NgpAccordionToken');
|
12
|
-
function injectAccordion() {
|
13
|
-
return inject(RdxAccordionToken);
|
14
|
-
}
|
15
|
-
|
16
|
-
class RdxAccordionStateDirective {
|
17
|
-
constructor() {
|
18
|
-
/**
|
19
|
-
* Access the accordion the trigger belongs to.
|
20
|
-
*/
|
21
|
-
this.accordion = injectAccordion();
|
22
|
-
/**
|
23
|
-
* Access the item the trigger belongs to.
|
24
|
-
*/
|
25
|
-
this.item = injectAccordionItem();
|
26
|
-
/**
|
27
|
-
* Determine the expanded state of the item.
|
28
|
-
* @internal
|
29
|
-
*/
|
30
|
-
this.state = computed(() => (this.item.isExpanded() ? 'open' : 'closed'));
|
31
|
-
}
|
32
|
-
/**
|
33
|
-
* Determine the disabled state of the item.
|
34
|
-
* @internal
|
35
|
-
*/
|
36
|
-
get isDisabled() {
|
37
|
-
return this.item.disabled || this.accordion.disabled;
|
38
|
-
}
|
39
|
-
/**
|
40
|
-
* Determine the orientation of the accordion.
|
41
|
-
* @internal
|
42
|
-
*/
|
43
|
-
get orientation() {
|
44
|
-
return this.accordion.orientation;
|
45
|
-
}
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
47
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxAccordionStateDirective, isStandalone: true, host: { properties: { "attr.data-state": "state()", "attr.data-disabled": "isDisabled", "attr.data-orientation": "orientation" } }, ngImport: i0 }); }
|
48
|
-
}
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionStateDirective, decorators: [{
|
50
|
-
type: Directive,
|
51
|
-
args: [{
|
52
|
-
standalone: true,
|
53
|
-
host: {
|
54
|
-
'[attr.data-state]': 'state()',
|
55
|
-
'[attr.data-disabled]': 'isDisabled',
|
56
|
-
'[attr.data-orientation]': 'orientation'
|
57
|
-
}
|
58
|
-
}]
|
59
|
-
}] });
|
60
|
-
|
61
|
-
class RdxAccordionContentDirective {
|
62
|
-
constructor() {
|
63
|
-
/**
|
64
|
-
* Access the element ref.
|
65
|
-
*/
|
66
|
-
this.elementRef = inject(ElementRef);
|
67
|
-
/**
|
68
|
-
* Access the change detector ref.
|
69
|
-
*/
|
70
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
71
|
-
/**
|
72
|
-
* Access the item the content belongs to.
|
73
|
-
*/
|
74
|
-
this.item = inject(RdxAccordionItemToken);
|
75
|
-
/**
|
76
|
-
* Derive the id of the content.
|
77
|
-
* @internal
|
78
|
-
*/
|
79
|
-
this.id = `${this.item.id}-content`;
|
80
|
-
/**
|
81
|
-
* Derive the id of the trigger.
|
82
|
-
* @internal
|
83
|
-
*/
|
84
|
-
this.labelledby = `${this.item.id}-trigger`;
|
85
|
-
/**
|
86
|
-
* Define the width of the content as a CSS variable, so it can be used in animations.
|
87
|
-
* @internal
|
88
|
-
*/
|
89
|
-
this.width = this.elementRef.nativeElement.scrollWidth;
|
90
|
-
/**
|
91
|
-
* Define the height of the content as a CSS variable, so it can be used in animations.
|
92
|
-
* @internal
|
93
|
-
*/
|
94
|
-
this.height = this.elementRef.nativeElement.scrollHeight;
|
95
|
-
}
|
96
|
-
ngAfterViewInit() {
|
97
|
-
this.updateContentSize();
|
98
|
-
}
|
99
|
-
/**
|
100
|
-
* Update the size of the content.
|
101
|
-
*/
|
102
|
-
updateContentSize() {
|
103
|
-
this.width = this.elementRef.nativeElement.scrollWidth;
|
104
|
-
this.height = this.elementRef.nativeElement.scrollHeight;
|
105
|
-
this.changeDetectorRef.detectChanges();
|
106
|
-
}
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
108
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxAccordionContentDirective, isStandalone: true, selector: "[rdxAccordionContent]", host: { attributes: { "role": "region" }, properties: { "id": "id", "attr.aria-labelledby": "labelledby", "style.display": "!item.isExpanded() ? \"none\": \"\"", "style.--rdx-accordion-content-width.px": "this.width", "style.--rdx-accordion-content-height.px": "this.height" } }, hostDirectives: [{ directive: RdxAccordionStateDirective }], ngImport: i0 }); }
|
109
|
-
}
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionContentDirective, decorators: [{
|
111
|
-
type: Directive,
|
112
|
-
args: [{
|
113
|
-
selector: '[rdxAccordionContent]',
|
114
|
-
standalone: true,
|
115
|
-
host: {
|
116
|
-
role: 'region',
|
117
|
-
'[id]': 'id',
|
118
|
-
'[attr.aria-labelledby]': 'labelledby',
|
119
|
-
'[style.display]': '!item.isExpanded() ? "none": ""'
|
120
|
-
},
|
121
|
-
hostDirectives: [RdxAccordionStateDirective]
|
122
|
-
}]
|
123
|
-
}], propDecorators: { width: [{
|
124
|
-
type: HostBinding,
|
125
|
-
args: ['style.--rdx-accordion-content-width.px']
|
126
|
-
}], height: [{
|
127
|
-
type: HostBinding,
|
128
|
-
args: ['style.--rdx-accordion-content-height.px']
|
129
|
-
}] } });
|
130
|
-
|
131
|
-
class RdxAccordionHeaderDirective {
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
133
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxAccordionHeaderDirective, isStandalone: true, selector: "[rdxAccordionHeader]", hostDirectives: [{ directive: RdxAccordionStateDirective }], ngImport: i0 }); }
|
134
|
-
}
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionHeaderDirective, decorators: [{
|
136
|
-
type: Directive,
|
137
|
-
args: [{
|
138
|
-
selector: '[rdxAccordionHeader]',
|
139
|
-
standalone: true,
|
140
|
-
hostDirectives: [RdxAccordionStateDirective]
|
141
|
-
}]
|
142
|
-
}] });
|
143
|
-
|
144
|
-
/**
|
145
|
-
* A unique id for the item.
|
146
|
-
*/
|
147
|
-
let uniqueId = 0;
|
148
|
-
class RdxAccordionItemDirective {
|
149
|
-
constructor() {
|
150
|
-
/**
|
151
|
-
* Access the accordion the item belongs to.
|
152
|
-
*/
|
153
|
-
this.accordion = injectAccordion();
|
154
|
-
/**
|
155
|
-
* Determines whether the item should be expanded.
|
156
|
-
* @default false
|
157
|
-
*/
|
158
|
-
this.expanded = false;
|
159
|
-
/**
|
160
|
-
* Determines whether the Item should be disabled.
|
161
|
-
* @default false
|
162
|
-
*/
|
163
|
-
this.disabled = false;
|
164
|
-
/**
|
165
|
-
* Event emitted when the Item is expanded.
|
166
|
-
*/
|
167
|
-
this.expandedChange = new EventEmitter();
|
168
|
-
/**
|
169
|
-
* The unique id of the Item.
|
170
|
-
* @internal
|
171
|
-
*/
|
172
|
-
this.id = `rdx-accordion-item-${uniqueId++}`;
|
173
|
-
/**
|
174
|
-
* Determine if this item is expanded.
|
175
|
-
* @internal
|
176
|
-
*/
|
177
|
-
this.isExpanded = computed(() => this.accordion.expanded().includes(this.id));
|
178
|
-
}
|
179
|
-
/**
|
180
|
-
* Toggle the expanded state of the Item.
|
181
|
-
*/
|
182
|
-
toggle() {
|
183
|
-
// If the accordion or Item is disabled, do nothing.
|
184
|
-
if (this.accordion.disabled || this.disabled) {
|
185
|
-
return;
|
186
|
-
}
|
187
|
-
if (this.isExpanded()) {
|
188
|
-
this.accordion.collapse(this.id);
|
189
|
-
}
|
190
|
-
else {
|
191
|
-
this.accordion.expand(this.id);
|
192
|
-
}
|
193
|
-
this.expandedChange.emit(this.isExpanded());
|
194
|
-
}
|
195
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
196
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxAccordionItemDirective, isStandalone: true, selector: "[rdxAccordionItem]", inputs: { expanded: ["rdxAccordionItemExpanded", "expanded", booleanAttribute], disabled: ["rdxAccordionItemDisabled", "disabled", booleanAttribute] }, outputs: { expandedChange: "rdxAccordionItemExpandedChange" }, providers: [{ provide: RdxAccordionItemToken, useExisting: RdxAccordionItemDirective }], hostDirectives: [{ directive: RdxAccordionStateDirective }, { directive: i2.RdxRovingFocusItemDirective }], ngImport: i0 }); }
|
197
|
-
}
|
198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionItemDirective, decorators: [{
|
199
|
-
type: Directive,
|
200
|
-
args: [{
|
201
|
-
selector: '[rdxAccordionItem]',
|
202
|
-
standalone: true,
|
203
|
-
providers: [{ provide: RdxAccordionItemToken, useExisting: RdxAccordionItemDirective }],
|
204
|
-
hostDirectives: [RdxAccordionStateDirective, RdxRovingFocusItemDirective]
|
205
|
-
}]
|
206
|
-
}], propDecorators: { expanded: [{
|
207
|
-
type: Input,
|
208
|
-
args: [{ alias: 'rdxAccordionItemExpanded', transform: booleanAttribute }]
|
209
|
-
}], disabled: [{
|
210
|
-
type: Input,
|
211
|
-
args: [{ alias: 'rdxAccordionItemDisabled', transform: booleanAttribute }]
|
212
|
-
}], expandedChange: [{
|
213
|
-
type: Output,
|
214
|
-
args: ['rdxAccordionItemExpandedChange']
|
215
|
-
}] } });
|
216
|
-
|
217
|
-
class RdxAccordionTriggerDirective {
|
218
|
-
constructor() {
|
219
|
-
/**
|
220
|
-
* Access the item the trigger belongs to.
|
221
|
-
*/
|
222
|
-
this.item = inject(RdxAccordionItemToken);
|
223
|
-
/**
|
224
|
-
* Get the id of the item content.
|
225
|
-
* @internal
|
226
|
-
*/
|
227
|
-
this.contentId = `${this.item.id}-content`;
|
228
|
-
}
|
229
|
-
/**
|
230
|
-
* Derive the id of the trigger.
|
231
|
-
*/
|
232
|
-
get triggerId() {
|
233
|
-
return `${this.item.id}-trigger`;
|
234
|
-
}
|
235
|
-
/**
|
236
|
-
* Toggle the expanded state of the item.
|
237
|
-
*/
|
238
|
-
toggle() {
|
239
|
-
this.item.toggle();
|
240
|
-
}
|
241
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
242
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: RdxAccordionTriggerDirective, isStandalone: true, selector: "[rdxAccordionTrigger]", host: { listeners: { "click": "toggle()" }, properties: { "id": "triggerId", "attr.aria-expanded": "item.isExpanded()", "attr.aria-controls": "contentId" } }, hostDirectives: [{ directive: RdxAccordionStateDirective }], ngImport: i0 }); }
|
243
|
-
}
|
244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionTriggerDirective, decorators: [{
|
245
|
-
type: Directive,
|
246
|
-
args: [{
|
247
|
-
selector: '[rdxAccordionTrigger]',
|
248
|
-
standalone: true,
|
249
|
-
hostDirectives: [RdxAccordionStateDirective],
|
250
|
-
host: {
|
251
|
-
'[id]': 'triggerId',
|
252
|
-
'[attr.aria-expanded]': 'item.isExpanded()',
|
253
|
-
'[attr.aria-controls]': 'contentId'
|
254
|
-
}
|
255
|
-
}]
|
256
|
-
}], propDecorators: { toggle: [{
|
257
|
-
type: HostListener,
|
258
|
-
args: ['click']
|
259
|
-
}] } });
|
260
|
-
|
261
|
-
const RdxAccordionConfigToken = new InjectionToken('RdxAccordionConfiguration');
|
262
|
-
const defaultAccordionConfig = {
|
263
|
-
multiple: false,
|
264
|
-
orientation: 'vertical'
|
265
|
-
};
|
266
|
-
/**
|
267
|
-
* Provide the default accordion configuration
|
268
|
-
* @param config The accordion configuration
|
269
|
-
* @returns The provider
|
270
|
-
*/
|
271
|
-
function provideAccordionConfig(config) {
|
272
|
-
return [
|
273
|
-
{
|
274
|
-
provide: RdxAccordionConfigToken,
|
275
|
-
useValue: { ...defaultAccordionConfig, ...config }
|
276
|
-
}
|
277
|
-
];
|
278
|
-
}
|
279
|
-
/**
|
280
|
-
* Inject the accordion configuration
|
281
|
-
* @returns The global accordion configuration
|
282
|
-
*/
|
283
|
-
function injectAccordionConfig() {
|
284
|
-
return inject(RdxAccordionConfigToken, { optional: true }) ?? defaultAccordionConfig;
|
285
|
-
}
|
286
|
-
|
287
|
-
/**
|
288
|
-
* The root accordion directive that all parts should be placed within.
|
289
|
-
*/
|
290
|
-
class RdxAccordionDirective {
|
291
|
-
constructor() {
|
292
|
-
/**
|
293
|
-
* Access the global accordion configuration.
|
294
|
-
*/
|
295
|
-
this.config = injectAccordionConfig();
|
296
|
-
/**
|
297
|
-
* Access the roving focus group
|
298
|
-
*/
|
299
|
-
this.rovingFocusGroup = injectRovingFocusGroup();
|
300
|
-
/**
|
301
|
-
* Determines whether multiple items can be open simultaneously.
|
302
|
-
* @default false
|
303
|
-
*/
|
304
|
-
this.multiple = this.config.multiple;
|
305
|
-
/**
|
306
|
-
* The orientation of the accordion.
|
307
|
-
* @default 'vertical'
|
308
|
-
*/
|
309
|
-
this.orientation = this.config.orientation;
|
310
|
-
/**
|
311
|
-
* Determines whether the accordion should be disabled.
|
312
|
-
* @default false
|
313
|
-
*/
|
314
|
-
this.disabled = false;
|
315
|
-
/**
|
316
|
-
* Store the currently expanded item(s).
|
317
|
-
* @internal
|
318
|
-
*/
|
319
|
-
this.expanded = signal([]);
|
320
|
-
}
|
321
|
-
ngOnInit() {
|
322
|
-
this.rovingFocusGroup.setOrientation(this.orientation);
|
323
|
-
}
|
324
|
-
/**
|
325
|
-
* Expand an item.
|
326
|
-
* @param id The id of the item to expand.
|
327
|
-
*/
|
328
|
-
expand(id) {
|
329
|
-
this.expanded.set(this.multiple ? [...this.expanded(), id] : [id]);
|
330
|
-
}
|
331
|
-
/**
|
332
|
-
* Collapse an Item.
|
333
|
-
* @param id The id of the Item to collapse.
|
334
|
-
*/
|
335
|
-
collapse(id) {
|
336
|
-
this.expanded.set(this.expanded().filter((expandedId) => expandedId !== id));
|
337
|
-
}
|
338
|
-
/**
|
339
|
-
* Toggle an item.
|
340
|
-
* @param id The id of the item to toggle.
|
341
|
-
*/
|
342
|
-
toggle(id) {
|
343
|
-
if (this.expanded().includes(id)) {
|
344
|
-
this.collapse(id);
|
345
|
-
}
|
346
|
-
else {
|
347
|
-
this.expand(id);
|
348
|
-
}
|
349
|
-
}
|
350
|
-
/**
|
351
|
-
* Collapse all items.
|
352
|
-
*/
|
353
|
-
collapseAll() {
|
354
|
-
this.expanded.set([]);
|
355
|
-
}
|
356
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
357
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: RdxAccordionDirective, isStandalone: true, selector: "[rdxAccordion]", inputs: { multiple: ["rdxAccordionMultiple", "multiple", booleanAttribute], orientation: ["rdxAccordionOrientation", "orientation"], disabled: ["rdxAccordionDisabled", "disabled", booleanAttribute] }, host: { listeners: { "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "this.orientation" } }, providers: [{ provide: RdxAccordionToken, useExisting: RdxAccordionDirective }], hostDirectives: [{ directive: i2.RdxRovingFocusGroupDirective, inputs: ["rdxRovingFocusGroupOrientation", "orientation"] }], ngImport: i0 }); }
|
358
|
-
}
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: RdxAccordionDirective, decorators: [{
|
360
|
-
type: Directive,
|
361
|
-
args: [{
|
362
|
-
selector: '[rdxAccordion]',
|
363
|
-
standalone: true,
|
364
|
-
hostDirectives: [
|
365
|
-
{
|
366
|
-
directive: RdxRovingFocusGroupDirective,
|
367
|
-
inputs: ['rdxRovingFocusGroupOrientation:orientation']
|
368
|
-
}
|
369
|
-
],
|
370
|
-
providers: [{ provide: RdxAccordionToken, useExisting: RdxAccordionDirective }],
|
371
|
-
host: {
|
372
|
-
'(focusout)': 'onTouched?.()'
|
373
|
-
}
|
374
|
-
}]
|
375
|
-
}], propDecorators: { multiple: [{
|
376
|
-
type: Input,
|
377
|
-
args: [{ alias: 'rdxAccordionMultiple', transform: booleanAttribute }]
|
378
|
-
}], orientation: [{
|
379
|
-
type: HostBinding,
|
380
|
-
args: ['attr.data-orientation']
|
381
|
-
}, {
|
382
|
-
type: Input,
|
383
|
-
args: [{ alias: 'rdxAccordionOrientation' }]
|
384
|
-
}], disabled: [{
|
385
|
-
type: Input,
|
386
|
-
args: [{ alias: 'rdxAccordionDisabled', transform: booleanAttribute }]
|
387
|
-
}] } });
|
388
|
-
|
389
|
-
/**
|
390
|
-
* Generated bundle index. Do not edit.
|
391
|
-
*/
|
392
|
-
|
393
|
-
export { RdxAccordionConfigToken, RdxAccordionContentDirective, RdxAccordionDirective, RdxAccordionHeaderDirective, RdxAccordionItemDirective, RdxAccordionStateDirective, RdxAccordionTriggerDirective, injectAccordionConfig, provideAccordionConfig };
|
394
|
-
//# sourceMappingURL=radix-ng-primitives-accordion.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-accordion.mjs","sources":["../../../packages/primitives/accordion/src/accordion-item/accordion-item.token.ts","../../../packages/primitives/accordion/src/accordion/accordion.token.ts","../../../packages/primitives/accordion/src/accordion-state.directive.ts","../../../packages/primitives/accordion/src/accordion-content/accordion-content.directive.ts","../../../packages/primitives/accordion/src/accordion-header/accordion-header.directive.ts","../../../packages/primitives/accordion/src/accordion-item/accordion-item.directive.ts","../../../packages/primitives/accordion/src/accordion-trigger/accordion-trigger.directive.ts","../../../packages/primitives/accordion/src/accordion.config.ts","../../../packages/primitives/accordion/src/accordion/accordion.directive.ts","../../../packages/primitives/accordion/radix-ng-primitives-accordion.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type { RdxAccordionItemDirective } from './accordion-item.directive';\n\nexport const RdxAccordionItemToken = new InjectionToken<RdxAccordionItemDirective>(\n 'RdxAccordionItemToken'\n);\n\nexport function injectAccordionItem(): RdxAccordionItemDirective {\n return inject(RdxAccordionItemToken);\n}\n","import { inject, InjectionToken } from '@angular/core';\n\nimport type { RdxAccordionDirective } from './accordion.directive';\n\nexport const RdxAccordionToken = new InjectionToken<RdxAccordionDirective>('NgpAccordionToken');\n\nexport function injectAccordion(): RdxAccordionDirective {\n return inject(RdxAccordionToken);\n}\n","import { computed, Directive } from '@angular/core';\n\nimport { injectAccordionItem } from './accordion-item/accordion-item.token';\nimport { injectAccordion } from './accordion/accordion.token';\n\n@Directive({\n standalone: true,\n host: {\n '[attr.data-state]': 'state()',\n '[attr.data-disabled]': 'isDisabled',\n '[attr.data-orientation]': 'orientation'\n }\n})\nexport class RdxAccordionStateDirective {\n /**\n * Access the accordion the trigger belongs to.\n */\n private readonly accordion = injectAccordion();\n\n /**\n * Access the item the trigger belongs to.\n */\n private readonly item = injectAccordionItem();\n\n /**\n * Determine the expanded state of the item.\n * @internal\n */\n readonly state = computed(() => (this.item.isExpanded() ? 'open' : 'closed'));\n\n /**\n * Determine the disabled state of the item.\n * @internal\n */\n get isDisabled(): boolean {\n return this.item.disabled || this.accordion.disabled;\n }\n\n /**\n * Determine the orientation of the accordion.\n * @internal\n */\n get orientation(): 'horizontal' | 'vertical' {\n return this.accordion.orientation;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n inject\n} from '@angular/core';\n\nimport { RdxAccordionItemToken } from '../accordion-item/accordion-item.token';\nimport { RdxAccordionStateDirective } from '../accordion-state.directive';\n\n@Directive({\n selector: '[rdxAccordionContent]',\n standalone: true,\n host: {\n role: 'region',\n '[id]': 'id',\n '[attr.aria-labelledby]': 'labelledby',\n '[style.display]': '!item.isExpanded() ? \"none\": \"\"'\n },\n hostDirectives: [RdxAccordionStateDirective]\n})\nexport class RdxAccordionContentDirective implements AfterViewInit {\n /**\n * Access the element ref.\n */\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Access the change detector ref.\n */\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n /**\n * Access the item the content belongs to.\n */\n protected readonly item = inject(RdxAccordionItemToken);\n\n /**\n * Derive the id of the content.\n * @internal\n */\n readonly id = `${this.item.id}-content`;\n\n /**\n * Derive the id of the trigger.\n * @internal\n */\n readonly labelledby = `${this.item.id}-trigger`;\n\n /**\n * Define the width of the content as a CSS variable, so it can be used in animations.\n * @internal\n */\n @HostBinding('style.--rdx-accordion-content-width.px')\n protected width = this.elementRef.nativeElement.scrollWidth;\n\n /**\n * Define the height of the content as a CSS variable, so it can be used in animations.\n * @internal\n */\n @HostBinding('style.--rdx-accordion-content-height.px')\n protected height = this.elementRef.nativeElement.scrollHeight;\n\n ngAfterViewInit(): void {\n this.updateContentSize();\n }\n\n /**\n * Update the size of the content.\n */\n private updateContentSize(): void {\n this.width = this.elementRef.nativeElement.scrollWidth;\n this.height = this.elementRef.nativeElement.scrollHeight;\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { RdxAccordionStateDirective } from '../accordion-state.directive';\n\n@Directive({\n selector: '[rdxAccordionHeader]',\n standalone: true,\n hostDirectives: [RdxAccordionStateDirective]\n})\nexport class RdxAccordionHeaderDirective {}\n","import { booleanAttribute, computed, Directive, EventEmitter, Input, Output } from '@angular/core';\n\nimport { RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';\n\nimport { RdxAccordionStateDirective } from '../accordion-state.directive';\nimport { injectAccordion } from '../accordion/accordion.token';\nimport { RdxAccordionItemToken } from './accordion-item.token';\n\n/**\n * A unique id for the item.\n */\nlet uniqueId = 0;\n\n@Directive({\n selector: '[rdxAccordionItem]',\n standalone: true,\n providers: [{ provide: RdxAccordionItemToken, useExisting: RdxAccordionItemDirective }],\n hostDirectives: [RdxAccordionStateDirective, RdxRovingFocusItemDirective]\n})\nexport class RdxAccordionItemDirective {\n /**\n * Access the accordion the item belongs to.\n */\n private readonly accordion = injectAccordion();\n\n /**\n * Determines whether the item should be expanded.\n * @default false\n */\n @Input({ alias: 'rdxAccordionItemExpanded', transform: booleanAttribute }) expanded = false;\n\n /**\n * Determines whether the Item should be disabled.\n * @default false\n */\n @Input({ alias: 'rdxAccordionItemDisabled', transform: booleanAttribute }) disabled = false;\n\n /**\n * Event emitted when the Item is expanded.\n */\n @Output('rdxAccordionItemExpandedChange') readonly expandedChange = new EventEmitter<boolean>();\n\n /**\n * The unique id of the Item.\n * @internal\n */\n readonly id = `rdx-accordion-item-${uniqueId++}`;\n\n /**\n * Determine if this item is expanded.\n * @internal\n */\n readonly isExpanded = computed(() => this.accordion.expanded().includes(this.id));\n\n /**\n * Toggle the expanded state of the Item.\n */\n toggle(): void {\n // If the accordion or Item is disabled, do nothing.\n if (this.accordion.disabled || this.disabled) {\n return;\n }\n\n if (this.isExpanded()) {\n this.accordion.collapse(this.id);\n } else {\n this.accordion.expand(this.id);\n }\n\n this.expandedChange.emit(this.isExpanded());\n }\n}\n","import { Directive, HostListener, inject } from '@angular/core';\n\nimport { RdxAccordionItemToken } from '../accordion-item/accordion-item.token';\nimport { RdxAccordionStateDirective } from '../accordion-state.directive';\n\n@Directive({\n selector: '[rdxAccordionTrigger]',\n standalone: true,\n hostDirectives: [RdxAccordionStateDirective],\n host: {\n '[id]': 'triggerId',\n '[attr.aria-expanded]': 'item.isExpanded()',\n '[attr.aria-controls]': 'contentId'\n }\n})\nexport class RdxAccordionTriggerDirective {\n /**\n * Access the item the trigger belongs to.\n */\n protected readonly item = inject(RdxAccordionItemToken);\n\n /**\n * Derive the id of the trigger.\n */\n protected get triggerId(): string {\n return `${this.item.id}-trigger`;\n }\n\n /**\n * Get the id of the item content.\n * @internal\n */\n protected readonly contentId = `${this.item.id}-content`;\n\n /**\n * Toggle the expanded state of the item.\n */\n @HostListener('click')\n toggle(): void {\n this.item.toggle();\n }\n}\n","import { inject, InjectionToken, Provider } from '@angular/core';\n\nexport const RdxAccordionConfigToken = new InjectionToken<RdxAccordionConfig>(\n 'RdxAccordionConfiguration'\n);\n\nexport interface RdxAccordionConfig {\n /**\n * Determines whether multiple items can be open simultaneously.\n * @default false\n */\n multiple: boolean;\n\n /**\n * The orientation of the accordion.\n * @default 'vertical'\n */\n orientation: 'horizontal' | 'vertical';\n}\n\nconst defaultAccordionConfig: RdxAccordionConfig = {\n multiple: false,\n orientation: 'vertical'\n};\n\n/**\n * Provide the default accordion configuration\n * @param config The accordion configuration\n * @returns The provider\n */\nexport function provideAccordionConfig(config: Partial<RdxAccordionConfig>): Provider[] {\n return [\n {\n provide: RdxAccordionConfigToken,\n useValue: { ...defaultAccordionConfig, ...config }\n }\n ];\n}\n\n/**\n * Inject the accordion configuration\n * @returns The global accordion configuration\n */\nexport function injectAccordionConfig(): RdxAccordionConfig {\n return inject(RdxAccordionConfigToken, { optional: true }) ?? defaultAccordionConfig;\n}\n","import { booleanAttribute, Directive, HostBinding, Input, OnInit, signal } from '@angular/core';\n\nimport {\n injectRovingFocusGroup,\n RdxRovingFocusGroupDirective\n} from '@radix-ng/primitives/roving-focus';\n\nimport { injectAccordionConfig } from '../accordion.config';\nimport { RdxAccordionToken } from './accordion.token';\n\n/**\n * The root accordion directive that all parts should be placed within.\n */\n@Directive({\n selector: '[rdxAccordion]',\n standalone: true,\n hostDirectives: [\n {\n directive: RdxRovingFocusGroupDirective,\n inputs: ['rdxRovingFocusGroupOrientation:orientation']\n }\n ],\n providers: [{ provide: RdxAccordionToken, useExisting: RdxAccordionDirective }],\n host: {\n '(focusout)': 'onTouched?.()'\n }\n})\nexport class RdxAccordionDirective implements OnInit {\n /**\n * Access the global accordion configuration.\n */\n private readonly config = injectAccordionConfig();\n\n /**\n * Access the roving focus group\n */\n private readonly rovingFocusGroup = injectRovingFocusGroup();\n\n /**\n * Determines whether multiple items can be open simultaneously.\n * @default false\n */\n @Input({ alias: 'rdxAccordionMultiple', transform: booleanAttribute }) multiple: boolean =\n this.config.multiple;\n\n /**\n * The orientation of the accordion.\n * @default 'vertical'\n */\n @HostBinding('attr.data-orientation')\n @Input({ alias: 'rdxAccordionOrientation' })\n orientation: 'horizontal' | 'vertical' = this.config.orientation;\n\n /**\n * Determines whether the accordion should be disabled.\n * @default false\n */\n @Input({ alias: 'rdxAccordionDisabled', transform: booleanAttribute }) disabled = false;\n\n /**\n * Store the currently expanded item(s).\n * @internal\n */\n readonly expanded = signal<string[]>([]);\n\n /**\n * The touched callback.\n */\n protected onTouched?: () => void;\n\n ngOnInit(): void {\n this.rovingFocusGroup.setOrientation(this.orientation);\n }\n /**\n * Expand an item.\n * @param id The id of the item to expand.\n */\n expand(id: string): void {\n this.expanded.set(this.multiple ? [...this.expanded(), id] : [id]);\n }\n\n /**\n * Collapse an Item.\n * @param id The id of the Item to collapse.\n */\n collapse(id: string): void {\n this.expanded.set(this.expanded().filter((expandedId) => expandedId !== id));\n }\n\n /**\n * Toggle an item.\n * @param id The id of the item to toggle.\n */\n toggle(id: string): void {\n if (this.expanded().includes(id)) {\n this.collapse(id);\n } else {\n this.expand(id);\n }\n }\n\n /**\n * Collapse all items.\n */\n collapseAll(): void {\n this.expanded.set([]);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RdxAccordionStateDirective","i1"],"mappings":"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"}
|