@angular/aria 21.0.0-rc.0 → 21.0.0-rc.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.
Files changed (48) hide show
  1. package/_adev_assets/aria-accordion.json +443 -59
  2. package/_adev_assets/aria-combobox.json +345 -37
  3. package/_adev_assets/aria-grid.json +408 -71
  4. package/_adev_assets/aria-listbox.json +115 -35
  5. package/_adev_assets/aria-menu.json +492 -167
  6. package/_adev_assets/aria-tabs.json +272 -88
  7. package/_adev_assets/aria-toolbar.json +151 -133
  8. package/_adev_assets/aria-tree.json +182 -35
  9. package/fesm2022/_widget-chunk.mjs +643 -190
  10. package/fesm2022/_widget-chunk.mjs.map +1 -1
  11. package/fesm2022/accordion.mjs +129 -77
  12. package/fesm2022/accordion.mjs.map +1 -1
  13. package/fesm2022/aria.mjs +1 -1
  14. package/fesm2022/aria.mjs.map +1 -1
  15. package/fesm2022/combobox.mjs +140 -27
  16. package/fesm2022/combobox.mjs.map +1 -1
  17. package/fesm2022/grid.mjs +254 -68
  18. package/fesm2022/grid.mjs.map +1 -1
  19. package/fesm2022/listbox.mjs +54 -44
  20. package/fesm2022/listbox.mjs.map +1 -1
  21. package/fesm2022/menu.mjs +270 -108
  22. package/fesm2022/menu.mjs.map +1 -1
  23. package/fesm2022/private.mjs +752 -785
  24. package/fesm2022/private.mjs.map +1 -1
  25. package/fesm2022/tabs.mjs +101 -71
  26. package/fesm2022/tabs.mjs.map +1 -1
  27. package/fesm2022/toolbar.mjs +87 -64
  28. package/fesm2022/toolbar.mjs.map +1 -1
  29. package/fesm2022/tree.mjs +105 -60
  30. package/fesm2022/tree.mjs.map +1 -1
  31. package/package.json +2 -10
  32. package/types/_grid-chunk.d.ts +326 -83
  33. package/types/accordion.d.ts +134 -35
  34. package/types/combobox.d.ts +146 -13
  35. package/types/grid.d.ts +159 -32
  36. package/types/listbox.d.ts +59 -28
  37. package/types/menu.d.ts +151 -55
  38. package/types/private.d.ts +449 -567
  39. package/types/tabs.d.ts +121 -41
  40. package/types/toolbar.d.ts +74 -51
  41. package/types/tree.d.ts +116 -45
  42. package/_adev_assets/aria-radio-group.json +0 -389
  43. package/fesm2022/deferred-content.mjs +0 -99
  44. package/fesm2022/deferred-content.mjs.map +0 -1
  45. package/fesm2022/radio-group.mjs +0 -338
  46. package/fesm2022/radio-group.mjs.map +0 -1
  47. package/types/deferred-content.d.ts +0 -38
  48. package/types/radio-group.d.ts +0 -84
@@ -1,30 +1,43 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, signal, afterRenderEffect, Directive, ElementRef, booleanAttribute, computed, contentChildren, model } from '@angular/core';
2
+ import { inject, input, computed, signal, afterRenderEffect, Directive, ElementRef, booleanAttribute, model, contentChildren } from '@angular/core';
3
3
  import { _IdGenerator } from '@angular/cdk/a11y';
4
4
  import { Directionality } from '@angular/cdk/bidi';
5
- import * as i1 from '@angular/aria/deferred-content';
6
- import { DeferredContentAware, DeferredContent } from '@angular/aria/deferred-content';
7
- import { AccordionPanelPattern, AccordionTriggerPattern, AccordionGroupPattern } from '@angular/aria/private';
5
+ import * as i1 from '@angular/aria/private';
6
+ import { DeferredContentAware, AccordionPanelPattern, AccordionTriggerPattern, AccordionGroupPattern, DeferredContent } from '@angular/aria/private';
8
7
 
