@angular/aria 21.1.0-next.1 → 21.1.0-next.2
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/fesm2022/_combobox-chunk.mjs +425 -0
- package/fesm2022/_combobox-chunk.mjs.map +1 -0
- package/fesm2022/_combobox-listbox-chunk.mjs +522 -0
- package/fesm2022/_combobox-listbox-chunk.mjs.map +1 -0
- package/fesm2022/_combobox-popup-chunk.mjs +46 -0
- package/fesm2022/_combobox-popup-chunk.mjs.map +1 -0
- package/fesm2022/_list-navigation-chunk.mjs +116 -0
- package/fesm2022/_list-navigation-chunk.mjs.map +1 -0
- package/fesm2022/_pointer-event-manager-chunk.mjs +134 -0
- package/fesm2022/_pointer-event-manager-chunk.mjs.map +1 -0
- package/fesm2022/_widget-chunk.mjs +4 -246
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +64 -51
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +120 -144
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid.mjs +285 -261
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox.mjs +205 -193
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +301 -283
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +13 -938
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs.mjs +209 -195
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +59 -47
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +43 -41
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/types/_combobox-chunk.d.ts +98 -0
- package/types/_combobox-chunk.d2.ts +193 -0
- package/types/_grid-chunk.d.ts +3 -210
- package/types/_list-chunk.d.ts +212 -0
- package/types/_list-navigation-chunk.d.ts +212 -0
- package/types/_listbox-chunk.d.ts +106 -0
- package/types/accordion.d.ts +52 -49
- package/types/combobox.d.ts +25 -111
- package/types/grid.d.ts +37 -32
- package/types/listbox.d.ts +8 -5
- package/types/menu.d.ts +113 -113
- package/types/private.d.ts +10 -498
- package/types/tabs.d.ts +89 -84
- package/types/toolbar.d.ts +69 -66
- package/types/tree.d.ts +106 -103
- package/_adev_assets/aria-accordion.json +0 -743
- package/_adev_assets/aria-combobox.json +0 -603
- package/_adev_assets/aria-grid.json +0 -893
- package/_adev_assets/aria-listbox.json +0 -540
- package/_adev_assets/aria-menu.json +0 -1049
- package/_adev_assets/aria-tabs.json +0 -880
- package/_adev_assets/aria-toolbar.json +0 -545
- package/_adev_assets/aria-tree.json +0 -853
package/fesm2022/tabs.mjs
CHANGED
|
@@ -1,81 +1,19 @@
|
|
|
1
|
-
import { _IdGenerator } from '@angular/cdk/a11y';
|
|
2
|
-
import { Directionality } from '@angular/cdk/bidi';
|
|
3
1
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, ElementRef, signal, computed,
|
|
2
|
+
import { InjectionToken, inject, ElementRef, signal, computed, input, booleanAttribute, model, afterRenderEffect, Directive } from '@angular/core';
|
|
3
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
5
4
|
import * as i1 from '@angular/aria/private';
|
|
6
|
-
import { TabListPattern,
|
|
5
|
+
import { TabListPattern, DeferredContentAware, TabPanelPattern, TabPattern, DeferredContent } from '@angular/aria/private';
|
|
6
|
+
import { _IdGenerator } from '@angular/cdk/a11y';
|
|
7
7
|
|
|
8
|
+
const TABS = new InjectionToken('TABS');
|
|
8
9
|
function sortDirectives(a, b) {
|
|
9
10
|
return (a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_PRECEDING) > 0 ? 1 : -1;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
_elementRef = inject(ElementRef);
|
|
13
|
-
element = this._elementRef.nativeElement;
|
|
14
|
-
_tablist = signal(undefined, ...(ngDevMode ? [{
|
|
15
|
-
debugName: "_tablist"
|
|
16
|
-
}] : []));
|
|
17
|
-
_unorderedPanels = signal(new Set(), ...(ngDevMode ? [{
|
|
18
|
-
debugName: "_unorderedPanels"
|
|
19
|
-
}] : []));
|
|
20
|
-
_tabPatterns = computed(() => this._tablist()?._tabPatterns(), ...(ngDevMode ? [{
|
|
21
|
-
debugName: "_tabPatterns"
|
|
22
|
-
}] : []));
|
|
23
|
-
_unorderedTabpanelPatterns = computed(() => [...this._unorderedPanels()].map(tabpanel => tabpanel._pattern), ...(ngDevMode ? [{
|
|
24
|
-
debugName: "_unorderedTabpanelPatterns"
|
|
25
|
-
}] : []));
|
|
26
|
-
_register(child) {
|
|
27
|
-
if (child instanceof TabList) {
|
|
28
|
-
this._tablist.set(child);
|
|
29
|
-
}
|
|
30
|
-
if (child instanceof TabPanel) {
|
|
31
|
-
this._unorderedPanels().add(child);
|
|
32
|
-
this._unorderedPanels.set(new Set(this._unorderedPanels()));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
_unregister(child) {
|
|
36
|
-
if (child instanceof TabList) {
|
|
37
|
-
this._tablist.set(undefined);
|
|
38
|
-
}
|
|
39
|
-
if (child instanceof TabPanel) {
|
|
40
|
-
this._unorderedPanels().delete(child);
|
|
41
|
-
this._unorderedPanels.set(new Set(this._unorderedPanels()));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
45
|
-
minVersion: "12.0.0",
|
|
46
|
-
version: "21.0.0",
|
|
47
|
-
ngImport: i0,
|
|
48
|
-
type: Tabs,
|
|
49
|
-
deps: [],
|
|
50
|
-
target: i0.ɵɵFactoryTarget.Directive
|
|
51
|
-
});
|
|
52
|
-
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
53
|
-
minVersion: "14.0.0",
|
|
54
|
-
version: "21.0.0",
|
|
55
|
-
type: Tabs,
|
|
56
|
-
isStandalone: true,
|
|
57
|
-
selector: "[ngTabs]",
|
|
58
|
-
exportAs: ["ngTabs"],
|
|
59
|
-
ngImport: i0
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({
|
|
63
|
-
minVersion: "12.0.0",
|
|
64
|
-
version: "21.0.0",
|
|
65
|
-
ngImport: i0,
|
|
66
|
-
type: Tabs,
|
|
67
|
-
decorators: [{
|
|
68
|
-
type: Directive,
|
|
69
|
-
args: [{
|
|
70
|
-
selector: '[ngTabs]',
|
|
71
|
-
exportAs: 'ngTabs'
|
|
72
|
-
}]
|
|
73
|
-
}]
|
|
74
|
-
});
|
|
12
|
+
|
|
75
13
|
class TabList {
|
|
76
14
|
_elementRef = inject(ElementRef);
|
|
77
15
|
element = this._elementRef.nativeElement;
|
|
78
|
-
_tabs = inject(
|
|
16
|
+
_tabs = inject(TABS);
|
|
79
17
|
_unorderedTabs = signal(new Set(), ...(ngDevMode ? [{
|
|
80
18
|
debugName: "_unorderedTabs"
|
|
81
19
|
}] : []));
|
|
@@ -86,18 +24,18 @@ class TabList {
|
|
|
86
24
|
orientation = input('horizontal', ...(ngDevMode ? [{
|
|
87
25
|
debugName: "orientation"
|
|
88
26
|
}] : []));
|
|
89
|
-
wrap = input(true,
|
|
90
|
-
|
|
27
|
+
wrap = input(true, {
|
|
28
|
+
...(ngDevMode ? {
|
|
29
|
+
debugName: "wrap"
|
|
30
|
+
} : {}),
|
|
91
31
|
transform: booleanAttribute
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
transform: booleanAttribute
|
|
98
|
-
}] : [{
|
|
32
|
+
});
|
|
33
|
+
softDisabled = input(true, {
|
|
34
|
+
...(ngDevMode ? {
|
|
35
|
+
debugName: "softDisabled"
|
|
36
|
+
} : {}),
|
|
99
37
|
transform: booleanAttribute
|
|
100
|
-
}
|
|
38
|
+
});
|
|
101
39
|
focusMode = input('roving', ...(ngDevMode ? [{
|
|
102
40
|
debugName: "focusMode"
|
|
103
41
|
}] : []));
|
|
@@ -107,12 +45,12 @@ class TabList {
|
|
|
107
45
|
selectedTab = model(...(ngDevMode ? [undefined, {
|
|
108
46
|
debugName: "selectedTab"
|
|
109
47
|
}] : []));
|
|
110
|
-
disabled = input(false,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
48
|
+
disabled = input(false, {
|
|
49
|
+
...(ngDevMode ? {
|
|
50
|
+
debugName: "disabled"
|
|
51
|
+
} : {}),
|
|
114
52
|
transform: booleanAttribute
|
|
115
|
-
}
|
|
53
|
+
});
|
|
116
54
|
_pattern = new TabListPattern({
|
|
117
55
|
...this,
|
|
118
56
|
items: this._tabPatterns,
|
|
@@ -163,7 +101,7 @@ class TabList {
|
|
|
163
101
|
}
|
|
164
102
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
165
103
|
minVersion: "12.0.0",
|
|
166
|
-
version: "21.0.
|
|
104
|
+
version: "21.0.3",
|
|
167
105
|
ngImport: i0,
|
|
168
106
|
type: TabList,
|
|
169
107
|
deps: [],
|
|
@@ -171,7 +109,7 @@ class TabList {
|
|
|
171
109
|
});
|
|
172
110
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
173
111
|
minVersion: "17.1.0",
|
|
174
|
-
version: "21.0.
|
|
112
|
+
version: "21.0.3",
|
|
175
113
|
type: TabList,
|
|
176
114
|
isStandalone: true,
|
|
177
115
|
selector: "[ngTabList]",
|
|
@@ -251,7 +189,7 @@ class TabList {
|
|
|
251
189
|
}
|
|
252
190
|
i0.ɵɵngDeclareClassMetadata({
|
|
253
191
|
minVersion: "12.0.0",
|
|
254
|
-
version: "21.0.
|
|
192
|
+
version: "21.0.3",
|
|
255
193
|
ngImport: i0,
|
|
256
194
|
type: TabList,
|
|
257
195
|
decorators: [{
|
|
@@ -334,65 +272,51 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
334
272
|
}]
|
|
335
273
|
}
|
|
336
274
|
});
|
|
337
|
-
|
|
275
|
+
|
|
276
|
+
class TabPanel {
|
|
338
277
|
_elementRef = inject(ElementRef);
|
|
339
278
|
element = this._elementRef.nativeElement;
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
id = input(inject(_IdGenerator).getId('ng-
|
|
279
|
+
_deferredContentAware = inject(DeferredContentAware);
|
|
280
|
+
_tabs = inject(TABS);
|
|
281
|
+
id = input(inject(_IdGenerator).getId('ng-tabpanel-', true), ...(ngDevMode ? [{
|
|
343
282
|
debugName: "id"
|
|
344
283
|
}] : []));
|
|
345
|
-
|
|
346
|
-
debugName: "
|
|
347
|
-
}] : []));
|
|
348
|
-
_tabpanelPattern = computed(() => this._tabs._unorderedTabpanelPatterns().find(tabpanel => tabpanel.value() === this.value()), ...(ngDevMode ? [{
|
|
349
|
-
debugName: "_tabpanelPattern"
|
|
284
|
+
_tabPattern = computed(() => this._tabs._tabPatterns()?.find(tab => tab.value() === this.value()), ...(ngDevMode ? [{
|
|
285
|
+
debugName: "_tabPattern"
|
|
350
286
|
}] : []));
|
|
351
|
-
disabled = input(false, ...(ngDevMode ? [{
|
|
352
|
-
debugName: "disabled",
|
|
353
|
-
transform: booleanAttribute
|
|
354
|
-
}] : [{
|
|
355
|
-
transform: booleanAttribute
|
|
356
|
-
}]));
|
|
357
287
|
value = input.required(...(ngDevMode ? [{
|
|
358
288
|
debugName: "value"
|
|
359
289
|
}] : []));
|
|
360
|
-
|
|
361
|
-
debugName: "
|
|
362
|
-
}] : []));
|
|
363
|
-
selected = computed(() => this._pattern.selected(), ...(ngDevMode ? [{
|
|
364
|
-
debugName: "selected"
|
|
290
|
+
visible = computed(() => !this._pattern.hidden(), ...(ngDevMode ? [{
|
|
291
|
+
debugName: "visible"
|
|
365
292
|
}] : []));
|
|
366
|
-
_pattern = new
|
|
293
|
+
_pattern = new TabPanelPattern({
|
|
367
294
|
...this,
|
|
368
|
-
|
|
369
|
-
tabpanel: this._tabpanelPattern,
|
|
370
|
-
expanded: signal(false),
|
|
371
|
-
element: () => this.element
|
|
295
|
+
tab: this._tabPattern
|
|
372
296
|
});
|
|
373
|
-
|
|
374
|
-
this.
|
|
297
|
+
constructor() {
|
|
298
|
+
afterRenderEffect(() => this._deferredContentAware.contentVisible.set(this.visible()));
|
|
375
299
|
}
|
|
376
300
|
ngOnInit() {
|
|
377
|
-
this.
|
|
301
|
+
this._tabs._register(this);
|
|
378
302
|
}
|
|
379
303
|
ngOnDestroy() {
|
|
380
|
-
this.
|
|
304
|
+
this._tabs._unregister(this);
|
|
381
305
|
}
|
|
382
306
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
383
307
|
minVersion: "12.0.0",
|
|
384
|
-
version: "21.0.
|
|
308
|
+
version: "21.0.3",
|
|
385
309
|
ngImport: i0,
|
|
386
|
-
type:
|
|
310
|
+
type: TabPanel,
|
|
387
311
|
deps: [],
|
|
388
312
|
target: i0.ɵɵFactoryTarget.Directive
|
|
389
313
|
});
|
|
390
314
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
391
315
|
minVersion: "17.1.0",
|
|
392
|
-
version: "21.0.
|
|
393
|
-
type:
|
|
316
|
+
version: "21.0.3",
|
|
317
|
+
type: TabPanel,
|
|
394
318
|
isStandalone: true,
|
|
395
|
-
selector: "[
|
|
319
|
+
selector: "[ngTabPanel]",
|
|
396
320
|
inputs: {
|
|
397
321
|
id: {
|
|
398
322
|
classPropertyName: "id",
|
|
@@ -401,13 +325,6 @@ class Tab {
|
|
|
401
325
|
isRequired: false,
|
|
402
326
|
transformFunction: null
|
|
403
327
|
},
|
|
404
|
-
disabled: {
|
|
405
|
-
classPropertyName: "disabled",
|
|
406
|
-
publicName: "disabled",
|
|
407
|
-
isSignal: true,
|
|
408
|
-
isRequired: false,
|
|
409
|
-
transformFunction: null
|
|
410
|
-
},
|
|
411
328
|
value: {
|
|
412
329
|
classPropertyName: "value",
|
|
413
330
|
publicName: "value",
|
|
@@ -418,42 +335,47 @@ class Tab {
|
|
|
418
335
|
},
|
|
419
336
|
host: {
|
|
420
337
|
attributes: {
|
|
421
|
-
"role": "
|
|
338
|
+
"role": "tabpanel"
|
|
422
339
|
},
|
|
423
340
|
properties: {
|
|
424
|
-
"attr.data-active": "active()",
|
|
425
341
|
"attr.id": "_pattern.id()",
|
|
426
342
|
"attr.tabindex": "_pattern.tabIndex()",
|
|
427
|
-
"attr.
|
|
428
|
-
"attr.aria-
|
|
429
|
-
"attr.aria-controls": "_pattern.controls()"
|
|
343
|
+
"attr.inert": "!visible() ? true : null",
|
|
344
|
+
"attr.aria-labelledby": "_pattern.labelledBy()"
|
|
430
345
|
}
|
|
431
346
|
},
|
|
432
|
-
exportAs: ["
|
|
347
|
+
exportAs: ["ngTabPanel"],
|
|
348
|
+
hostDirectives: [{
|
|
349
|
+
directive: i1.DeferredContentAware,
|
|
350
|
+
inputs: ["preserveContent", "preserveContent"]
|
|
351
|
+
}],
|
|
433
352
|
ngImport: i0
|
|
434
353
|
});
|
|
435
354
|
}
|
|
436
355
|
i0.ɵɵngDeclareClassMetadata({
|
|
437
356
|
minVersion: "12.0.0",
|
|
438
|
-
version: "21.0.
|
|
357
|
+
version: "21.0.3",
|
|
439
358
|
ngImport: i0,
|
|
440
|
-
type:
|
|
359
|
+
type: TabPanel,
|
|
441
360
|
decorators: [{
|
|
442
361
|
type: Directive,
|
|
443
362
|
args: [{
|
|
444
|
-
selector: '[
|
|
445
|
-
exportAs: '
|
|
363
|
+
selector: '[ngTabPanel]',
|
|
364
|
+
exportAs: 'ngTabPanel',
|
|
446
365
|
host: {
|
|
447
|
-
'role': '
|
|
448
|
-
'[attr.data-active]': 'active()',
|
|
366
|
+
'role': 'tabpanel',
|
|
449
367
|
'[attr.id]': '_pattern.id()',
|
|
450
368
|
'[attr.tabindex]': '_pattern.tabIndex()',
|
|
451
|
-
'[attr.
|
|
452
|
-
'[attr.aria-
|
|
453
|
-
|
|
454
|
-
|
|
369
|
+
'[attr.inert]': '!visible() ? true : null',
|
|
370
|
+
'[attr.aria-labelledby]': '_pattern.labelledBy()'
|
|
371
|
+
},
|
|
372
|
+
hostDirectives: [{
|
|
373
|
+
directive: DeferredContentAware,
|
|
374
|
+
inputs: ['preserveContent']
|
|
375
|
+
}]
|
|
455
376
|
}]
|
|
456
377
|
}],
|
|
378
|
+
ctorParameters: () => [],
|
|
457
379
|
propDecorators: {
|
|
458
380
|
id: [{
|
|
459
381
|
type: i0.Input,
|
|
@@ -463,14 +385,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
463
385
|
required: false
|
|
464
386
|
}]
|
|
465
387
|
}],
|
|
466
|
-
disabled: [{
|
|
467
|
-
type: i0.Input,
|
|
468
|
-
args: [{
|
|
469
|
-
isSignal: true,
|
|
470
|
-
alias: "disabled",
|
|
471
|
-
required: false
|
|
472
|
-
}]
|
|
473
|
-
}],
|
|
474
388
|
value: [{
|
|
475
389
|
type: i0.Input,
|
|
476
390
|
args: [{
|
|
@@ -481,50 +395,139 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
481
395
|
}]
|
|
482
396
|
}
|
|
483
397
|
});
|
|
484
|
-
|
|
398
|
+
|
|
399
|
+
class Tabs {
|
|
485
400
|
_elementRef = inject(ElementRef);
|
|
486
401
|
element = this._elementRef.nativeElement;
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
402
|
+
_tablist = signal(undefined, ...(ngDevMode ? [{
|
|
403
|
+
debugName: "_tablist"
|
|
404
|
+
}] : []));
|
|
405
|
+
_unorderedPanels = signal(new Set(), ...(ngDevMode ? [{
|
|
406
|
+
debugName: "_unorderedPanels"
|
|
407
|
+
}] : []));
|
|
408
|
+
_tabPatterns = computed(() => this._tablist()?._tabPatterns(), ...(ngDevMode ? [{
|
|
409
|
+
debugName: "_tabPatterns"
|
|
410
|
+
}] : []));
|
|
411
|
+
_unorderedTabpanelPatterns = computed(() => [...this._unorderedPanels()].map(tabpanel => tabpanel._pattern), ...(ngDevMode ? [{
|
|
412
|
+
debugName: "_unorderedTabpanelPatterns"
|
|
413
|
+
}] : []));
|
|
414
|
+
_register(child) {
|
|
415
|
+
if (child instanceof TabList) {
|
|
416
|
+
this._tablist.set(child);
|
|
417
|
+
}
|
|
418
|
+
if (child instanceof TabPanel) {
|
|
419
|
+
this._unorderedPanels().add(child);
|
|
420
|
+
this._unorderedPanels.set(new Set(this._unorderedPanels()));
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
_unregister(child) {
|
|
424
|
+
if (child instanceof TabList) {
|
|
425
|
+
this._tablist.set(undefined);
|
|
426
|
+
}
|
|
427
|
+
if (child instanceof TabPanel) {
|
|
428
|
+
this._unorderedPanels().delete(child);
|
|
429
|
+
this._unorderedPanels.set(new Set(this._unorderedPanels()));
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
433
|
+
minVersion: "12.0.0",
|
|
434
|
+
version: "21.0.3",
|
|
435
|
+
ngImport: i0,
|
|
436
|
+
type: Tabs,
|
|
437
|
+
deps: [],
|
|
438
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
439
|
+
});
|
|
440
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
441
|
+
minVersion: "14.0.0",
|
|
442
|
+
version: "21.0.3",
|
|
443
|
+
type: Tabs,
|
|
444
|
+
isStandalone: true,
|
|
445
|
+
selector: "[ngTabs]",
|
|
446
|
+
providers: [{
|
|
447
|
+
provide: TABS,
|
|
448
|
+
useExisting: Tabs
|
|
449
|
+
}],
|
|
450
|
+
exportAs: ["ngTabs"],
|
|
451
|
+
ngImport: i0
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
455
|
+
minVersion: "12.0.0",
|
|
456
|
+
version: "21.0.3",
|
|
457
|
+
ngImport: i0,
|
|
458
|
+
type: Tabs,
|
|
459
|
+
decorators: [{
|
|
460
|
+
type: Directive,
|
|
461
|
+
args: [{
|
|
462
|
+
selector: '[ngTabs]',
|
|
463
|
+
exportAs: 'ngTabs',
|
|
464
|
+
providers: [{
|
|
465
|
+
provide: TABS,
|
|
466
|
+
useExisting: Tabs
|
|
467
|
+
}]
|
|
468
|
+
}]
|
|
469
|
+
}]
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
class Tab {
|
|
473
|
+
_elementRef = inject(ElementRef);
|
|
474
|
+
element = this._elementRef.nativeElement;
|
|
475
|
+
_tabs = inject(TABS);
|
|
476
|
+
_tabList = inject(TabList);
|
|
477
|
+
id = input(inject(_IdGenerator).getId('ng-tab-', true), ...(ngDevMode ? [{
|
|
490
478
|
debugName: "id"
|
|
491
479
|
}] : []));
|
|
492
|
-
|
|
493
|
-
debugName: "
|
|
480
|
+
_tablistPattern = computed(() => this._tabList._pattern, ...(ngDevMode ? [{
|
|
481
|
+
debugName: "_tablistPattern"
|
|
482
|
+
}] : []));
|
|
483
|
+
_tabpanelPattern = computed(() => this._tabs._unorderedTabpanelPatterns().find(tabpanel => tabpanel.value() === this.value()), ...(ngDevMode ? [{
|
|
484
|
+
debugName: "_tabpanelPattern"
|
|
494
485
|
}] : []));
|
|
486
|
+
disabled = input(false, {
|
|
487
|
+
...(ngDevMode ? {
|
|
488
|
+
debugName: "disabled"
|
|
489
|
+
} : {}),
|
|
490
|
+
transform: booleanAttribute
|
|
491
|
+
});
|
|
495
492
|
value = input.required(...(ngDevMode ? [{
|
|
496
493
|
debugName: "value"
|
|
497
494
|
}] : []));
|
|
498
|
-
|
|
499
|
-
debugName: "
|
|
495
|
+
active = computed(() => this._pattern.active(), ...(ngDevMode ? [{
|
|
496
|
+
debugName: "active"
|
|
500
497
|
}] : []));
|
|
501
|
-
|
|
498
|
+
selected = computed(() => this._pattern.selected(), ...(ngDevMode ? [{
|
|
499
|
+
debugName: "selected"
|
|
500
|
+
}] : []));
|
|
501
|
+
_pattern = new TabPattern({
|
|
502
502
|
...this,
|
|
503
|
-
|
|
503
|
+
tablist: this._tablistPattern,
|
|
504
|
+
tabpanel: this._tabpanelPattern,
|
|
505
|
+
expanded: signal(false),
|
|
506
|
+
element: () => this.element
|
|
504
507
|
});
|
|
505
|
-
|
|
506
|
-
|
|
508
|
+
open() {
|
|
509
|
+
this._pattern.open();
|
|
507
510
|
}
|
|
508
511
|
ngOnInit() {
|
|
509
|
-
this.
|
|
512
|
+
this._tabList._register(this);
|
|
510
513
|
}
|
|
511
514
|
ngOnDestroy() {
|
|
512
|
-
this.
|
|
515
|
+
this._tabList._unregister(this);
|
|
513
516
|
}
|
|
514
517
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
515
518
|
minVersion: "12.0.0",
|
|
516
|
-
version: "21.0.
|
|
519
|
+
version: "21.0.3",
|
|
517
520
|
ngImport: i0,
|
|
518
|
-
type:
|
|
521
|
+
type: Tab,
|
|
519
522
|
deps: [],
|
|
520
523
|
target: i0.ɵɵFactoryTarget.Directive
|
|
521
524
|
});
|
|
522
525
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
523
526
|
minVersion: "17.1.0",
|
|
524
|
-
version: "21.0.
|
|
525
|
-
type:
|
|
527
|
+
version: "21.0.3",
|
|
528
|
+
type: Tab,
|
|
526
529
|
isStandalone: true,
|
|
527
|
-
selector: "[
|
|
530
|
+
selector: "[ngTab]",
|
|
528
531
|
inputs: {
|
|
529
532
|
id: {
|
|
530
533
|
classPropertyName: "id",
|
|
@@ -533,6 +536,13 @@ class TabPanel {
|
|
|
533
536
|
isRequired: false,
|
|
534
537
|
transformFunction: null
|
|
535
538
|
},
|
|
539
|
+
disabled: {
|
|
540
|
+
classPropertyName: "disabled",
|
|
541
|
+
publicName: "disabled",
|
|
542
|
+
isSignal: true,
|
|
543
|
+
isRequired: false,
|
|
544
|
+
transformFunction: null
|
|
545
|
+
},
|
|
536
546
|
value: {
|
|
537
547
|
classPropertyName: "value",
|
|
538
548
|
publicName: "value",
|
|
@@ -543,47 +553,42 @@ class TabPanel {
|
|
|
543
553
|
},
|
|
544
554
|
host: {
|
|
545
555
|
attributes: {
|
|
546
|
-
"role": "
|
|
556
|
+
"role": "tab"
|
|
547
557
|
},
|
|
548
558
|
properties: {
|
|
559
|
+
"attr.data-active": "active()",
|
|
549
560
|
"attr.id": "_pattern.id()",
|
|
550
561
|
"attr.tabindex": "_pattern.tabIndex()",
|
|
551
|
-
"attr.
|
|
552
|
-
"attr.aria-
|
|
562
|
+
"attr.aria-selected": "selected()",
|
|
563
|
+
"attr.aria-disabled": "_pattern.disabled()",
|
|
564
|
+
"attr.aria-controls": "_pattern.controls()"
|
|
553
565
|
}
|
|
554
566
|
},
|
|
555
|
-
exportAs: ["
|
|
556
|
-
hostDirectives: [{
|
|
557
|
-
directive: i1.DeferredContentAware,
|
|
558
|
-
inputs: ["preserveContent", "preserveContent"]
|
|
559
|
-
}],
|
|
567
|
+
exportAs: ["ngTab"],
|
|
560
568
|
ngImport: i0
|
|
561
569
|
});
|
|
562
570
|
}
|
|
563
571
|
i0.ɵɵngDeclareClassMetadata({
|
|
564
572
|
minVersion: "12.0.0",
|
|
565
|
-
version: "21.0.
|
|
573
|
+
version: "21.0.3",
|
|
566
574
|
ngImport: i0,
|
|
567
|
-
type:
|
|
575
|
+
type: Tab,
|
|
568
576
|
decorators: [{
|
|
569
577
|
type: Directive,
|
|
570
578
|
args: [{
|
|
571
|
-
selector: '[
|
|
572
|
-
exportAs: '
|
|
579
|
+
selector: '[ngTab]',
|
|
580
|
+
exportAs: 'ngTab',
|
|
573
581
|
host: {
|
|
574
|
-
'role': '
|
|
582
|
+
'role': 'tab',
|
|
583
|
+
'[attr.data-active]': 'active()',
|
|
575
584
|
'[attr.id]': '_pattern.id()',
|
|
576
585
|
'[attr.tabindex]': '_pattern.tabIndex()',
|
|
577
|
-
'[attr.
|
|
578
|
-
'[attr.aria-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
directive: DeferredContentAware,
|
|
582
|
-
inputs: ['preserveContent']
|
|
583
|
-
}]
|
|
586
|
+
'[attr.aria-selected]': 'selected()',
|
|
587
|
+
'[attr.aria-disabled]': '_pattern.disabled()',
|
|
588
|
+
'[attr.aria-controls]': '_pattern.controls()'
|
|
589
|
+
}
|
|
584
590
|
}]
|
|
585
591
|
}],
|
|
586
|
-
ctorParameters: () => [],
|
|
587
592
|
propDecorators: {
|
|
588
593
|
id: [{
|
|
589
594
|
type: i0.Input,
|
|
@@ -593,6 +598,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
593
598
|
required: false
|
|
594
599
|
}]
|
|
595
600
|
}],
|
|
601
|
+
disabled: [{
|
|
602
|
+
type: i0.Input,
|
|
603
|
+
args: [{
|
|
604
|
+
isSignal: true,
|
|
605
|
+
alias: "disabled",
|
|
606
|
+
required: false
|
|
607
|
+
}]
|
|
608
|
+
}],
|
|
596
609
|
value: [{
|
|
597
610
|
type: i0.Input,
|
|
598
611
|
args: [{
|
|
@@ -603,10 +616,11 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
603
616
|
}]
|
|
604
617
|
}
|
|
605
618
|
});
|
|
619
|
+
|
|
606
620
|
class TabContent {
|
|
607
621
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
608
622
|
minVersion: "12.0.0",
|
|
609
|
-
version: "21.0.
|
|
623
|
+
version: "21.0.3",
|
|
610
624
|
ngImport: i0,
|
|
611
625
|
type: TabContent,
|
|
612
626
|
deps: [],
|
|
@@ -614,7 +628,7 @@ class TabContent {
|
|
|
614
628
|
});
|
|
615
629
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
616
630
|
minVersion: "14.0.0",
|
|
617
|
-
version: "21.0.
|
|
631
|
+
version: "21.0.3",
|
|
618
632
|
type: TabContent,
|
|
619
633
|
isStandalone: true,
|
|
620
634
|
selector: "ng-template[ngTabContent]",
|
|
@@ -627,7 +641,7 @@ class TabContent {
|
|
|
627
641
|
}
|
|
628
642
|
i0.ɵɵngDeclareClassMetadata({
|
|
629
643
|
minVersion: "12.0.0",
|
|
630
|
-
version: "21.0.
|
|
644
|
+
version: "21.0.3",
|
|
631
645
|
ngImport: i0,
|
|
632
646
|
type: TabContent,
|
|
633
647
|
decorators: [{
|