@angular/aria 21.0.0-next.9 → 21.0.0-rc.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/_adev_assets/aria-accordion.json +373 -0
- package/_adev_assets/aria-combobox.json +383 -0
- package/_adev_assets/aria-grid.json +578 -0
- package/_adev_assets/aria-listbox.json +511 -0
- package/_adev_assets/aria-menu.json +752 -0
- package/_adev_assets/aria-radio-group.json +389 -0
- package/_adev_assets/aria-tabs.json +987 -0
- package/_adev_assets/aria-toolbar.json +717 -0
- package/_adev_assets/aria-tree.json +1067 -0
- package/fesm2022/_widget-chunk.mjs +827 -0
- package/fesm2022/_widget-chunk.mjs.map +1 -0
- package/fesm2022/accordion.mjs +371 -172
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -2
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +304 -114
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/deferred-content.mjs +89 -50
- package/fesm2022/deferred-content.mjs.map +1 -1
- package/fesm2022/grid.mjs +517 -0
- package/fesm2022/grid.mjs.map +1 -0
- package/fesm2022/listbox.mjs +384 -183
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +535 -0
- package/fesm2022/menu.mjs.map +1 -0
- package/fesm2022/private.mjs +2347 -0
- package/fesm2022/private.mjs.map +1 -0
- package/fesm2022/radio-group.mjs +320 -179
- package/fesm2022/radio-group.mjs.map +1 -1
- package/fesm2022/tabs.mjs +483 -274
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +330 -199
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +509 -264
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +14 -6
- package/types/_grid-chunk.d.ts +546 -0
- package/types/accordion.d.ts +4 -4
- package/types/combobox.d.ts +18 -5
- package/types/grid.d.ts +111 -0
- package/types/listbox.d.ts +6 -3
- package/types/menu.d.ts +158 -0
- package/types/{ui-patterns.d.ts → private.d.ts} +333 -133
- package/types/radio-group.d.ts +5 -3
- package/types/tabs.d.ts +4 -4
- package/types/toolbar.d.ts +4 -4
- package/types/tree.d.ts +7 -4
- package/fesm2022/ui-patterns.mjs +0 -2504
- package/fesm2022/ui-patterns.mjs.map +0 -1
package/fesm2022/aria.mjs
CHANGED
package/fesm2022/aria.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aria.mjs","sources":[
|
|
1
|
+
{"version":3,"file":"aria.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/fesm2022/combobox.mjs
CHANGED
|
@@ -1,130 +1,320 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, contentChild, input, signal, afterRenderEffect, Directive, model, untracked } from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, contentChild, input, signal, computed, afterRenderEffect, Directive, model, untracked } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/aria/deferred-content';
|
|
4
4
|
import { DeferredContentAware, DeferredContent } from '@angular/aria/deferred-content';
|
|
5
|
-
import { ComboboxPattern } from '@angular/aria/
|
|
5
|
+
import { ComboboxPattern } from '@angular/aria/private';
|
|
6
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
7
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
6
8
|
|
|
7
9
|
class Combobox {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
10
|
+
_directionality = inject(Directionality);
|
|
11
|
+
textDirection = toSignal(this._directionality.change, {
|
|
12
|
+
initialValue: this._directionality.value
|
|
13
|
+
});
|
|
14
|
+
_elementRef = inject(ElementRef);
|
|
15
|
+
_deferredContentAware = inject(DeferredContentAware, {
|
|
16
|
+
optional: true
|
|
17
|
+
});
|
|
18
|
+
popup = contentChild(ComboboxPopup, ...(ngDevMode ? [{
|
|
19
|
+
debugName: "popup"
|
|
20
|
+
}] : []));
|
|
21
|
+
filterMode = input('manual', ...(ngDevMode ? [{
|
|
22
|
+
debugName: "filterMode"
|
|
23
|
+
}] : []));
|
|
24
|
+
isFocused = signal(false, ...(ngDevMode ? [{
|
|
25
|
+
debugName: "isFocused"
|
|
26
|
+
}] : []));
|
|
27
|
+
_hasBeenFocused = signal(false, ...(ngDevMode ? [{
|
|
28
|
+
debugName: "_hasBeenFocused"
|
|
29
|
+
}] : []));
|
|
30
|
+
disabled = input(false, ...(ngDevMode ? [{
|
|
31
|
+
debugName: "disabled"
|
|
32
|
+
}] : []));
|
|
33
|
+
readonly = input(false, ...(ngDevMode ? [{
|
|
34
|
+
debugName: "readonly"
|
|
35
|
+
}] : []));
|
|
36
|
+
firstMatch = input(undefined, ...(ngDevMode ? [{
|
|
37
|
+
debugName: "firstMatch"
|
|
38
|
+
}] : []));
|
|
39
|
+
expanded = computed(() => this._pattern.expanded(), ...(ngDevMode ? [{
|
|
40
|
+
debugName: "expanded"
|
|
41
|
+
}] : []));
|
|
42
|
+
inputElement = computed(() => this._pattern.inputs.inputEl(), ...(ngDevMode ? [{
|
|
43
|
+
debugName: "inputElement"
|
|
44
|
+
}] : []));
|
|
45
|
+
_pattern = new ComboboxPattern({
|
|
46
|
+
...this,
|
|
47
|
+
textDirection: this.textDirection,
|
|
48
|
+
disabled: this.disabled,
|
|
49
|
+
readonly: this.readonly,
|
|
50
|
+
inputValue: signal(''),
|
|
51
|
+
inputEl: signal(undefined),
|
|
52
|
+
containerEl: () => this._elementRef.nativeElement,
|
|
53
|
+
popupControls: () => this.popup()?.controls()
|
|
54
|
+
});
|
|
55
|
+
constructor() {
|
|
56
|
+
afterRenderEffect(() => {
|
|
57
|
+
if (!this._deferredContentAware?.contentVisible() && this._pattern.isFocused()) {
|
|
58
|
+
this._deferredContentAware?.contentVisible.set(true);
|
|
59
|
+
}
|
|
29
60
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
61
|
+
afterRenderEffect(() => {
|
|
62
|
+
if (!this._hasBeenFocused() && this._pattern.isFocused()) {
|
|
63
|
+
this._hasBeenFocused.set(true);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
68
|
+
minVersion: "12.0.0",
|
|
69
|
+
version: "20.2.0-next.2",
|
|
70
|
+
ngImport: i0,
|
|
71
|
+
type: Combobox,
|
|
72
|
+
deps: [],
|
|
73
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
74
|
+
});
|
|
75
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
76
|
+
minVersion: "17.2.0",
|
|
77
|
+
version: "20.2.0-next.2",
|
|
78
|
+
type: Combobox,
|
|
79
|
+
isStandalone: true,
|
|
80
|
+
selector: "[ngCombobox]",
|
|
81
|
+
inputs: {
|
|
82
|
+
filterMode: {
|
|
83
|
+
classPropertyName: "filterMode",
|
|
84
|
+
publicName: "filterMode",
|
|
85
|
+
isSignal: true,
|
|
86
|
+
isRequired: false,
|
|
87
|
+
transformFunction: null
|
|
88
|
+
},
|
|
89
|
+
disabled: {
|
|
90
|
+
classPropertyName: "disabled",
|
|
91
|
+
publicName: "disabled",
|
|
92
|
+
isSignal: true,
|
|
93
|
+
isRequired: false,
|
|
94
|
+
transformFunction: null
|
|
95
|
+
},
|
|
96
|
+
readonly: {
|
|
97
|
+
classPropertyName: "readonly",
|
|
98
|
+
publicName: "readonly",
|
|
99
|
+
isSignal: true,
|
|
100
|
+
isRequired: false,
|
|
101
|
+
transformFunction: null
|
|
102
|
+
},
|
|
103
|
+
firstMatch: {
|
|
104
|
+
classPropertyName: "firstMatch",
|
|
105
|
+
publicName: "firstMatch",
|
|
106
|
+
isSignal: true,
|
|
107
|
+
isRequired: false,
|
|
108
|
+
transformFunction: null
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
host: {
|
|
112
|
+
listeners: {
|
|
113
|
+
"input": "_pattern.onInput($event)",
|
|
114
|
+
"keydown": "_pattern.onKeydown($event)",
|
|
115
|
+
"pointerup": "_pattern.onPointerup($event)",
|
|
116
|
+
"focusin": "_pattern.onFocusIn()",
|
|
117
|
+
"focusout": "_pattern.onFocusOut($event)"
|
|
118
|
+
},
|
|
119
|
+
properties: {
|
|
120
|
+
"attr.data-expanded": "expanded()"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
queries: [{
|
|
124
|
+
propertyName: "popup",
|
|
125
|
+
first: true,
|
|
126
|
+
predicate: ComboboxPopup,
|
|
127
|
+
descendants: true,
|
|
128
|
+
isSignal: true
|
|
129
|
+
}],
|
|
130
|
+
exportAs: ["ngCombobox"],
|
|
131
|
+
hostDirectives: [{
|
|
132
|
+
directive: i1.DeferredContentAware,
|
|
133
|
+
inputs: ["preserveContent", "preserveContent"]
|
|
134
|
+
}],
|
|
135
|
+
ngImport: i0
|
|
136
|
+
});
|
|
44
137
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
139
|
+
minVersion: "12.0.0",
|
|
140
|
+
version: "20.2.0-next.2",
|
|
141
|
+
ngImport: i0,
|
|
142
|
+
type: Combobox,
|
|
143
|
+
decorators: [{
|
|
144
|
+
type: Directive,
|
|
145
|
+
args: [{
|
|
146
|
+
selector: '[ngCombobox]',
|
|
147
|
+
exportAs: 'ngCombobox',
|
|
148
|
+
hostDirectives: [{
|
|
149
|
+
directive: DeferredContentAware,
|
|
150
|
+
inputs: ['preserveContent']
|
|
151
|
+
}],
|
|
152
|
+
host: {
|
|
153
|
+
'[attr.data-expanded]': 'expanded()',
|
|
154
|
+
'(input)': '_pattern.onInput($event)',
|
|
155
|
+
'(keydown)': '_pattern.onKeydown($event)',
|
|
156
|
+
'(pointerup)': '_pattern.onPointerup($event)',
|
|
157
|
+
'(focusin)': '_pattern.onFocusIn()',
|
|
158
|
+
'(focusout)': '_pattern.onFocusOut($event)'
|
|
159
|
+
}
|
|
160
|
+
}]
|
|
161
|
+
}],
|
|
162
|
+
ctorParameters: () => []
|
|
163
|
+
});
|
|
66
164
|
class ComboboxInput {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
165
|
+
_elementRef = inject(ElementRef);
|
|
166
|
+
combobox = inject(Combobox);
|
|
167
|
+
value = model('', ...(ngDevMode ? [{
|
|
168
|
+
debugName: "value"
|
|
169
|
+
}] : []));
|
|
170
|
+
constructor() {
|
|
171
|
+
this.combobox._pattern.inputs.inputEl.set(this._elementRef.nativeElement);
|
|
172
|
+
this.combobox._pattern.inputs.inputValue = this.value;
|
|
173
|
+
afterRenderEffect(() => {
|
|
174
|
+
this.combobox.popup()?.controls()?.items();
|
|
175
|
+
untracked(() => this.combobox._pattern.onFilter());
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
179
|
+
minVersion: "12.0.0",
|
|
180
|
+
version: "20.2.0-next.2",
|
|
181
|
+
ngImport: i0,
|
|
182
|
+
type: ComboboxInput,
|
|
183
|
+
deps: [],
|
|
184
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
185
|
+
});
|
|
186
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
187
|
+
minVersion: "17.1.0",
|
|
188
|
+
version: "20.2.0-next.2",
|
|
189
|
+
type: ComboboxInput,
|
|
190
|
+
isStandalone: true,
|
|
191
|
+
selector: "input[ngComboboxInput]",
|
|
192
|
+
inputs: {
|
|
193
|
+
value: {
|
|
194
|
+
classPropertyName: "value",
|
|
195
|
+
publicName: "value",
|
|
196
|
+
isSignal: true,
|
|
197
|
+
isRequired: false,
|
|
198
|
+
transformFunction: null
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
outputs: {
|
|
202
|
+
value: "valueChange"
|
|
203
|
+
},
|
|
204
|
+
host: {
|
|
205
|
+
attributes: {
|
|
206
|
+
"role": "combobox"
|
|
207
|
+
},
|
|
208
|
+
properties: {
|
|
209
|
+
"value": "value()",
|
|
210
|
+
"attr.aria-expanded": "combobox._pattern.expanded()",
|
|
211
|
+
"attr.aria-activedescendant": "combobox._pattern.activedescendant()",
|
|
212
|
+
"attr.aria-controls": "combobox._pattern.popupId()",
|
|
213
|
+
"attr.aria-haspopup": "combobox._pattern.hasPopup()",
|
|
214
|
+
"attr.aria-autocomplete": "combobox._pattern.autocomplete()"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
exportAs: ["ngComboboxInput"],
|
|
218
|
+
ngImport: i0
|
|
219
|
+
});
|
|
84
220
|
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
222
|
+
minVersion: "12.0.0",
|
|
223
|
+
version: "20.2.0-next.2",
|
|
224
|
+
ngImport: i0,
|
|
225
|
+
type: ComboboxInput,
|
|
226
|
+
decorators: [{
|
|
227
|
+
type: Directive,
|
|
228
|
+
args: [{
|
|
229
|
+
selector: 'input[ngComboboxInput]',
|
|
230
|
+
exportAs: 'ngComboboxInput',
|
|
231
|
+
host: {
|
|
232
|
+
'role': 'combobox',
|
|
233
|
+
'[value]': 'value()',
|
|
234
|
+
'[attr.aria-expanded]': 'combobox._pattern.expanded()',
|
|
235
|
+
'[attr.aria-activedescendant]': 'combobox._pattern.activedescendant()',
|
|
236
|
+
'[attr.aria-controls]': 'combobox._pattern.popupId()',
|
|
237
|
+
'[attr.aria-haspopup]': 'combobox._pattern.hasPopup()',
|
|
238
|
+
'[attr.aria-autocomplete]': 'combobox._pattern.autocomplete()'
|
|
239
|
+
}
|
|
240
|
+
}]
|
|
241
|
+
}],
|
|
242
|
+
ctorParameters: () => []
|
|
243
|
+
});
|
|
101
244
|
class ComboboxPopupContainer {
|
|
102
|
-
|
|
103
|
-
|
|
245
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
246
|
+
minVersion: "12.0.0",
|
|
247
|
+
version: "20.2.0-next.2",
|
|
248
|
+
ngImport: i0,
|
|
249
|
+
type: ComboboxPopupContainer,
|
|
250
|
+
deps: [],
|
|
251
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
252
|
+
});
|
|
253
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
254
|
+
minVersion: "14.0.0",
|
|
255
|
+
version: "20.2.0-next.2",
|
|
256
|
+
type: ComboboxPopupContainer,
|
|
257
|
+
isStandalone: true,
|
|
258
|
+
selector: "ng-template[ngComboboxPopupContainer]",
|
|
259
|
+
exportAs: ["ngComboboxPopupContainer"],
|
|
260
|
+
hostDirectives: [{
|
|
261
|
+
directive: i1.DeferredContent
|
|
262
|
+
}],
|
|
263
|
+
ngImport: i0
|
|
264
|
+
});
|
|
104
265
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
267
|
+
minVersion: "12.0.0",
|
|
268
|
+
version: "20.2.0-next.2",
|
|
269
|
+
ngImport: i0,
|
|
270
|
+
type: ComboboxPopupContainer,
|
|
271
|
+
decorators: [{
|
|
272
|
+
type: Directive,
|
|
273
|
+
args: [{
|
|
274
|
+
selector: 'ng-template[ngComboboxPopupContainer]',
|
|
275
|
+
exportAs: 'ngComboboxPopupContainer',
|
|
276
|
+
hostDirectives: [DeferredContent]
|
|
277
|
+
}]
|
|
278
|
+
}]
|
|
279
|
+
});
|
|
113
280
|
class ComboboxPopup {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
281
|
+
combobox = inject(Combobox, {
|
|
282
|
+
optional: true
|
|
283
|
+
});
|
|
284
|
+
controls = signal(undefined, ...(ngDevMode ? [{
|
|
285
|
+
debugName: "controls"
|
|
286
|
+
}] : []));
|
|
287
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
288
|
+
minVersion: "12.0.0",
|
|
289
|
+
version: "20.2.0-next.2",
|
|
290
|
+
ngImport: i0,
|
|
291
|
+
type: ComboboxPopup,
|
|
292
|
+
deps: [],
|
|
293
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
294
|
+
});
|
|
295
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
296
|
+
minVersion: "14.0.0",
|
|
297
|
+
version: "20.2.0-next.2",
|
|
298
|
+
type: ComboboxPopup,
|
|
299
|
+
isStandalone: true,
|
|
300
|
+
selector: "[ngComboboxPopup]",
|
|
301
|
+
exportAs: ["ngComboboxPopup"],
|
|
302
|
+
ngImport: i0
|
|
303
|
+
});
|
|
120
304
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
306
|
+
minVersion: "12.0.0",
|
|
307
|
+
version: "20.2.0-next.2",
|
|
308
|
+
ngImport: i0,
|
|
309
|
+
type: ComboboxPopup,
|
|
310
|
+
decorators: [{
|
|
311
|
+
type: Directive,
|
|
312
|
+
args: [{
|
|
313
|
+
selector: '[ngComboboxPopup]',
|
|
314
|
+
exportAs: 'ngComboboxPopup'
|
|
315
|
+
}]
|
|
316
|
+
}]
|
|
317
|
+
});
|
|
128
318
|
|
|
129
319
|
export { Combobox, ComboboxInput, ComboboxPopup, ComboboxPopupContainer };
|
|
130
320
|
//# sourceMappingURL=combobox.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/aria/combobox/combobox.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterRenderEffect,\n contentChild,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport {DeferredContent, DeferredContentAware} from '@angular/aria/deferred-content';\nimport {\n ComboboxPattern,\n ComboboxListboxControls,\n ComboboxTreeControls,\n} from '@angular/aria/ui-patterns';\n\n@Directive({\n selector: '[ngCombobox]',\n exportAs: 'ngCombobox',\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n host: {\n '[attr.data-expanded]': 'pattern.expanded()',\n '(input)': 'pattern.onInput($event)',\n '(keydown)': 'pattern.onKeydown($event)',\n '(pointerup)': 'pattern.onPointerup($event)',\n '(focusin)': 'pattern.onFocusIn()',\n '(focusout)': 'pattern.onFocusOut($event)',\n },\n})\nexport class Combobox<V> {\n /** The element that the combobox is attached to. */\n private readonly _elementRef = inject(ElementRef);\n\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware, {optional: true});\n\n /** The combobox popup. */\n readonly popup = contentChild<ComboboxPopup<V>>(ComboboxPopup);\n\n /** The filter mode for the combobox. */\n filterMode = input<'manual' | 'auto-select' | 'highlight'>('manual');\n\n /** Whether the combobox is focused. */\n readonly isFocused = signal(false);\n\n /** The value of the first matching item in the popup. */\n firstMatch = input<V | undefined>(undefined);\n\n /** Whether the listbox has received focus yet. */\n private _hasBeenFocused = signal(false);\n\n /** The combobox ui pattern. */\n readonly pattern = new ComboboxPattern<any, V>({\n ...this,\n inputValue: signal(''),\n inputEl: signal(undefined),\n containerEl: () => this._elementRef.nativeElement,\n popupControls: () => this.popup()?.controls(),\n });\n\n constructor() {\n afterRenderEffect(() => {\n if (!this._deferredContentAware?.contentVisible() && this.pattern.isFocused()) {\n this._deferredContentAware?.contentVisible.set(true);\n }\n });\n\n afterRenderEffect(() => {\n if (!this._hasBeenFocused() && this.pattern.isFocused()) {\n this._hasBeenFocused.set(true);\n }\n });\n }\n}\n\n@Directive({\n selector: 'input[ngComboboxInput]',\n exportAs: 'ngComboboxInput',\n host: {\n 'role': 'combobox',\n '[value]': 'value()',\n '[attr.aria-expanded]': 'combobox.pattern.expanded()',\n '[attr.aria-activedescendant]': 'combobox.pattern.activedescendant()',\n '[attr.aria-controls]': 'combobox.pattern.popupId()',\n '[attr.aria-haspopup]': 'combobox.pattern.hasPopup()',\n '[attr.aria-autocomplete]': 'combobox.pattern.autocomplete()',\n },\n})\nexport class ComboboxInput {\n /** The element that the combobox is attached to. */\n private readonly _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n /** The combobox that the input belongs to. */\n readonly combobox = inject(Combobox);\n\n /** The value of the input. */\n value = model<string>('');\n\n constructor() {\n (this.combobox.pattern.inputs.inputEl as WritableSignal<HTMLInputElement>).set(\n this._elementRef.nativeElement,\n );\n this.combobox.pattern.inputs.inputValue = this.value;\n\n /** Focuses & selects the first item in the combobox if the user changes the input value. */\n afterRenderEffect(() => {\n this.combobox.popup()?.controls()?.items();\n untracked(() => this.combobox.pattern.onFilter());\n });\n }\n}\n\n@Directive({\n selector: 'ng-template[ngComboboxPopupContainer]',\n exportAs: 'ngComboboxPopupContainer',\n hostDirectives: [DeferredContent],\n})\nexport class ComboboxPopupContainer {}\n\n@Directive({\n selector: '[ngComboboxPopup]',\n exportAs: 'ngComboboxPopup',\n})\nexport class ComboboxPopup<V> {\n /** The combobox that the popup belongs to. */\n readonly combobox = inject<Combobox<V>>(Combobox, {optional: true});\n\n /** The controls the popup exposes to the combobox. */\n readonly controls = signal<\n ComboboxListboxControls<any, V> | ComboboxTreeControls<any, V> | undefined\n >(undefined);\n}\n"],"names":[],"mappings":";;;;;;MA6Ca,QAAQ,CAAA;;AAEF,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;IAGhC,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;AAG9E,IAAA,KAAK,GAAG,YAAY,CAAmB,aAAa,iDAAC;;AAG9D,IAAA,UAAU,GAAG,KAAK,CAAyC,QAAQ,sDAAC;;AAG3D,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,qDAAC;;AAGlC,IAAA,UAAU,GAAG,KAAK,CAAgB,SAAS,sDAAC;;AAGpC,IAAA,eAAe,GAAG,MAAM,CAAC,KAAK,2DAAC;;IAG9B,OAAO,GAAG,IAAI,eAAe,CAAS;AAC7C,QAAA,GAAG,IAAI;AACP,QAAA,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;AACtB,QAAA,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;QAC1B,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa;QACjD,aAAa,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE;AAC9C,KAAA,CAAC;AAEF,IAAA,WAAA,GAAA;QACE,iBAAiB,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;gBAC7E,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;;AAExD,SAAC,CAAC;QAEF,iBAAiB,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;AACvD,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;;AAElC,SAAC,CAAC;;8GA1CO,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAQ,8pBAQ6B,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGARlD,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAlBpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,cAAc,EAAE;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,oBAAoB;4BAC/B,MAAM,EAAE,CAAC,iBAAiB,CAAC;AAC5B,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,sBAAsB,EAAE,oBAAoB;AAC5C,wBAAA,SAAS,EAAE,yBAAyB;AACpC,wBAAA,WAAW,EAAE,2BAA2B;AACxC,wBAAA,aAAa,EAAE,6BAA6B;AAC5C,wBAAA,WAAW,EAAE,qBAAqB;AAClC,wBAAA,YAAY,EAAE,4BAA4B;AAC3C,qBAAA;AACF,iBAAA;;MA4DY,aAAa,CAAA;;AAEP,IAAA,WAAW,GAAG,MAAM,CAA+B,UAAU,CAAC;;AAGtE,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;;AAGpC,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,iDAAC;AAEzB,IAAA,WAAA,GAAA;AACG,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAA4C,CAAC,GAAG,CAC5E,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK;;QAGpD,iBAAiB,CAAC,MAAK;YACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE;AAC1C,YAAA,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AACnD,SAAC,CAAC;;8GApBO,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,4BAAA,EAAA,qCAAA,EAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,wBAAA,EAAA,iCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACJ,wBAAA,MAAM,EAAE,UAAU;AAClB,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,sBAAsB,EAAE,6BAA6B;AACrD,wBAAA,8BAA8B,EAAE,qCAAqC;AACrE,wBAAA,sBAAsB,EAAE,4BAA4B;AACpD,wBAAA,sBAAsB,EAAE,6BAA6B;AACrD,wBAAA,0BAA0B,EAAE,iCAAiC;AAC9D,qBAAA;AACF,iBAAA;;MA8BY,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,cAAc,EAAE,CAAC,eAAe,CAAC;AAClC,iBAAA;;MAOY,aAAa,CAAA;;IAEf,QAAQ,GAAG,MAAM,CAAc,QAAQ,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;AAG1D,IAAA,QAAQ,GAAG,MAAM,CAExB,SAAS,oDAAC;8GAPD,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;kGAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"combobox.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/aria/combobox/combobox.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterRenderEffect,\n computed,\n contentChild,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport {DeferredContent, DeferredContentAware} from '@angular/aria/deferred-content';\nimport {\n ComboboxPattern,\n ComboboxListboxControls,\n ComboboxTreeControls,\n} from '@angular/aria/private';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {toSignal} from '@angular/core/rxjs-interop';\n\n@Directive({\n selector: '[ngCombobox]',\n exportAs: 'ngCombobox',\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n host: {\n '[attr.data-expanded]': 'expanded()',\n '(input)': '_pattern.onInput($event)',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerup)': '_pattern.onPointerup($event)',\n '(focusin)': '_pattern.onFocusIn()',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n})\nexport class Combobox<V> {\n /** The directionality (LTR / RTL) context for the application (or a subtree of it). */\n private readonly _directionality = inject(Directionality);\n\n /** A signal wrapper for directionality. */\n protected textDirection = toSignal(this._directionality.change, {\n initialValue: this._directionality.value,\n });\n\n /** The element that the combobox is attached to. */\n private readonly _elementRef = inject(ElementRef);\n\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware, {optional: true});\n\n /** The combobox popup. */\n readonly popup = contentChild<ComboboxPopup<V>>(ComboboxPopup);\n\n /** The filter mode for the combobox. */\n filterMode = input<'manual' | 'auto-select' | 'highlight'>('manual');\n\n /** Whether the combobox is focused. */\n readonly isFocused = signal(false);\n\n /** Whether the listbox has received focus yet. */\n private _hasBeenFocused = signal(false);\n\n /** Whether the combobox is disabled. */\n readonly disabled = input(false);\n\n /** Whether the combobox is read-only. */\n readonly readonly = input(false);\n\n /** The value of the first matching item in the popup. */\n readonly firstMatch = input<V | undefined>(undefined);\n\n /** Whether the combobox is expanded. */\n readonly expanded = computed(() => this._pattern.expanded());\n\n /** Input element connected to the combobox, if any. */\n readonly inputElement = computed(() => this._pattern.inputs.inputEl());\n\n /** The combobox ui pattern. */\n readonly _pattern = new ComboboxPattern<any, V>({\n ...this,\n textDirection: this.textDirection,\n disabled: this.disabled,\n readonly: this.readonly,\n inputValue: signal(''),\n inputEl: signal(undefined),\n containerEl: () => this._elementRef.nativeElement,\n popupControls: () => this.popup()?.controls(),\n });\n\n constructor() {\n afterRenderEffect(() => {\n if (!this._deferredContentAware?.contentVisible() && this._pattern.isFocused()) {\n this._deferredContentAware?.contentVisible.set(true);\n }\n });\n\n afterRenderEffect(() => {\n if (!this._hasBeenFocused() && this._pattern.isFocused()) {\n this._hasBeenFocused.set(true);\n }\n });\n }\n}\n\n@Directive({\n selector: 'input[ngComboboxInput]',\n exportAs: 'ngComboboxInput',\n host: {\n 'role': 'combobox',\n '[value]': 'value()',\n '[attr.aria-expanded]': 'combobox._pattern.expanded()',\n '[attr.aria-activedescendant]': 'combobox._pattern.activedescendant()',\n '[attr.aria-controls]': 'combobox._pattern.popupId()',\n '[attr.aria-haspopup]': 'combobox._pattern.hasPopup()',\n '[attr.aria-autocomplete]': 'combobox._pattern.autocomplete()',\n },\n})\nexport class ComboboxInput {\n /** The element that the combobox is attached to. */\n private readonly _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n /** The combobox that the input belongs to. */\n readonly combobox = inject(Combobox);\n\n /** The value of the input. */\n value = model<string>('');\n\n constructor() {\n (this.combobox._pattern.inputs.inputEl as WritableSignal<HTMLInputElement>).set(\n this._elementRef.nativeElement,\n );\n this.combobox._pattern.inputs.inputValue = this.value;\n\n /** Focuses & selects the first item in the combobox if the user changes the input value. */\n afterRenderEffect(() => {\n this.combobox.popup()?.controls()?.items();\n untracked(() => this.combobox._pattern.onFilter());\n });\n }\n}\n\n@Directive({\n selector: 'ng-template[ngComboboxPopupContainer]',\n exportAs: 'ngComboboxPopupContainer',\n hostDirectives: [DeferredContent],\n})\nexport class ComboboxPopupContainer {}\n\n@Directive({\n selector: '[ngComboboxPopup]',\n exportAs: 'ngComboboxPopup',\n})\nexport class ComboboxPopup<V> {\n /** The combobox that the popup belongs to. */\n readonly combobox = inject<Combobox<V>>(Combobox, {optional: true});\n\n /** The controls the popup exposes to the combobox. */\n readonly controls = signal<\n ComboboxListboxControls<any, V> | ComboboxTreeControls<any, V> | undefined\n >(undefined);\n}\n"],"names":["Combobox","inject","toSignal","_directionality","change","_elementRef","ElementRef","_deferredContentAware","DeferredContentAware","optional","contentChild","ComboboxPopup","ngDevMode","debugName","filterMode","input","isFocused","signal","disabled","readonly","firstMatch","undefined","expanded","computed","_pattern","inputElement","inputs","inputEl","ComboboxPattern","inputValue","containerEl","nativeElement","popupControls","popup","controls","contentVisible","set","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","deps","target","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","listeners","properties","queries","propertyName","first","predicate","descendants","exportAs","hostDirectives","directive","i1","decorators","args","constructor","combobox","value","ComboboxPopupContainer","DeferredContent"],"mappings":"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"}
|