9
8
  class AccordionPanel {
10
9
  _deferredContentAware = inject(DeferredContentAware);
11
- _id = inject(_IdGenerator).getId('accordion-trigger-');
12
- value = input.required(...(ngDevMode ? [{
13
- debugName: "value"
10
+ id = input(inject(_IdGenerator).getId('ng-accordion-panel-', true), ...(ngDevMode ? [{
11
+ debugName: "id"
12
+ }] : []));
13
+ panelId = input.required(...(ngDevMode ? [{
14
+ debugName: "panelId"
15
+ }] : []));
16
+ visible = computed(() => !this._pattern.hidden(), ...(ngDevMode ? [{
17
+ debugName: "visible"
14
18
  }] : []));
15
19
  accordionTrigger = signal(undefined, ...(ngDevMode ? [{
16
20
  debugName: "accordionTrigger"
17
21
  }] : []));
18
22
  _pattern = new AccordionPanelPattern({
19
- id: () => this._id,
20
- value: this.value,
23
+ id: this.id,
24
+ panelId: this.panelId,
21
25
  accordionTrigger: () => this.accordionTrigger()
22
26
  });
23
27
  constructor() {
24
28
  afterRenderEffect(() => {
25
- this._deferredContentAware.contentVisible.set(!this._pattern.hidden());
29
+ this._deferredContentAware.contentVisible.set(this.visible());
26
30
  });
27
31
  }
32
+ expand() {
33
+ this.accordionTrigger()?.open();
34
+ }
35
+ collapse() {
36
+ this.accordionTrigger()?.close();
37
+ }
38
+ toggle() {
39
+ this.accordionTrigger()?.toggle();
40
+ }
28
41
  static ɵfac = i0.ɵɵngDeclareFactory({
29
42
  minVersion: "12.0.0",
30
43
  version: "20.2.0-next.2",
@@ -40,9 +53,16 @@ class AccordionPanel {
40
53
  isStandalone: true,
41
54
  selector: "[ngAccordionPanel]",
42
55
  inputs: {
43
- value: {
44
- classPropertyName: "value",
45
- publicName: "value",
56
+ id: {
57
+ classPropertyName: "id",
58
+ publicName: "id",
59
+ isSignal: true,
60
+ isRequired: false,
61
+ transformFunction: null
62
+ },
63
+ panelId: {
64
+ classPropertyName: "panelId",
65
+ publicName: "panelId",
46
66
  isSignal: true,
47
67
  isRequired: true,
48
68
  transformFunction: null
@@ -55,9 +75,8 @@ class AccordionPanel {
55
75
  properties: {
56
76
  "attr.id": "_pattern.id()",
57
77
  "attr.aria-labelledby": "_pattern.accordionTrigger()?.id()",
58
- "attr.inert": "_pattern.hidden() ? true : null"
59
- },
60
- classAttribute: "ng-accordion-panel"
78
+ "attr.inert": "!visible() ? true : null"
79
+ }
61
80
  },
62
81
  exportAs: ["ngAccordionPanel"],
63
82
  hostDirectives: [{
@@ -82,22 +101,24 @@ i0.ɵɵngDeclareClassMetadata({
82
101
  inputs: ['preserveContent']
83
102
  }],
84
103
  host: {
85
- 'class': 'ng-accordion-panel',
86
104
  'role': 'region',
87
105
  '[attr.id]': '_pattern.id()',
88
106
  '[attr.aria-labelledby]': '_pattern.accordionTrigger()?.id()',
89
- '[attr.inert]': '_pattern.hidden() ? true : null'
107
+ '[attr.inert]': '!visible() ? true : null'
90
108
  }
91
109
  }]
92
110
  }],
93
111
  ctorParameters: () => []
94
112
  });
95
113
  class AccordionTrigger {
96
- _id = inject(_IdGenerator).getId('ng-accordion-trigger-');
97
114
  _elementRef = inject(ElementRef);
115
+ element = this._elementRef.nativeElement;
98
116
  _accordionGroup = inject(AccordionGroup);
99
- value = input.required(...(ngDevMode ? [{
100
- debugName: "value"
117
+ id = input(inject(_IdGenerator).getId('ng-accordion-trigger-', true), ...(ngDevMode ? [{
118
+ debugName: "id"
119
+ }] : []));
120
+ panelId = input.required(...(ngDevMode ? [{
121
+ debugName: "panelId"
101
122
  }] : []));
102
123
  disabled = input(false, ...(ngDevMode ? [{
103
124
  debugName: "disabled",
@@ -105,20 +126,30 @@ class AccordionTrigger {
105
126
  }] : [{
106
127
  transform: booleanAttribute
107
128
  }]));
108
- hardDisabled = computed(() => this._pattern.disabled() && this._pattern.tabindex() < 0, ...(ngDevMode ? [{
109
- debugName: "hardDisabled"
129
+ expanded = model(false, ...(ngDevMode ? [{
130
+ debugName: "expanded"
110
131
  }] : []));
111
- accordionPanel = signal(undefined, ...(ngDevMode ? [{
112
- debugName: "accordionPanel"
132
+ active = computed(() => this._pattern.active(), ...(ngDevMode ? [{
133
+ debugName: "active"
134
+ }] : []));
135
+ _accordionPanel = signal(undefined, ...(ngDevMode ? [{
136
+ debugName: "_accordionPanel"
113
137
  }] : []));
114
138
  _pattern = new AccordionTriggerPattern({
115
- id: () => this._id,
116
- value: this.value,
117
- disabled: this.disabled,
118
- element: () => this._elementRef.nativeElement,
139
+ ...this,
119
140
  accordionGroup: computed(() => this._accordionGroup._pattern),
120
- accordionPanel: this.accordionPanel
141
+ accordionPanel: this._accordionPanel,
142
+ element: () => this.element
121
143
  });
144
+ expand() {
145
+ this._pattern.open();
146
+ }
147
+ collapse() {
148
+ this._pattern.close();
149
+ }
150
+ toggle() {
151
+ this._pattern.toggle();
152
+ }
122
153
  static ɵfac = i0.ɵɵngDeclareFactory({
123
154
  minVersion: "12.0.0",
124
155
  version: "20.2.0-next.2",
@@ -134,9 +165,16 @@ class AccordionTrigger {
134
165
  isStandalone: true,
135
166
  selector: "[ngAccordionTrigger]",
136
167
  inputs: {
137
- value: {
138
- classPropertyName: "value",
139
- publicName: "value",
168
+ id: {
169
+ classPropertyName: "id",
170
+ publicName: "id",
171
+ isSignal: true,
172
+ isRequired: false,
173
+ transformFunction: null
174
+ },
175
+ panelId: {
176
+ classPropertyName: "panelId",
177
+ publicName: "panelId",
140
178
  isSignal: true,
141
179
  isRequired: true,
142
180
  transformFunction: null
@@ -147,27 +185,31 @@ class AccordionTrigger {
147
185
  isSignal: true,
148
186
  isRequired: false,
149
187
  transformFunction: null
188
+ },
189
+ expanded: {
190
+ classPropertyName: "expanded",
191
+ publicName: "expanded",
192
+ isSignal: true,
193
+ isRequired: false,
194
+ transformFunction: null
150
195
  }
151
196
  },
197
+ outputs: {
198
+ expanded: "expandedChange"
199
+ },
152
200
  host: {
153
201
  attributes: {
154
202
  "role": "button"
155
203
  },
156
- listeners: {
157
- "keydown": "_pattern.onKeydown($event)",
158
- "pointerdown": "_pattern.onPointerdown($event)",
159
- "focusin": "_pattern.onFocus($event)"
160
- },
161
204
  properties: {
162
- "attr.data-active": "_pattern.active()",
205
+ "attr.data-active": "active()",
163
206
  "id": "_pattern.id()",
164
- "attr.aria-expanded": "_pattern.expanded()",
207
+ "attr.aria-expanded": "expanded()",
165
208
  "attr.aria-controls": "_pattern.controls()",
166
209
  "attr.aria-disabled": "_pattern.disabled()",
167
- "attr.disabled": "hardDisabled() ? true : null",
168
- "attr.tabindex": "_pattern.tabindex()"
169
- },
170
- classAttribute: "ng-accordion-trigger"
210
+ "attr.disabled": "_pattern.hardDisabled() ? true : null",
211
+ "attr.tabindex": "_pattern.tabIndex()"
212
+ }
171
213
  },
172
214
  exportAs: ["ngAccordionTrigger"],
173
215
  ngImport: i0
@@ -184,30 +226,30 @@ i0.ɵɵngDeclareClassMetadata({
184
226
  selector: '[ngAccordionTrigger]',
185
227
  exportAs: 'ngAccordionTrigger',
186
228
  host: {
187
- 'class': 'ng-accordion-trigger',
188
- '[attr.data-active]': '_pattern.active()',
229
+ '[attr.data-active]': 'active()',
189
230
  'role': 'button',
190
231
  '[id]': '_pattern.id()',
191
- '[attr.aria-expanded]': '_pattern.expanded()',
232
+ '[attr.aria-expanded]': 'expanded()',
192
233
  '[attr.aria-controls]': '_pattern.controls()',
193
234
  '[attr.aria-disabled]': '_pattern.disabled()',
194
- '[attr.disabled]': 'hardDisabled() ? true : null',
195
- '[attr.tabindex]': '_pattern.tabindex()',
196
- '(keydown)': '_pattern.onKeydown($event)',
197
- '(pointerdown)': '_pattern.onPointerdown($event)',
198
- '(focusin)': '_pattern.onFocus($event)'
235
+ '[attr.disabled]': '_pattern.hardDisabled() ? true : null',
236
+ '[attr.tabindex]': '_pattern.tabIndex()'
199
237
  }
200
238
  }]
201
239
  }]
202
240
  });
203
241
  class AccordionGroup {
204
242
  _elementRef = inject(ElementRef);
243
+ element = this._elementRef.nativeElement;
205
244
  _triggers = contentChildren(AccordionTrigger, ...(ngDevMode ? [{
206
245
  debugName: "_triggers",
207
246
  descendants: true
208
247
  }] : [{
209
248
  descendants: true
210
249
  }]));
250
+ _triggerPatterns = computed(() => this._triggers().map(t => t._pattern), ...(ngDevMode ? [{
251
+ debugName: "_triggerPatterns"
252
+ }] : []));
211
253
  _panels = contentChildren(AccordionPanel, ...(ngDevMode ? [{
212
254
  debugName: "_panels",
213
255
  descendants: true
@@ -227,11 +269,8 @@ class AccordionGroup {
227
269
  }] : [{
228
270
  transform: booleanAttribute
229
271
  }]));
230
- value = model([], ...(ngDevMode ? [{
231
- debugName: "value"
232
- }] : []));
233
- skipDisabled = input(true, ...(ngDevMode ? [{
234
- debugName: "skipDisabled",
272
+ softDisabled = input(true, ...(ngDevMode ? [{
273
+ debugName: "softDisabled",
235
274
  transform: booleanAttribute
236
275
  }] : [{
237
276
  transform: booleanAttribute
@@ -245,24 +284,41 @@ class AccordionGroup {
245
284
  _pattern = new AccordionGroupPattern({
246
285
  ...this,
247
286
  activeItem: signal(undefined),
248
- items: computed(() => this._triggers().map(trigger => trigger._pattern)),
249
- expandedIds: this.value,
287
+ items: this._triggerPatterns,
250
288
  orientation: () => 'vertical',
251
- element: () => this._elementRef.nativeElement
289
+ getItem: e => this._getItem(e),
290
+ element: () => this.element
252
291
  });
253
292
  constructor() {
254
293
  afterRenderEffect(() => {
255
294
  const triggers = this._triggers();
256
295
  const panels = this._panels();
257
296
  for (const trigger of triggers) {
258
- const panel = panels.find(p => p.value() === trigger.value());
259
- trigger.accordionPanel.set(panel?._pattern);
297
+ const panel = panels.find(p => p.panelId() === trigger.panelId());
298
+ trigger._accordionPanel.set(panel?._pattern);
260
299
  if (panel) {
261
300
  panel.accordionTrigger.set(trigger._pattern);
262
301
  }
263
302
  }
264
303
  });
265
304
  }
305
+ expandAll() {
306
+ this._pattern.expansionBehavior.openAll();
307
+ }
308
+ collapseAll() {
309
+ this._pattern.expansionBehavior.closeAll();
310
+ }
311
+ _getItem(element) {
312
+ let target = element;
313
+ while (target) {
314
+ const pattern = this._triggerPatterns().find(t => t.element() === target);
315
+ if (pattern) {
316
+ return pattern;
317
+ }
318
+ target = target.parentElement?.closest('[ngAccordionTrigger]');
319
+ }
320
+ return undefined;
321
+ }
266
322
  static ɵfac = i0.ɵɵngDeclareFactory({
267
323
  minVersion: "12.0.0",
268
324
  version: "20.2.0-next.2",
@@ -292,16 +348,9 @@ class AccordionGroup {
292
348
  isRequired: false,
293
349
  transformFunction: null
294
350
  },
295
- value: {
296
- classPropertyName: "value",
297
- publicName: "value",
298
- isSignal: true,
299
- isRequired: false,
300
- transformFunction: null
301
- },
302
- skipDisabled: {
303
- classPropertyName: "skipDisabled",
304
- publicName: "skipDisabled",
351
+ softDisabled: {
352
+ classPropertyName: "softDisabled",
353
+ publicName: "softDisabled",
305
354
  isSignal: true,
306
355
  isRequired: false,
307
356
  transformFunction: null
@@ -314,11 +363,12 @@ class AccordionGroup {
314
363
  transformFunction: null
315
364
  }
316
365
  },
317
- outputs: {
318
- value: "valueChange"
319
- },
320
366
  host: {
321
- classAttribute: "ng-accordion-group"
367
+ listeners: {
368
+ "keydown": "_pattern.onKeydown($event)",
369
+ "pointerdown": "_pattern.onPointerdown($event)",
370
+ "focusin": "_pattern.onFocus($event)"
371
+ }
322
372
  },
323
373
  queries: [{
324
374
  propertyName: "_triggers",
@@ -346,7 +396,9 @@ i0.ɵɵngDeclareClassMetadata({
346
396
  selector: '[ngAccordionGroup]',
347
397
  exportAs: 'ngAccordionGroup',
348
398
  host: {
349
- 'class': 'ng-accordion-group'
399
+ '(keydown)': '_pattern.onKeydown($event)',
400
+ '(pointerdown)': '_pattern.onPointerdown($event)',
401
+ '(focusin)': '_pattern.onFocus($event)'
350
402
  }
351
403
  }]
352
404
  }],
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/aria/accordion/accordion.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 Directive,\n input,\n ElementRef,\n inject,\n contentChildren,\n afterRenderEffect,\n signal,\n model,\n booleanAttribute,\n computed,\n WritableSignal,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {DeferredContent, DeferredContentAware} from '@angular/aria/deferred-content';\nimport {\n AccordionGroupPattern,\n AccordionPanelPattern,\n AccordionTriggerPattern,\n} from '@angular/aria/private';\n\n/**\n * Represents the content panel of an accordion item. It is controlled by an\n * associated `AccordionTrigger`.\n */\n@Directive({\n selector: '[ngAccordionPanel]',\n exportAs: 'ngAccordionPanel',\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n host: {\n 'class': 'ng-accordion-panel',\n 'role': 'region',\n '[attr.id]': '_pattern.id()',\n '[attr.aria-labelledby]': '_pattern.accordionTrigger()?.id()',\n '[attr.inert]': '_pattern.hidden() ? true : null',\n },\n})\nexport class AccordionPanel {\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware);\n\n /** A global unique identifier for the panel. */\n private readonly _id = inject(_IdGenerator).getId('accordion-trigger-');\n\n /** A local unique identifier for the panel, used to match with its trigger's value. */\n value = input.required<string>();\n\n /** The parent accordion trigger pattern that controls this panel. This is set by AccordionGroup. */\n readonly accordionTrigger: WritableSignal<AccordionTriggerPattern | undefined> =\n signal(undefined);\n\n /** The UI pattern instance for this panel. */\n readonly _pattern: AccordionPanelPattern = new AccordionPanelPattern({\n id: () => this._id,\n value: this.value,\n accordionTrigger: () => this.accordionTrigger(),\n });\n\n constructor() {\n // Connect the panel's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect(() => {\n this._deferredContentAware.contentVisible.set(!this._pattern.hidden());\n });\n }\n}\n\n/**\n * Represents the trigger button for an accordion item. It controls the expansion\n * state of an associated `AccordionPanel`.\n */\n@Directive({\n selector: '[ngAccordionTrigger]',\n exportAs: 'ngAccordionTrigger',\n host: {\n 'class': 'ng-accordion-trigger',\n '[attr.data-active]': '_pattern.active()',\n 'role': 'button',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': '_pattern.expanded()',\n '[attr.aria-controls]': '_pattern.controls()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.disabled]': 'hardDisabled() ? true : null',\n '[attr.tabindex]': '_pattern.tabindex()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_pattern.onFocus($event)',\n },\n})\nexport class AccordionTrigger {\n /** A global unique identifier for the trigger. */\n private readonly _id = inject(_IdGenerator).getId('ng-accordion-trigger-');\n\n /** A reference to the trigger element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** The parent AccordionGroup. */\n private readonly _accordionGroup = inject(AccordionGroup);\n\n /** A local unique identifier for the trigger, used to match with its panel's value. */\n value = input.required<string>();\n\n /** Whether the trigger is disabled. */\n disabled = input(false, {transform: booleanAttribute});\n\n /**\n * Whether this trigger is completely inaccessible.\n *\n * TODO(ok7sai): Consider move this to UI patterns.\n */\n readonly hardDisabled = computed(() => this._pattern.disabled() && this._pattern.tabindex() < 0);\n\n /** The accordion panel pattern controlled by this trigger. This is set by AccordionGroup. */\n readonly accordionPanel: WritableSignal<AccordionPanelPattern | undefined> = signal(undefined);\n\n /** The UI pattern instance for this trigger. */\n readonly _pattern: AccordionTriggerPattern = new AccordionTriggerPattern({\n id: () => this._id,\n value: this.value,\n disabled: this.disabled,\n element: () => this._elementRef.nativeElement,\n accordionGroup: computed(() => this._accordionGroup._pattern),\n accordionPanel: this.accordionPanel,\n });\n}\n\n/**\n * Container for a group of accordion items. It manages the overall state and\n * interactions of the accordion, such as keyboard navigation and expansion mode.\n */\n@Directive({\n selector: '[ngAccordionGroup]',\n exportAs: 'ngAccordionGroup',\n host: {\n 'class': 'ng-accordion-group',\n },\n})\nexport class AccordionGroup {\n /** A reference to the group element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** The AccordionTriggers nested inside this group. */\n protected readonly _triggers = contentChildren(AccordionTrigger, {descendants: true});\n\n /** The AccordionPanels nested inside this group. */\n protected readonly _panels = contentChildren(AccordionPanel, {descendants: true});\n\n /** The text direction (ltr or rtl). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the entire accordion group is disabled. */\n disabled = input(false, {transform: booleanAttribute});\n\n /** Whether multiple accordion items can be expanded simultaneously. */\n multiExpandable = input(true, {transform: booleanAttribute});\n\n /** The values of the current selected/expanded accordions. */\n value = model<string[]>([]);\n\n /** Whether disabled items should be skipped during keyboard navigation. */\n skipDisabled = input(true, {transform: booleanAttribute});\n\n /** Whether keyboard navigation should wrap around from the last item to the first, and vice-versa. */\n wrap = input(false, {transform: booleanAttribute});\n\n /** The UI pattern instance for this accordion group. */\n readonly _pattern: AccordionGroupPattern = new AccordionGroupPattern({\n ...this,\n // TODO(ok7sai): Consider making `activeItem` an internal state in the pattern and call\n // `setDefaultState` in the CDK.\n activeItem: signal(undefined),\n items: computed(() => this._triggers().map(trigger => trigger._pattern)),\n expandedIds: this.value,\n // TODO(ok7sai): Investigate whether an accordion should support horizontal mode.\n orientation: () => 'vertical',\n element: () => this._elementRef.nativeElement,\n });\n\n constructor() {\n // Effect to link triggers with their corresponding panels and update the group's items.\n afterRenderEffect(() => {\n const triggers = this._triggers();\n const panels = this._panels();\n\n for (const trigger of triggers) {\n const panel = panels.find(p => p.value() === trigger.value());\n trigger.accordionPanel.set(panel?._pattern);\n if (panel) {\n panel.accordionTrigger.set(trigger._pattern);\n }\n }\n });\n }\n}\n\n/**\n * A structural directive that marks the `ng-template` to be used as the content\n * for a `AccordionPanel`. This content can be lazily loaded.\n */\n@Directive({\n selector: 'ng-template[ngAccordionContent]',\n hostDirectives: [DeferredContent],\n})\nexport class AccordionContent {}\n"],"names":["AccordionPanel","accordionTrigger","signal","undefined","ngDevMode","debugName","_pattern","AccordionPanelPattern","value","constructor","afterRenderEffect","_deferredContentAware","contentVisible","set","hidden","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","deps","target","ɵɵFactoryTarget","Directive","decorators","args","selector","ctorParameters","input","required","disabled","transform","booleanAttribute","hardDisabled","computed","tabindex","element","_elementRef","nativeElement","accordionGroup","_accordionGroup","AccordionTrigger","ɵdir","ɵɵngDeclareDirective","isStandalone","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","attributes","listeners","properties","classAttribute","exportAs","textDirection","inject","Directionality","valueSignal","wrap","AccordionGroupPattern","items","_triggers","map","trigger","triggers","AccordionContent"],"mappings":"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"}
1
+ {"version":3,"file":"accordion.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/aria/accordion/accordion.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 Directive,\n input,\n ElementRef,\n inject,\n contentChildren,\n afterRenderEffect,\n signal,\n model,\n booleanAttribute,\n computed,\n WritableSignal,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n DeferredContent,\n DeferredContentAware,\n AccordionGroupPattern,\n AccordionPanelPattern,\n AccordionTriggerPattern,\n} from '@angular/aria/private';\n\n/**\n * The content panel of an accordion item that is conditionally visible.\n *\n * This directive is a container for the content that is shown or hidden. It requires\n * a `panelId` that must match the `panelId` of its corresponding `ngAccordionTrigger`.\n * The content within the panel should be provided using an `ng-template` with the\n * `ngAccordionContent` directive so that the content is not rendered on the page until the trigger\n * is expanded. It applies `role=\"region\"` for accessibility and uses the `inert` attribute to hide\n * its content from assistive technologies when not visible.\n *\n * ```html\n * <div ngAccordionPanel panelId=\"unique-id-1\">\n * <ng-template ngAccordionContent>\n * <p>This content is lazily rendered and will be shown when the panel is expanded.</p>\n * </ng-template>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: '[ngAccordionPanel]',\n exportAs: 'ngAccordionPanel',\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n host: {\n 'role': 'region',\n '[attr.id]': '_pattern.id()',\n '[attr.aria-labelledby]': '_pattern.accordionTrigger()?.id()',\n '[attr.inert]': '!visible() ? true : null',\n },\n})\nexport class AccordionPanel {\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware);\n\n /** A global unique identifier for the panel. */\n readonly id = input(inject(_IdGenerator).getId('ng-accordion-panel-', true));\n\n /** A local unique identifier for the panel, used to match with its trigger's `panelId`. */\n readonly panelId = input.required<string>();\n\n /** Whether the accordion panel is visible. True if the associated trigger is expanded. */\n readonly visible = computed(() => !this._pattern.hidden());\n\n /** The parent accordion trigger pattern that controls this panel. This is set by AccordionGroup. */\n readonly accordionTrigger: WritableSignal<AccordionTriggerPattern | undefined> =\n signal(undefined);\n\n /** The UI pattern instance for this panel. */\n readonly _pattern: AccordionPanelPattern = new AccordionPanelPattern({\n id: this.id,\n panelId: this.panelId,\n accordionTrigger: () => this.accordionTrigger(),\n });\n\n constructor() {\n // Connect the panel's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect(() => {\n this._deferredContentAware.contentVisible.set(this.visible());\n });\n }\n\n /** Expands this item. */\n expand() {\n this.accordionTrigger()?.open();\n }\n\n /** Collapses this item. */\n collapse() {\n this.accordionTrigger()?.close();\n }\n\n /** Toggles the expansion state of this item. */\n toggle() {\n this.accordionTrigger()?.toggle();\n }\n}\n\n/**\n * The trigger that toggles the visibility of its associated `ngAccordionPanel`.\n *\n * This directive requires a `panelId` that must match the `panelId` of the `ngAccordionPanel` it\n * controls. When clicked, it will expand or collapse the panel. It also handles keyboard\n * interactions for navigation within the `ngAccordionGroup`. It applies `role=\"button\"` and manages\n * `aria-expanded`, `aria-controls`, and `aria-disabled` attributes for accessibility.\n * The `disabled` input can be used to disable the trigger.\n *\n * ```html\n * <button ngAccordionTrigger panelId=\"unique-id-1\">\n * Accordion Trigger Text\n * </button>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: '[ngAccordionTrigger]',\n exportAs: 'ngAccordionTrigger',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'button',\n '[id]': '_pattern.id()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.controls()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.disabled]': '_pattern.hardDisabled() ? true : null',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class AccordionTrigger {\n /** A reference to the trigger element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the trigger element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The parent AccordionGroup. */\n private readonly _accordionGroup = inject(AccordionGroup);\n\n /** A unique identifier for the widget. */\n readonly id = input(inject(_IdGenerator).getId('ng-accordion-trigger-', true));\n\n /** A local unique identifier for the trigger, used to match with its panel's `panelId`. */\n readonly panelId = input.required<string>();\n\n /** Whether the trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the corresponding panel is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Whether the trigger is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The accordion panel pattern controlled by this trigger. This is set by AccordionGroup. */\n readonly _accordionPanel: WritableSignal<AccordionPanelPattern | undefined> = signal(undefined);\n\n /** The UI pattern instance for this trigger. */\n readonly _pattern: AccordionTriggerPattern = new AccordionTriggerPattern({\n ...this,\n accordionGroup: computed(() => this._accordionGroup._pattern),\n accordionPanel: this._accordionPanel,\n element: () => this.element,\n });\n\n /** Expands this item. */\n expand() {\n this._pattern.open();\n }\n\n /** Collapses this item. */\n collapse() {\n this._pattern.close();\n }\n\n /** Toggles the expansion state of this item. */\n toggle() {\n this._pattern.toggle();\n }\n}\n\n/**\n * A container for a group of accordion items. It manages the overall state and\n * interactions of the accordion, such as keyboard navigation and expansion mode.\n *\n * The `ngAccordionGroup` serves as the root of a group of accordion triggers and panels,\n * coordinating the behavior of the `ngAccordionTrigger` and `ngAccordionPanel` elements within it.\n * It supports both single and multiple expansion modes.\n *\n * ```html\n * <div ngAccordionGroup [multiExpandable]=\"true\" [(expandedPanels)]=\"expandedItems\">\n * <div class=\"accordion-item\">\n * <h3>\n * <button ngAccordionTrigger panelId=\"item-1\">Item 1</button>\n * </h3>\n * <div ngAccordionPanel panelId=\"item-1\">\n * <ng-template ngAccordionContent>\n * <p>Content for Item 1.</p>\n * </ng-template>\n * </div>\n * </div>\n * <div class=\"accordion-item\">\n * <h3>\n * <button ngAccordionTrigger panelId=\"item-2\">Item 2</button>\n * </h3>\n * <div ngAccordionPanel panelId=\"item-2\">\n * <ng-template ngAccordionContent>\n * <p>Content for Item 2.</p>\n * </ng-template>\n * </div>\n * </div>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: '[ngAccordionGroup]',\n exportAs: 'ngAccordionGroup',\n host: {\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(focusin)': '_pattern.onFocus($event)',\n },\n})\nexport class AccordionGroup {\n /** A reference to the group element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the group element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The AccordionTriggers nested inside this group. */\n private readonly _triggers = contentChildren(AccordionTrigger, {descendants: true});\n\n /** The AccordionTrigger patterns nested inside this group. */\n private readonly _triggerPatterns = computed(() => this._triggers().map(t => t._pattern));\n\n /** The AccordionPanels nested inside this group. */\n private readonly _panels = contentChildren(AccordionPanel, {descendants: true});\n\n /** The text direction (ltr or rtl). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the entire accordion group is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether multiple accordion items can be expanded simultaneously. */\n readonly multiExpandable = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** Whether keyboard navigation should wrap around from the last item to the first, and vice-versa. */\n readonly wrap = input(false, {transform: booleanAttribute});\n\n /** The UI pattern instance for this accordion group. */\n readonly _pattern: AccordionGroupPattern = new AccordionGroupPattern({\n ...this,\n activeItem: signal(undefined),\n items: this._triggerPatterns,\n // TODO(ok7sai): Investigate whether an accordion should support horizontal mode.\n orientation: () => 'vertical',\n getItem: e => this._getItem(e),\n element: () => this.element,\n });\n\n constructor() {\n // Effect to link triggers with their corresponding panels and update the group's items.\n afterRenderEffect(() => {\n const triggers = this._triggers();\n const panels = this._panels();\n\n for (const trigger of triggers) {\n const panel = panels.find(p => p.panelId() === trigger.panelId());\n trigger._accordionPanel.set(panel?._pattern);\n if (panel) {\n panel.accordionTrigger.set(trigger._pattern);\n }\n }\n });\n }\n\n /** Expands all accordion panels if multi-expandable. */\n expandAll() {\n this._pattern.expansionBehavior.openAll();\n }\n\n /** Collapses all accordion panels. */\n collapseAll() {\n this._pattern.expansionBehavior.closeAll();\n }\n\n /** Gets the trigger pattern for a given element. */\n private _getItem(element: Element | null | undefined): AccordionTriggerPattern | undefined {\n let target = element;\n\n while (target) {\n const pattern = this._triggerPatterns().find(t => t.element() === target);\n if (pattern) {\n return pattern;\n }\n\n target = target.parentElement?.closest('[ngAccordionTrigger]');\n }\n\n return undefined;\n }\n}\n\n/**\n * A structural directive that provides a mechanism for lazily rendering the content for an\n * `ngAccordionPanel`.\n *\n * This directive should be applied to an `ng-template` inside an `ngAccordionPanel`.\n * It allows the content of the panel to be lazily rendered, improving performance\n * by only creating the content when the panel is first expanded.\n *\n * ```html\n * <div ngAccordionPanel panelId=\"unique-id-1\">\n * <ng-template ngAccordionContent>\n * <p>This is the content that will be displayed inside the panel.</p>\n * </ng-template>\n * </div>\n * ```\n *\n * @developerPreview 21.0\n */\n@Directive({\n selector: 'ng-template[ngAccordionContent]',\n hostDirectives: [DeferredContent],\n})\nexport class AccordionContent {}\n"],"names":["AccordionPanel","_deferredContentAware","inject","DeferredContentAware","id","input","_IdGenerator","getId","panelId","required","visible","computed","_pattern","hidden","accordionTrigger","signal","undefined","AccordionPanelPattern","constructor","afterRenderEffect","contentVisible","set","expand","open","collapse","close","toggle","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","attributes","properties","exportAs","hostDirectives","directive","i1","ngImport","decorators","args","AccordionTrigger","_elementRef","ElementRef","element","nativeElement","_accordionGroup","AccordionGroup","disabled","transform","booleanAttribute","expanded","model","active","_accordionPanel","AccordionTriggerPattern","accordionGroup","accordionPanel","outputs","_triggers","contentChildren","descendants","_triggerPatterns","map","t","ngDevMode","debugName","_panels","textDirection","Directionality","valueSignal","multiExpandable","softDisabled","wrap","AccordionGroupPattern","activeItem","items","orientation","getItem","e","_getItem","triggers","panels","trigger","panel","find","p","expandAll","expansionBehavior","openAll","collapseAll","closeAll","pattern","parentElement","closest","listeners","queries","propertyName","predicate","AccordionContent","DeferredContent"],"mappings":"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"}
package/fesm2022/aria.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Version } from '@angular/core';
2
2
 
3
- const VERSION = new Version('21.0.0-rc.0');
3
+ const VERSION = new Version('21.0.0-rc.2');
4
4
 
5
5
  export { VERSION };
6
6
  //# sourceMappingURL=aria.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"aria.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"aria.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/aria/version.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 {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('21.0.0-rc.2');\n"],"names":["VERSION","Version"],"mappings":";;MAWaA,OAAO,GAAG,IAAIC,OAAO,CAAC,mBAAmB;;;;"}