@angular/aria 21.2.0-next.2 → 21.2.0-next.4
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/_accordion-chunk.mjs +5 -1
- package/fesm2022/_accordion-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-chunk.mjs +5 -1
- package/fesm2022/_combobox-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-listbox-chunk.mjs +27 -7
- package/fesm2022/_combobox-listbox-chunk.mjs.map +1 -1
- package/fesm2022/_combobox-tree-chunk.mjs +17 -5
- package/fesm2022/_combobox-tree-chunk.mjs.map +1 -1
- package/fesm2022/_menu-chunk.mjs +12 -4
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/_signal-like-chunk.mjs +6 -2
- package/fesm2022/_signal-like-chunk.mjs.map +1 -1
- package/fesm2022/_tabs-chunk.mjs +5 -1
- package/fesm2022/_tabs-chunk.mjs.map +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +10 -2
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/_widget-chunk.mjs +15 -3
- package/fesm2022/_widget-chunk.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/grid.mjs +46 -48
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/menu.mjs +12 -10
- package/fesm2022/menu.mjs.map +1 -1
- package/package.json +2 -2
- package/resources/code-examples.db +0 -0
- package/types/_keyboard-event-manager-chunk.d.ts +1 -0
- package/types/_menu-chunk.d.ts +2 -2
- package/types/_tree-chunk.d.ts +2 -0
- package/types/grid.d.ts +5 -4
- package/types/menu.d.ts +14 -13
package/fesm2022/aria.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aria.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/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 Aria package. */\nexport const VERSION = new Version('21.2.0-next.
|
|
1
|
+
{"version":3,"file":"aria.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/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 Aria package. */\nexport const VERSION = new Version('21.2.0-next.4');\n"],"names":["VERSION","Version"],"mappings":";;MAWaA,OAAO,GAAG,IAAIC,OAAO,CAAC,mBAAmB;;;;"}
|
package/fesm2022/grid.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, ElementRef, contentChildren, computed, input, booleanAttribute, NgZone, afterRenderEffect, Directive, output, model } from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, ElementRef, contentChildren, computed, input, booleanAttribute, NgZone, afterRenderEffect, Directive, output, Renderer2, model } from '@angular/core';
|
|
3
3
|
import { Directionality } from '@angular/cdk/bidi';
|
|
4
4
|
import { GridPattern, GridCellWidgetPattern, GridCellPattern, GridRowPattern } from './_widget-chunk.mjs';
|
|
5
5
|
import { _IdGenerator } from '@angular/cdk/a11y';
|
|
@@ -340,8 +340,8 @@ class GridCellWidget {
|
|
|
340
340
|
focusTarget = input(...(ngDevMode ? [undefined, {
|
|
341
341
|
debugName: "focusTarget"
|
|
342
342
|
}] : []));
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
activated = output();
|
|
344
|
+
deactivated = output();
|
|
345
345
|
tabindex = input(...(ngDevMode ? [undefined, {
|
|
346
346
|
debugName: "tabindex"
|
|
347
347
|
}] : []));
|
|
@@ -353,10 +353,8 @@ class GridCellWidget {
|
|
|
353
353
|
element: () => this.element,
|
|
354
354
|
cell: () => this._cell._pattern,
|
|
355
355
|
focusTarget: computed(() => {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
}
|
|
359
|
-
return this.focusTarget();
|
|
356
|
+
const target = this.focusTarget();
|
|
357
|
+
return target instanceof ElementRef ? target.nativeElement : target;
|
|
360
358
|
})
|
|
361
359
|
});
|
|
362
360
|
get isActivated() {
|
|
@@ -366,13 +364,13 @@ class GridCellWidget {
|
|
|
366
364
|
afterRenderEffect(() => {
|
|
367
365
|
const activateEvent = this._pattern.lastActivateEvent();
|
|
368
366
|
if (activateEvent) {
|
|
369
|
-
this.
|
|
367
|
+
this.activated.emit(activateEvent);
|
|
370
368
|
}
|
|
371
369
|
});
|
|
372
370
|
afterRenderEffect(() => {
|
|
373
371
|
const deactivateEvent = this._pattern.lastDeactivateEvent();
|
|
374
372
|
if (deactivateEvent) {
|
|
375
|
-
this.
|
|
373
|
+
this.deactivated.emit(deactivateEvent);
|
|
376
374
|
}
|
|
377
375
|
});
|
|
378
376
|
}
|
|
@@ -434,8 +432,8 @@ class GridCellWidget {
|
|
|
434
432
|
}
|
|
435
433
|
},
|
|
436
434
|
outputs: {
|
|
437
|
-
|
|
438
|
-
|
|
435
|
+
activated: "activated",
|
|
436
|
+
deactivated: "deactivated"
|
|
439
437
|
},
|
|
440
438
|
host: {
|
|
441
439
|
properties: {
|
|
@@ -499,13 +497,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
499
497
|
required: false
|
|
500
498
|
}]
|
|
501
499
|
}],
|
|
502
|
-
|
|
500
|
+
activated: [{
|
|
503
501
|
type: i0.Output,
|
|
504
|
-
args: ["
|
|
502
|
+
args: ["activated"]
|
|
505
503
|
}],
|
|
506
|
-
|
|
504
|
+
deactivated: [{
|
|
507
505
|
type: i0.Output,
|
|
508
|
-
args: ["
|
|
506
|
+
args: ["deactivated"]
|
|
509
507
|
}],
|
|
510
508
|
tabindex: [{
|
|
511
509
|
type: i0.Input,
|
|
@@ -520,6 +518,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
520
518
|
|
|
521
519
|
class GridCell {
|
|
522
520
|
_elementRef = inject(ElementRef);
|
|
521
|
+
_renderer = inject(Renderer2);
|
|
523
522
|
element = this._elementRef.nativeElement;
|
|
524
523
|
active = computed(() => this._pattern.active(), ...(ngDevMode ? [{
|
|
525
524
|
debugName: "active"
|
|
@@ -588,7 +587,38 @@ class GridCell {
|
|
|
588
587
|
getWidget: e => this._getWidget(e),
|
|
589
588
|
element: () => this.element
|
|
590
589
|
});
|
|
591
|
-
constructor() {
|
|
590
|
+
constructor() {
|
|
591
|
+
afterRenderEffect({
|
|
592
|
+
write: () => {
|
|
593
|
+
const {
|
|
594
|
+
_pattern: pattern,
|
|
595
|
+
_toggleAttribute: toggle
|
|
596
|
+
} = this;
|
|
597
|
+
const rowSpan = pattern.rowSpan();
|
|
598
|
+
const colSpan = pattern.colSpan();
|
|
599
|
+
toggle('role', this.role());
|
|
600
|
+
toggle('id', pattern.id());
|
|
601
|
+
toggle('rowspan', rowSpan);
|
|
602
|
+
toggle('colspan', rowSpan);
|
|
603
|
+
toggle('aria-rowspan', rowSpan);
|
|
604
|
+
toggle('aria-colspan', colSpan);
|
|
605
|
+
toggle('data-active', this.active());
|
|
606
|
+
toggle('data-anchor', pattern.anchor());
|
|
607
|
+
toggle('aria-disabled', pattern.disabled());
|
|
608
|
+
toggle('aria-rowindex', pattern.ariaRowIndex());
|
|
609
|
+
toggle('aria-colindex', pattern.ariaColIndex());
|
|
610
|
+
toggle('aria-selected', pattern.ariaSelected());
|
|
611
|
+
toggle('tabindex', this._tabIndex());
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
_toggleAttribute = (name, value) => {
|
|
616
|
+
if (value == null) {
|
|
617
|
+
this._renderer.removeAttribute(this.element, name);
|
|
618
|
+
} else {
|
|
619
|
+
this._renderer.setAttribute(this.element, name, value);
|
|
620
|
+
}
|
|
621
|
+
};
|
|
592
622
|
_getWidget(element) {
|
|
593
623
|
let target = element;
|
|
594
624
|
while (target) {
|
|
@@ -703,23 +733,6 @@ class GridCell {
|
|
|
703
733
|
outputs: {
|
|
704
734
|
selected: "selectedChange"
|
|
705
735
|
},
|
|
706
|
-
host: {
|
|
707
|
-
properties: {
|
|
708
|
-
"attr.role": "role()",
|
|
709
|
-
"attr.id": "_pattern.id()",
|
|
710
|
-
"attr.rowspan": "_pattern.rowSpan()",
|
|
711
|
-
"attr.colspan": "_pattern.colSpan()",
|
|
712
|
-
"attr.data-active": "active()",
|
|
713
|
-
"attr.data-anchor": "_pattern.anchor()",
|
|
714
|
-
"attr.aria-disabled": "_pattern.disabled()",
|
|
715
|
-
"attr.aria-rowspan": "_pattern.rowSpan()",
|
|
716
|
-
"attr.aria-colspan": "_pattern.colSpan()",
|
|
717
|
-
"attr.aria-rowindex": "_pattern.ariaRowIndex()",
|
|
718
|
-
"attr.aria-colindex": "_pattern.ariaColIndex()",
|
|
719
|
-
"attr.aria-selected": "_pattern.ariaSelected()",
|
|
720
|
-
"tabindex": "_tabIndex()"
|
|
721
|
-
}
|
|
722
|
-
},
|
|
723
736
|
providers: [{
|
|
724
737
|
provide: GRID_CELL,
|
|
725
738
|
useExisting: GridCell
|
|
@@ -744,21 +757,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
744
757
|
args: [{
|
|
745
758
|
selector: '[ngGridCell]',
|
|
746
759
|
exportAs: 'ngGridCell',
|
|
747
|
-
host: {
|
|
748
|
-
'[attr.role]': 'role()',
|
|
749
|
-
'[attr.id]': '_pattern.id()',
|
|
750
|
-
'[attr.rowspan]': '_pattern.rowSpan()',
|
|
751
|
-
'[attr.colspan]': '_pattern.colSpan()',
|
|
752
|
-
'[attr.data-active]': 'active()',
|
|
753
|
-
'[attr.data-anchor]': '_pattern.anchor()',
|
|
754
|
-
'[attr.aria-disabled]': '_pattern.disabled()',
|
|
755
|
-
'[attr.aria-rowspan]': '_pattern.rowSpan()',
|
|
756
|
-
'[attr.aria-colspan]': '_pattern.colSpan()',
|
|
757
|
-
'[attr.aria-rowindex]': '_pattern.ariaRowIndex()',
|
|
758
|
-
'[attr.aria-colindex]': '_pattern.ariaColIndex()',
|
|
759
|
-
'[attr.aria-selected]': '_pattern.ariaSelected()',
|
|
760
|
-
'[tabindex]': '_tabIndex()'
|
|
761
|
-
},
|
|
762
760
|
providers: [{
|
|
763
761
|
provide: GRID_CELL,
|
|
764
762
|
useExisting: GridCell
|
package/fesm2022/grid.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-cell-widget.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-cell.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-row.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 {InjectionToken} from '@angular/core';\nimport type {GridCell} from './grid-cell';\nimport type {GridRow} from './grid-row';\n\n/** Token used to expose a `GridCell`. */\nexport const GRID_CELL = new InjectionToken<GridCell>('GRID_CELL');\n\n/** Token used to expose a `GridRow`. */\nexport const GRID_ROW = new InjectionToken<GridRow>('GRID_ROW');\n","/**\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 booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n Signal,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {GridPattern, GridCellPattern} from '../private';\nimport {GRID_ROW} from './grid-tokens';\n\n/**\n * The container for a grid. It provides keyboard navigation and focus management for the grid's\n * rows and cells. It manages the overall behavior of the grid, including focus\n * wrapping, selection, and disabled states.\n *\n * ```html\n * <table ngGrid [multi]=\"true\" [enableSelection]=\"true\">\n * @for (row of gridData; track row) {\n * <tr ngGridRow>\n * @for (cell of row; track cell) {\n * <td ngGridCell [disabled]=\"cell.disabled\">\n * {{cell.value}}\n * </td>\n * }\n * </tr>\n * }\n * </table>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGrid]',\n exportAs: 'ngGrid',\n host: {\n 'role': 'grid',\n '[tabindex]': '_pattern.tabIndex()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(pointerup)': '_pattern.onPointerup($event)',\n '(focusin)': '_pattern.onFocusIn($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n})\nexport class Grid {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The rows that make up the grid. */\n private readonly _rows = contentChildren(GRID_ROW, {descendants: true});\n\n /** The UI patterns for the rows in the grid. */\n private readonly _rowPatterns: Signal<any[]> = computed(() => this._rows().map(r => r._pattern));\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether selection is enabled for the grid. */\n readonly enableSelection = input(false, {transform: booleanAttribute});\n\n /** Whether the grid is disabled. */\n readonly disabled = input(false, {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 /**\n * The focus strategy used by the grid.\n * - `roving`: Focus is moved to the active cell using `tabindex`.\n * - `activedescendant`: Focus remains on the grid container, and `aria-activedescendant` is used to indicate the active cell.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /**\n * The wrapping behavior for keyboard navigation along the row axis.\n * - `continuous`: Navigation wraps from the last row to the first, and vice-versa.\n * - `loop`: Navigation wraps within the current row.\n * - `nowrap`: Navigation stops at the first/last item in the row.\n */\n readonly rowWrap = input<'continuous' | 'loop' | 'nowrap'>('loop');\n\n /**\n * The wrapping behavior for keyboard navigation along the column axis.\n * - `continuous`: Navigation wraps from the last column to the first, and vice-versa.\n * - `loop`: Navigation wraps within the current column.\n * - `nowrap`: Navigation stops at the first/last item in the column.\n */\n readonly colWrap = input<'continuous' | 'loop' | 'nowrap'>('loop');\n\n /** Whether multiple cells in the grid can be selected. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the grid.\n * - `follow`: The focused cell is automatically selected.\n * - `explicit`: Cells are selected explicitly by the user (e.g., via click or spacebar).\n */\n readonly selectionMode = input<'follow' | 'explicit'>('follow');\n\n /** Whether enable range selections (with modifier keys or dragging). */\n readonly enableRangeSelection = input(false, {transform: booleanAttribute});\n\n /** The UI pattern for the grid. */\n readonly _pattern = new GridPattern({\n ...this,\n rows: this._rowPatterns,\n getCell: e => this._getCell(e),\n element: () => this.element,\n });\n\n constructor() {\n const ngZone = inject(NgZone);\n\n // Since `pointermove` fires on each pixel, we need to\n // be careful not to hit the zone unless it's necessary.\n ngZone.runOutsideAngular(() => {\n this.element.addEventListener(\n 'pointermove',\n event => {\n if (this._pattern.acceptsPointerMove()) {\n ngZone.run(() => this._pattern.onPointermove(event));\n }\n },\n {passive: true},\n );\n });\n\n afterRenderEffect(() => this._pattern.setDefaultStateEffect());\n afterRenderEffect(() => this._pattern.resetStateEffect());\n afterRenderEffect(() => this._pattern.resetFocusEffect());\n afterRenderEffect(() => this._pattern.restoreFocusEffect());\n afterRenderEffect(() => this._pattern.focusEffect());\n }\n\n /** Gets the cell pattern for a given element. */\n private _getCell(element: Element | null | undefined): GridCellPattern | undefined {\n let target = element;\n\n while (target) {\n for (const row of this._rowPatterns()) {\n for (const cell of row.inputs.cells()) {\n if (cell.element() === target) {\n return cell;\n }\n }\n }\n\n target = target.parentElement?.closest('[ngGridCell]');\n }\n\n return undefined;\n }\n}\n","/**\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 {_IdGenerator} from '@angular/cdk/a11y';\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n output,\n Signal,\n} from '@angular/core';\nimport {GridCellWidgetPattern} from '../private';\nimport {GRID_CELL} from './grid-tokens';\n\n/**\n * Represents an interactive element inside a `GridCell`. It allows for pausing grid navigation to\n * interact with the widget.\n *\n * When the user interacts with the widget (e.g., by typing in an input or opening a menu), grid\n * navigation is temporarily suspended to allow the widget to handle keyboard\n * events.\n *\n * ```html\n * <td ngGridCell>\n * <button ngGridCellWidget>Click Me</button>\n * </td>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGridCellWidget]',\n exportAs: 'ngGridCellWidget',\n host: {\n '[attr.data-active]': 'active()',\n '[attr.data-active-control]': 'isActivated() ? \"widget\" : \"cell\"',\n '[tabindex]': '_tabIndex()',\n },\n})\nexport class GridCellWidget {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** Whether the widget is currently active (focused). */\n readonly active = computed(() => this._pattern.active());\n\n /** The parent cell. */\n private readonly _cell = inject(GRID_CELL);\n\n /** A unique identifier for the widget. */\n readonly id = input(inject(_IdGenerator).getId('ng-grid-cell-widget-', true));\n\n /** The type of widget, which determines how it is activated. */\n readonly widgetType = input<'simple' | 'complex' | 'editable'>('simple');\n\n /** Whether the widget is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** The target that will receive focus instead of the widget. */\n readonly focusTarget = input<ElementRef | HTMLElement | undefined>();\n\n /** Emits when the widget is activated. */\n readonly onActivate = output<KeyboardEvent | FocusEvent | undefined>();\n\n /** Emits when the widget is deactivated. */\n readonly onDeactivate = output<KeyboardEvent | FocusEvent | undefined>();\n\n /** The tabindex override. */\n readonly tabindex = input<number | undefined>();\n\n /**\n * The tabindex value set to the element.\n * If a focus target exists then return -1. Unless an override.\n */\n protected readonly _tabIndex: Signal<number> = computed(\n () => this.tabindex() ?? (this.focusTarget() ? -1 : this._pattern.tabIndex()),\n );\n\n /** The UI pattern for the grid cell widget. */\n readonly _pattern = new GridCellWidgetPattern({\n ...this,\n element: () => this.element,\n cell: () => this._cell._pattern,\n focusTarget: computed(() => {\n if (this.focusTarget() instanceof ElementRef) {\n return (this.focusTarget() as ElementRef).nativeElement;\n }\n return this.focusTarget();\n }),\n });\n\n /** Whether the widget is activated. */\n get isActivated(): Signal<boolean> {\n return computed(() => this._pattern.isActivated());\n }\n\n constructor() {\n afterRenderEffect(() => {\n const activateEvent = this._pattern.lastActivateEvent();\n if (activateEvent) {\n this.onActivate.emit(activateEvent);\n }\n });\n\n afterRenderEffect(() => {\n const deactivateEvent = this._pattern.lastDeactivateEvent();\n if (deactivateEvent) {\n this.onDeactivate.emit(deactivateEvent);\n }\n });\n }\n\n /** Activates the widget. */\n activate(): void {\n this._pattern.activate();\n }\n\n /** Deactivates the widget. */\n deactivate(): void {\n this._pattern.deactivate();\n }\n}\n","/**\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 {_IdGenerator} from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n Signal,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {GridCellPattern} from '../private';\nimport {GridCellWidget} from './grid-cell-widget';\nimport {GRID_CELL, GRID_ROW} from './grid-tokens';\n\n/**\n * Represents a cell within a grid row. It is the primary focusable element\n * within the grid. It can be disabled and can have its selection state managed\n * through the `selected` input.\n *\n * ```html\n * <td ngGridCell [disabled]=\"isDisabled\" [(selected)]=\"isSelected\">\n * Cell Content\n * </td>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGridCell]',\n exportAs: 'ngGridCell',\n host: {\n '[attr.role]': 'role()',\n '[attr.id]': '_pattern.id()',\n '[attr.rowspan]': '_pattern.rowSpan()',\n '[attr.colspan]': '_pattern.colSpan()',\n '[attr.data-active]': 'active()',\n '[attr.data-anchor]': '_pattern.anchor()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-rowspan]': '_pattern.rowSpan()',\n '[attr.aria-colspan]': '_pattern.colSpan()',\n '[attr.aria-rowindex]': '_pattern.ariaRowIndex()',\n '[attr.aria-colindex]': '_pattern.ariaColIndex()',\n '[attr.aria-selected]': '_pattern.ariaSelected()',\n '[tabindex]': '_tabIndex()',\n },\n providers: [{provide: GRID_CELL, useExisting: GridCell}],\n})\nexport class GridCell {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** Whether the cell is currently active (focused). */\n readonly active = computed(() => this._pattern.active());\n\n /** The widgets contained within this cell, if any. */\n private readonly _widgets = contentChildren(GridCellWidget, {descendants: true});\n\n /** The UI pattern for the widget in this cell. */\n private readonly _widgetPatterns: Signal<any[]> = computed(() =>\n this._widgets().map(w => w._pattern),\n );\n\n /** The parent row. */\n private readonly _row = inject(GRID_ROW);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** A unique identifier for the cell. */\n readonly id = input(inject(_IdGenerator).getId('ng-grid-cell-', true));\n\n /** The ARIA role for the cell. */\n readonly role = input<'gridcell' | 'columnheader' | 'rowheader'>('gridcell');\n\n /** The number of rows the cell should span. */\n readonly rowSpan = input<number>(1);\n\n /** The number of columns the cell should span. */\n readonly colSpan = input<number>(1);\n\n /** The index of this cell's row within the grid. */\n readonly rowIndex = input<number>();\n\n /** The index of this cell's column within the grid. */\n readonly colIndex = input<number>();\n\n /** Whether the cell is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the cell is selected. */\n readonly selected = model<boolean>(false);\n\n /** Whether the cell is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Orientation of the widgets in the cell. */\n readonly orientation = input<'vertical' | 'horizontal'>('horizontal');\n\n /** Whether widgets navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The tabindex override. */\n readonly tabindex = input<number | undefined>();\n\n /**\n * The tabindex value set to the element.\n * If a focus target exists then return -1. Unless an override.\n */\n protected readonly _tabIndex: Signal<number> = computed(\n () => this.tabindex() ?? this._pattern.tabIndex(),\n );\n\n /** The UI pattern for the grid cell. */\n readonly _pattern = new GridCellPattern({\n ...this,\n grid: this._row._gridPattern,\n row: () => this._row._pattern,\n widgets: this._widgetPatterns,\n getWidget: e => this._getWidget(e),\n element: () => this.element,\n });\n\n constructor() {}\n\n /** Gets the cell widget pattern for a given element. */\n private _getWidget(element: Element | null | undefined): any | undefined {\n let target = element;\n\n while (target) {\n const pattern = this._widgetPatterns().find(w => w.element() === target);\n if (pattern) {\n return pattern;\n }\n\n target = target.parentElement?.closest('[ngGridCellWidget]');\n }\n\n return undefined;\n }\n}\n","/**\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 computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n Signal,\n} from '@angular/core';\nimport {GridPattern, GridRowPattern} from '../private';\nimport {Grid} from './grid';\nimport {GRID_CELL, GRID_ROW} from './grid-tokens';\n\n/**\n * Represents a row within a grid. It is a container for `ngGridCell` directives.\n *\n * ```html\n * <tr ngGridRow>\n * <!-- ... cells ... -->\n * </tr>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGridRow]',\n exportAs: 'ngGridRow',\n host: {\n 'role': 'row',\n '[attr.aria-rowindex]': '_pattern.rowIndex()',\n },\n providers: [{provide: GRID_ROW, useExisting: GridRow}],\n})\nexport class GridRow {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The cells that make up this row. */\n private readonly _cells = contentChildren(GRID_CELL, {descendants: true});\n\n /** The UI patterns for the cells in this row. */\n private readonly _cellPatterns: Signal<any[]> = computed(() =>\n this._cells().map(c => c._pattern),\n );\n\n /** The parent grid. */\n private readonly _grid = inject(Grid);\n\n /** The parent grid UI pattern. */\n readonly _gridPattern = computed<GridPattern>(() => this._grid._pattern);\n\n /** The index of this row within the grid. */\n readonly rowIndex = input<number>();\n\n /** The UI pattern for the grid row. */\n readonly _pattern = new GridRowPattern({\n ...this,\n cells: this._cellPatterns,\n grid: this._gridPattern,\n });\n}\n"],"names":["GRID_CELL","InjectionToken","GRID_ROW","Grid","_elementRef","inject","ElementRef","element","nativeElement","_rows","contentChildren","descendants","_rowPatterns","computed","map","r","_pattern","ngDevMode","debugName","textDirection","Directionality","valueSignal","enableSelection","input","transform","booleanAttribute","disabled","softDisabled","focusMode","rowWrap","colWrap","multi","selectionMode","enableRangeSelection","GridPattern","rows","getCell","e","_getCell","constructor","ngZone","NgZone","runOutsideAngular","addEventListener","event","acceptsPointerMove","run","onPointermove","passive","afterRenderEffect","setDefaultStateEffect","resetStateEffect","resetFocusEffect","restoreFocusEffect","focusEffect","target","row","cell","inputs","cells","parentElement","closest","undefined","deps","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isSignal","exportAs","ngImport","decorators","args","selector","host","ctorParameters","propDecorators","ContentChildren","forwardRef","Input","alias","required","GridCellWidget","active","_cell","id","_IdGenerator","getId","widgetType","focusTarget","onActivate","output","onDeactivate","tabindex","_tabIndex","tabIndex","GridCellWidgetPattern","isActivated","activateEvent","lastActivateEvent","emit","deactivateEvent","lastDeactivateEvent","activate","deactivate","isStandalone","classPropertyName","publicName","isRequired","transformFunction","outputs","properties","GridCell","_widgets","_widgetPatterns","w","_row","role","rowSpan","colSpan","rowIndex","colIndex","selected","model","selectable","orientation","wrap","GridCellPattern","grid","_gridPattern","widgets","getWidget","_getWidget","pattern","find","providers","provide","useExisting","Output","GridRow","_cells","_cellPatterns","c","_grid","GridRowPattern","attributes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-cell-widget.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-cell.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/grid/grid-row.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 {InjectionToken} from '@angular/core';\nimport type {GridCell} from './grid-cell';\nimport type {GridRow} from './grid-row';\n\n/** Token used to expose a `GridCell`. */\nexport const GRID_CELL = new InjectionToken<GridCell>('GRID_CELL');\n\n/** Token used to expose a `GridRow`. */\nexport const GRID_ROW = new InjectionToken<GridRow>('GRID_ROW');\n","/**\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 booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n Signal,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {GridPattern, GridCellPattern} from '../private';\nimport {GRID_ROW} from './grid-tokens';\n\n/**\n * The container for a grid. It provides keyboard navigation and focus management for the grid's\n * rows and cells. It manages the overall behavior of the grid, including focus\n * wrapping, selection, and disabled states.\n *\n * ```html\n * <table ngGrid [multi]=\"true\" [enableSelection]=\"true\">\n * @for (row of gridData; track row) {\n * <tr ngGridRow>\n * @for (cell of row; track cell) {\n * <td ngGridCell [disabled]=\"cell.disabled\">\n * {{cell.value}}\n * </td>\n * }\n * </tr>\n * }\n * </table>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGrid]',\n exportAs: 'ngGrid',\n host: {\n 'role': 'grid',\n '[tabindex]': '_pattern.tabIndex()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(pointerdown)': '_pattern.onPointerdown($event)',\n '(pointerup)': '_pattern.onPointerup($event)',\n '(focusin)': '_pattern.onFocusIn($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n})\nexport class Grid {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The rows that make up the grid. */\n private readonly _rows = contentChildren(GRID_ROW, {descendants: true});\n\n /** The UI patterns for the rows in the grid. */\n private readonly _rowPatterns: Signal<any[]> = computed(() => this._rows().map(r => r._pattern));\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether selection is enabled for the grid. */\n readonly enableSelection = input(false, {transform: booleanAttribute});\n\n /** Whether the grid is disabled. */\n readonly disabled = input(false, {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 /**\n * The focus strategy used by the grid.\n * - `roving`: Focus is moved to the active cell using `tabindex`.\n * - `activedescendant`: Focus remains on the grid container, and `aria-activedescendant` is used to indicate the active cell.\n */\n readonly focusMode = input<'roving' | 'activedescendant'>('roving');\n\n /**\n * The wrapping behavior for keyboard navigation along the row axis.\n * - `continuous`: Navigation wraps from the last row to the first, and vice-versa.\n * - `loop`: Navigation wraps within the current row.\n * - `nowrap`: Navigation stops at the first/last item in the row.\n */\n readonly rowWrap = input<'continuous' | 'loop' | 'nowrap'>('loop');\n\n /**\n * The wrapping behavior for keyboard navigation along the column axis.\n * - `continuous`: Navigation wraps from the last column to the first, and vice-versa.\n * - `loop`: Navigation wraps within the current column.\n * - `nowrap`: Navigation stops at the first/last item in the column.\n */\n readonly colWrap = input<'continuous' | 'loop' | 'nowrap'>('loop');\n\n /** Whether multiple cells in the grid can be selected. */\n readonly multi = input(false, {transform: booleanAttribute});\n\n /**\n * The selection strategy used by the grid.\n * - `follow`: The focused cell is automatically selected.\n * - `explicit`: Cells are selected explicitly by the user (e.g., via click or spacebar).\n */\n readonly selectionMode = input<'follow' | 'explicit'>('follow');\n\n /** Whether enable range selections (with modifier keys or dragging). */\n readonly enableRangeSelection = input(false, {transform: booleanAttribute});\n\n /** The UI pattern for the grid. */\n readonly _pattern = new GridPattern({\n ...this,\n rows: this._rowPatterns,\n getCell: e => this._getCell(e),\n element: () => this.element,\n });\n\n constructor() {\n const ngZone = inject(NgZone);\n\n // Since `pointermove` fires on each pixel, we need to\n // be careful not to hit the zone unless it's necessary.\n ngZone.runOutsideAngular(() => {\n this.element.addEventListener(\n 'pointermove',\n event => {\n if (this._pattern.acceptsPointerMove()) {\n ngZone.run(() => this._pattern.onPointermove(event));\n }\n },\n {passive: true},\n );\n });\n\n afterRenderEffect(() => this._pattern.setDefaultStateEffect());\n afterRenderEffect(() => this._pattern.resetStateEffect());\n afterRenderEffect(() => this._pattern.resetFocusEffect());\n afterRenderEffect(() => this._pattern.restoreFocusEffect());\n afterRenderEffect(() => this._pattern.focusEffect());\n }\n\n /** Gets the cell pattern for a given element. */\n private _getCell(element: Element | null | undefined): GridCellPattern | undefined {\n let target = element;\n\n while (target) {\n for (const row of this._rowPatterns()) {\n for (const cell of row.inputs.cells()) {\n if (cell.element() === target) {\n return cell;\n }\n }\n }\n\n target = target.parentElement?.closest('[ngGridCell]');\n }\n\n return undefined;\n }\n}\n","/**\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 {_IdGenerator} from '@angular/cdk/a11y';\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n output,\n Signal,\n} from '@angular/core';\nimport {GridCellWidgetPattern} from '../private';\nimport {GRID_CELL} from './grid-tokens';\n\n/**\n * Represents an interactive element inside a `GridCell`. It allows for pausing grid navigation to\n * interact with the widget.\n *\n * When the user interacts with the widget (e.g., by typing in an input or opening a menu), grid\n * navigation is temporarily suspended to allow the widget to handle keyboard\n * events.\n *\n * ```html\n * <td ngGridCell>\n * <button ngGridCellWidget>Click Me</button>\n * </td>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGridCellWidget]',\n exportAs: 'ngGridCellWidget',\n host: {\n '[attr.data-active]': 'active()',\n '[attr.data-active-control]': 'isActivated() ? \"widget\" : \"cell\"',\n '[tabindex]': '_tabIndex()',\n },\n})\nexport class GridCellWidget {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** Whether the widget is currently active (focused). */\n readonly active = computed(() => this._pattern.active());\n\n /** The parent cell. */\n private readonly _cell = inject(GRID_CELL);\n\n /** A unique identifier for the widget. */\n readonly id = input(inject(_IdGenerator).getId('ng-grid-cell-widget-', true));\n\n /** The type of widget, which determines how it is activated. */\n readonly widgetType = input<'simple' | 'complex' | 'editable'>('simple');\n\n /** Whether the widget is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** The target that will receive focus instead of the widget. */\n readonly focusTarget = input<ElementRef | HTMLElement | undefined>();\n\n /** Emits when the widget is activated. */\n readonly activated = output<KeyboardEvent | FocusEvent | undefined>();\n\n /** Emits when the widget is deactivated. */\n readonly deactivated = output<KeyboardEvent | FocusEvent | undefined>();\n\n /** The tabindex override. */\n readonly tabindex = input<number | undefined>();\n\n /**\n * The tabindex value set to the element.\n * If a focus target exists then return -1. Unless an override.\n */\n protected readonly _tabIndex: Signal<number> = computed(\n () => this.tabindex() ?? (this.focusTarget() ? -1 : this._pattern.tabIndex()),\n );\n\n /** The UI pattern for the grid cell widget. */\n readonly _pattern = new GridCellWidgetPattern({\n ...this,\n element: () => this.element,\n cell: () => this._cell._pattern,\n focusTarget: computed(() => {\n const target = this.focusTarget();\n return target instanceof ElementRef ? target.nativeElement : target;\n }),\n });\n\n /** Whether the widget is activated. */\n get isActivated(): Signal<boolean> {\n return computed(() => this._pattern.isActivated());\n }\n\n constructor() {\n afterRenderEffect(() => {\n const activateEvent = this._pattern.lastActivateEvent();\n if (activateEvent) {\n this.activated.emit(activateEvent);\n }\n });\n\n afterRenderEffect(() => {\n const deactivateEvent = this._pattern.lastDeactivateEvent();\n if (deactivateEvent) {\n this.deactivated.emit(deactivateEvent);\n }\n });\n }\n\n /** Activates the widget. */\n activate(): void {\n this._pattern.activate();\n }\n\n /** Deactivates the widget. */\n deactivate(): void {\n this._pattern.deactivate();\n }\n}\n","/**\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 {_IdGenerator} from '@angular/cdk/a11y';\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n Signal,\n Renderer2,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {GridCellPattern} from '../private';\nimport {GridCellWidget} from './grid-cell-widget';\nimport {GRID_CELL, GRID_ROW} from './grid-tokens';\n\n/**\n * Represents a cell within a grid row. It is the primary focusable element\n * within the grid. It can be disabled and can have its selection state managed\n * through the `selected` input.\n *\n * ```html\n * <td ngGridCell [disabled]=\"isDisabled\" [(selected)]=\"isSelected\">\n * Cell Content\n * </td>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGridCell]',\n exportAs: 'ngGridCell',\n providers: [{provide: GRID_CELL, useExisting: GridCell}],\n})\nexport class GridCell {\n private readonly _elementRef = inject(ElementRef);\n private readonly _renderer = inject(Renderer2);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** Whether the cell is currently active (focused). */\n readonly active = computed(() => this._pattern.active());\n\n /** The widgets contained within this cell, if any. */\n private readonly _widgets = contentChildren(GridCellWidget, {descendants: true});\n\n /** The UI pattern for the widget in this cell. */\n private readonly _widgetPatterns: Signal<any[]> = computed(() =>\n this._widgets().map(w => w._pattern),\n );\n\n /** The parent row. */\n private readonly _row = inject(GRID_ROW);\n\n /** Text direction. */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** A unique identifier for the cell. */\n readonly id = input(inject(_IdGenerator).getId('ng-grid-cell-', true));\n\n /** The ARIA role for the cell. */\n readonly role = input<'gridcell' | 'columnheader' | 'rowheader'>('gridcell');\n\n /** The number of rows the cell should span. */\n readonly rowSpan = input<number>(1);\n\n /** The number of columns the cell should span. */\n readonly colSpan = input<number>(1);\n\n /** The index of this cell's row within the grid. */\n readonly rowIndex = input<number>();\n\n /** The index of this cell's column within the grid. */\n readonly colIndex = input<number>();\n\n /** Whether the cell is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the cell is selected. */\n readonly selected = model<boolean>(false);\n\n /** Whether the cell is selectable. */\n readonly selectable = input<boolean>(true);\n\n /** Orientation of the widgets in the cell. */\n readonly orientation = input<'vertical' | 'horizontal'>('horizontal');\n\n /** Whether widgets navigation wraps. */\n readonly wrap = input(true, {transform: booleanAttribute});\n\n /** The tabindex override. */\n readonly tabindex = input<number | undefined>();\n\n /**\n * The tabindex value set to the element.\n * If a focus target exists then return -1. Unless an override.\n */\n protected readonly _tabIndex: Signal<number> = computed(\n () => this.tabindex() ?? this._pattern.tabIndex(),\n );\n\n /** The UI pattern for the grid cell. */\n readonly _pattern = new GridCellPattern({\n ...this,\n grid: this._row._gridPattern,\n row: () => this._row._pattern,\n widgets: this._widgetPatterns,\n getWidget: e => this._getWidget(e),\n element: () => this.element,\n });\n\n constructor() {\n // Note: we don't go through host bindings for these, because the\n // effect allows us to batch the reads together which drastically\n // improves rendering performance in large grids (see #32759).\n afterRenderEffect({\n write: () => {\n const {_pattern: pattern, _toggleAttribute: toggle} = this;\n const rowSpan = pattern.rowSpan();\n const colSpan = pattern.colSpan();\n toggle('role', this.role());\n toggle('id', pattern.id());\n toggle('rowspan', rowSpan);\n toggle('colspan', rowSpan);\n toggle('aria-rowspan', rowSpan);\n toggle('aria-colspan', colSpan);\n toggle('data-active', this.active());\n toggle('data-anchor', pattern.anchor());\n toggle('aria-disabled', pattern.disabled());\n toggle('aria-rowindex', pattern.ariaRowIndex());\n toggle('aria-colindex', pattern.ariaColIndex());\n toggle('aria-selected', pattern.ariaSelected());\n toggle('tabindex', this._tabIndex());\n },\n });\n }\n\n private _toggleAttribute = (name: string, value: unknown) => {\n if (value == null) {\n this._renderer.removeAttribute(this.element, name);\n } else {\n this._renderer.setAttribute(this.element, name, value as string);\n }\n };\n\n /** Gets the cell widget pattern for a given element. */\n private _getWidget(element: Element | null | undefined): any | undefined {\n let target = element;\n\n while (target) {\n const pattern = this._widgetPatterns().find(w => w.element() === target);\n if (pattern) {\n return pattern;\n }\n\n target = target.parentElement?.closest('[ngGridCellWidget]');\n }\n\n return undefined;\n }\n}\n","/**\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 computed,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n input,\n Signal,\n} from '@angular/core';\nimport {GridPattern, GridRowPattern} from '../private';\nimport {Grid} from './grid';\nimport {GRID_CELL, GRID_ROW} from './grid-tokens';\n\n/**\n * Represents a row within a grid. It is a container for `ngGridCell` directives.\n *\n * ```html\n * <tr ngGridRow>\n * <!-- ... cells ... -->\n * </tr>\n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGridRow]',\n exportAs: 'ngGridRow',\n host: {\n 'role': 'row',\n '[attr.aria-rowindex]': '_pattern.rowIndex()',\n },\n providers: [{provide: GRID_ROW, useExisting: GridRow}],\n})\nexport class GridRow {\n /** A reference to the host element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the host element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The cells that make up this row. */\n private readonly _cells = contentChildren(GRID_CELL, {descendants: true});\n\n /** The UI patterns for the cells in this row. */\n private readonly _cellPatterns: Signal<any[]> = computed(() =>\n this._cells().map(c => c._pattern),\n );\n\n /** The parent grid. */\n private readonly _grid = inject(Grid);\n\n /** The parent grid UI pattern. */\n readonly _gridPattern = computed<GridPattern>(() => this._grid._pattern);\n\n /** The index of this row within the grid. */\n readonly rowIndex = input<number>();\n\n /** The UI pattern for the grid row. */\n readonly _pattern = new GridRowPattern({\n ...this,\n cells: this._cellPatterns,\n grid: this._gridPattern,\n });\n}\n"],"names":["GRID_CELL","InjectionToken","GRID_ROW","Grid","_elementRef","inject","ElementRef","element","nativeElement","_rows","contentChildren","descendants","_rowPatterns","computed","map","r","_pattern","ngDevMode","debugName","textDirection","Directionality","valueSignal","enableSelection","input","transform","booleanAttribute","disabled","softDisabled","focusMode","rowWrap","colWrap","multi","selectionMode","enableRangeSelection","GridPattern","rows","getCell","e","_getCell","constructor","ngZone","NgZone","runOutsideAngular","addEventListener","event","acceptsPointerMove","run","onPointermove","passive","afterRenderEffect","setDefaultStateEffect","resetStateEffect","resetFocusEffect","restoreFocusEffect","focusEffect","target","row","cell","inputs","cells","parentElement","closest","undefined","deps","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isSignal","exportAs","ngImport","decorators","args","selector","host","ctorParameters","propDecorators","ContentChildren","forwardRef","Input","alias","required","GridCellWidget","active","_cell","id","_IdGenerator","getId","widgetType","focusTarget","activated","output","deactivated","tabindex","_tabIndex","tabIndex","GridCellWidgetPattern","isActivated","activateEvent","lastActivateEvent","emit","deactivateEvent","lastDeactivateEvent","activate","deactivate","isStandalone","classPropertyName","publicName","isRequired","transformFunction","outputs","properties","GridCell","_renderer","Renderer2","_widgets","_widgetPatterns","w","_row","role","rowSpan","colSpan","rowIndex","colIndex","selected","model","selectable","orientation","wrap","GridCellPattern","grid","_gridPattern","widgets","getWidget","_getWidget","write","pattern","_toggleAttribute","toggle","anchor","ariaRowIndex","ariaColIndex","ariaSelected","name","value","removeAttribute","setAttribute","find","providers","provide","useExisting","Output","GridRow","_cells","_cellPatterns","c","_grid","GridRowPattern","attributes"],"mappings":"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"}
|
package/fesm2022/menu.mjs
CHANGED
|
@@ -278,6 +278,7 @@ class MenuItem {
|
|
|
278
278
|
properties: {
|
|
279
279
|
"attr.tabindex": "_pattern.tabIndex()",
|
|
280
280
|
"attr.data-active": "active()",
|
|
281
|
+
"attr.aria-label": "value()",
|
|
281
282
|
"attr.aria-haspopup": "hasPopup()",
|
|
282
283
|
"attr.aria-expanded": "expanded()",
|
|
283
284
|
"attr.aria-disabled": "_pattern.disabled()",
|
|
@@ -303,6 +304,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
303
304
|
'(focusin)': '_pattern.onFocusIn()',
|
|
304
305
|
'[attr.tabindex]': '_pattern.tabIndex()',
|
|
305
306
|
'[attr.data-active]': 'active()',
|
|
307
|
+
'[attr.aria-label]': 'value()',
|
|
306
308
|
'[attr.aria-haspopup]': 'hasPopup()',
|
|
307
309
|
'[attr.aria-expanded]': 'expanded()',
|
|
308
310
|
'[attr.aria-disabled]': '_pattern.disabled()',
|
|
@@ -397,7 +399,7 @@ class MenuBar {
|
|
|
397
399
|
_itemPatterns = signal([], ...(ngDevMode ? [{
|
|
398
400
|
debugName: "_itemPatterns"
|
|
399
401
|
}] : []));
|
|
400
|
-
|
|
402
|
+
itemSelected = output();
|
|
401
403
|
constructor() {
|
|
402
404
|
this._pattern = new MenuBarPattern({
|
|
403
405
|
...this,
|
|
@@ -407,7 +409,7 @@ class MenuBar {
|
|
|
407
409
|
focusMode: () => 'roving',
|
|
408
410
|
orientation: () => 'horizontal',
|
|
409
411
|
selectionMode: () => 'explicit',
|
|
410
|
-
|
|
412
|
+
itemSelected: value => this.itemSelected.emit(value),
|
|
411
413
|
activeItem: signal(undefined),
|
|
412
414
|
element: computed(() => this._elementRef.nativeElement)
|
|
413
415
|
});
|
|
@@ -476,7 +478,7 @@ class MenuBar {
|
|
|
476
478
|
},
|
|
477
479
|
outputs: {
|
|
478
480
|
values: "valuesChange",
|
|
479
|
-
|
|
481
|
+
itemSelected: "itemSelected"
|
|
480
482
|
},
|
|
481
483
|
host: {
|
|
482
484
|
attributes: {
|
|
@@ -590,9 +592,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
590
592
|
required: false
|
|
591
593
|
}]
|
|
592
594
|
}],
|
|
593
|
-
|
|
595
|
+
itemSelected: [{
|
|
594
596
|
type: i0.Output,
|
|
595
|
-
args: ["
|
|
597
|
+
args: ["itemSelected"]
|
|
596
598
|
}]
|
|
597
599
|
}
|
|
598
600
|
});
|
|
@@ -642,7 +644,7 @@ class Menu {
|
|
|
642
644
|
tabIndex = computed(() => this._pattern.tabIndex(), ...(ngDevMode ? [{
|
|
643
645
|
debugName: "tabIndex"
|
|
644
646
|
}] : []));
|
|
645
|
-
|
|
647
|
+
itemSelected = output();
|
|
646
648
|
expansionDelay = input(100, ...(ngDevMode ? [{
|
|
647
649
|
debugName: "expansionDelay"
|
|
648
650
|
}] : []));
|
|
@@ -658,7 +660,7 @@ class Menu {
|
|
|
658
660
|
selectionMode: () => 'explicit',
|
|
659
661
|
activeItem: signal(undefined),
|
|
660
662
|
element: computed(() => this._elementRef.nativeElement),
|
|
661
|
-
|
|
663
|
+
itemSelected: value => this.itemSelected.emit(value)
|
|
662
664
|
});
|
|
663
665
|
afterRenderEffect(() => {
|
|
664
666
|
const parent = this.parent();
|
|
@@ -735,7 +737,7 @@ class Menu {
|
|
|
735
737
|
}
|
|
736
738
|
},
|
|
737
739
|
outputs: {
|
|
738
|
-
|
|
740
|
+
itemSelected: "itemSelected"
|
|
739
741
|
},
|
|
740
742
|
host: {
|
|
741
743
|
attributes: {
|
|
@@ -850,9 +852,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
850
852
|
required: false
|
|
851
853
|
}]
|
|
852
854
|
}],
|
|
853
|
-
|
|
855
|
+
itemSelected: [{
|
|
854
856
|
type: i0.Output,
|
|
855
|
-
args: ["
|
|
857
|
+
args: ["itemSelected"]
|
|
856
858
|
}],
|
|
857
859
|
expansionDelay: [{
|
|
858
860
|
type: i0.Input,
|