@angular/aria 22.2.0-next.2 → 22.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/_deferred-content-chunk.mjs +6 -6
- package/fesm2022/_menu-chunk.mjs +6 -4
- package/fesm2022/_menu-chunk.mjs.map +1 -1
- package/fesm2022/_toolbar-widget-group-chunk.mjs +34 -53
- package/fesm2022/_toolbar-widget-group-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +12 -12
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +11 -10
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/grid.mjs +12 -12
- package/fesm2022/listbox.mjs +6 -6
- package/fesm2022/menu.mjs +18 -18
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/private.mjs +6 -1
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs.mjs +15 -15
- package/fesm2022/toolbar.mjs +11 -86
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +9 -9
- package/package.json +2 -2
- package/types/_accordion-chunk.d.ts +2 -2
- package/types/_collection-chunk.d.ts +1 -1
- package/types/_grid-chunk.d.ts +4 -4
- package/types/_list-chunk.d.ts +2 -2
- package/types/_listbox-chunk.d.ts +3 -3
- package/types/_menu-chunk.d.ts +19 -15
- package/types/_tabs-chunk.d.ts +4 -4
- package/types/_toolbar-chunk.d.ts +54 -50
- package/types/_tree-chunk.d.ts +7 -7
- package/types/combobox.d.ts +1 -1
- package/types/grid.d.ts +6 -6
- package/types/listbox.d.ts +3 -3
- package/types/menu.d.ts +7 -7
- package/types/private.d.ts +9 -3
- package/types/tabs.d.ts +3 -3
- package/types/toolbar.d.ts +27 -36
- package/types/tree.d.ts +5 -5
package/fesm2022/accordion.mjs
CHANGED
|
@@ -14,7 +14,7 @@ import './_click-event-manager-chunk.mjs';
|
|
|
14
14
|
class AccordionContent {
|
|
15
15
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
16
16
|
minVersion: "12.0.0",
|
|
17
|
-
version: "22.2.0-next.
|
|
17
|
+
version: "22.2.0-next.4",
|
|
18
18
|
ngImport: i0,
|
|
19
19
|
type: AccordionContent,
|
|
20
20
|
deps: [],
|
|
@@ -22,7 +22,7 @@ class AccordionContent {
|
|
|
22
22
|
});
|
|
23
23
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
24
24
|
minVersion: "14.0.0",
|
|
25
|
-
version: "22.2.0-next.
|
|
25
|
+
version: "22.2.0-next.4",
|
|
26
26
|
type: AccordionContent,
|
|
27
27
|
isStandalone: true,
|
|
28
28
|
selector: "ng-template[ngAccordionContent]",
|
|
@@ -34,7 +34,7 @@ class AccordionContent {
|
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({
|
|
36
36
|
minVersion: "12.0.0",
|
|
37
|
-
version: "22.2.0-next.
|
|
37
|
+
version: "22.2.0-next.4",
|
|
38
38
|
ngImport: i0,
|
|
39
39
|
type: AccordionContent,
|
|
40
40
|
decorators: [{
|
|
@@ -92,7 +92,7 @@ class AccordionPanel {
|
|
|
92
92
|
}
|
|
93
93
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
94
94
|
minVersion: "12.0.0",
|
|
95
|
-
version: "22.2.0-next.
|
|
95
|
+
version: "22.2.0-next.4",
|
|
96
96
|
ngImport: i0,
|
|
97
97
|
type: AccordionPanel,
|
|
98
98
|
deps: [],
|
|
@@ -100,7 +100,7 @@ class AccordionPanel {
|
|
|
100
100
|
});
|
|
101
101
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
102
102
|
minVersion: "17.2.0",
|
|
103
|
-
version: "22.2.0-next.
|
|
103
|
+
version: "22.2.0-next.4",
|
|
104
104
|
type: AccordionPanel,
|
|
105
105
|
isStandalone: true,
|
|
106
106
|
selector: "[ngAccordionPanel]",
|
|
@@ -140,7 +140,7 @@ class AccordionPanel {
|
|
|
140
140
|
}
|
|
141
141
|
i0.ɵɵngDeclareClassMetadata({
|
|
142
142
|
minVersion: "12.0.0",
|
|
143
|
-
version: "22.2.0-next.
|
|
143
|
+
version: "22.2.0-next.4",
|
|
144
144
|
ngImport: i0,
|
|
145
145
|
type: AccordionPanel,
|
|
146
146
|
decorators: [{
|
|
@@ -245,7 +245,7 @@ class AccordionGroup {
|
|
|
245
245
|
}
|
|
246
246
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
247
247
|
minVersion: "12.0.0",
|
|
248
|
-
version: "22.2.0-next.
|
|
248
|
+
version: "22.2.0-next.4",
|
|
249
249
|
ngImport: i0,
|
|
250
250
|
type: AccordionGroup,
|
|
251
251
|
deps: [],
|
|
@@ -253,7 +253,7 @@ class AccordionGroup {
|
|
|
253
253
|
});
|
|
254
254
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
255
255
|
minVersion: "17.1.0",
|
|
256
|
-
version: "22.2.0-next.
|
|
256
|
+
version: "22.2.0-next.4",
|
|
257
257
|
type: AccordionGroup,
|
|
258
258
|
isStandalone: true,
|
|
259
259
|
selector: "[ngAccordionGroup]",
|
|
@@ -304,7 +304,7 @@ class AccordionGroup {
|
|
|
304
304
|
}
|
|
305
305
|
i0.ɵɵngDeclareClassMetadata({
|
|
306
306
|
minVersion: "12.0.0",
|
|
307
|
-
version: "22.2.0-next.
|
|
307
|
+
version: "22.2.0-next.4",
|
|
308
308
|
ngImport: i0,
|
|
309
309
|
type: AccordionGroup,
|
|
310
310
|
decorators: [{
|
|
@@ -430,7 +430,7 @@ class AccordionTrigger {
|
|
|
430
430
|
}
|
|
431
431
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
432
432
|
minVersion: "12.0.0",
|
|
433
|
-
version: "22.2.0-next.
|
|
433
|
+
version: "22.2.0-next.4",
|
|
434
434
|
ngImport: i0,
|
|
435
435
|
type: AccordionTrigger,
|
|
436
436
|
deps: [],
|
|
@@ -438,7 +438,7 @@ class AccordionTrigger {
|
|
|
438
438
|
});
|
|
439
439
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
440
440
|
minVersion: "17.1.0",
|
|
441
|
-
version: "22.2.0-next.
|
|
441
|
+
version: "22.2.0-next.4",
|
|
442
442
|
type: AccordionTrigger,
|
|
443
443
|
isStandalone: true,
|
|
444
444
|
selector: "[ngAccordionTrigger]",
|
|
@@ -495,7 +495,7 @@ class AccordionTrigger {
|
|
|
495
495
|
}
|
|
496
496
|
i0.ɵɵngDeclareClassMetadata({
|
|
497
497
|
minVersion: "12.0.0",
|
|
498
|
-
version: "22.2.0-next.
|
|
498
|
+
version: "22.2.0-next.4",
|
|
499
499
|
ngImport: i0,
|
|
500
500
|
type: AccordionTrigger,
|
|
501
501
|
decorators: [{
|
package/fesm2022/aria.mjs
CHANGED
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('22.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('22.2.0-next.4');\n"],"names":[],"mappings":";;MAWa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;;;"}
|
package/fesm2022/combobox.mjs
CHANGED
|
@@ -89,7 +89,7 @@ class Combobox extends DeferredContentAware {
|
|
|
89
89
|
}
|
|
90
90
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
91
91
|
minVersion: "12.0.0",
|
|
92
|
-
version: "22.2.0-next.
|
|
92
|
+
version: "22.2.0-next.4",
|
|
93
93
|
ngImport: i0,
|
|
94
94
|
type: Combobox,
|
|
95
95
|
deps: [],
|
|
@@ -97,7 +97,7 @@ class Combobox extends DeferredContentAware {
|
|
|
97
97
|
});
|
|
98
98
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
99
99
|
minVersion: "17.1.0",
|
|
100
|
-
version: "22.2.0-next.
|
|
100
|
+
version: "22.2.0-next.4",
|
|
101
101
|
type: Combobox,
|
|
102
102
|
isStandalone: true,
|
|
103
103
|
selector: "[ngCombobox]",
|
|
@@ -194,7 +194,7 @@ class Combobox extends DeferredContentAware {
|
|
|
194
194
|
}
|
|
195
195
|
i0.ɵɵngDeclareClassMetadata({
|
|
196
196
|
minVersion: "12.0.0",
|
|
197
|
-
version: "22.2.0-next.
|
|
197
|
+
version: "22.2.0-next.4",
|
|
198
198
|
ngImport: i0,
|
|
199
199
|
type: Combobox,
|
|
200
200
|
decorators: [{
|
|
@@ -320,7 +320,8 @@ class ComboboxPopup {
|
|
|
320
320
|
debugName: "popupType"
|
|
321
321
|
}] : []));
|
|
322
322
|
_pattern = new ComboboxPopupPattern({
|
|
323
|
-
...this
|
|
323
|
+
...this,
|
|
324
|
+
combobox: computed(() => this.combobox()._pattern)
|
|
324
325
|
});
|
|
325
326
|
ngOnInit() {
|
|
326
327
|
this.combobox()._registerPopup(this);
|
|
@@ -337,7 +338,7 @@ class ComboboxPopup {
|
|
|
337
338
|
}
|
|
338
339
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
339
340
|
minVersion: "12.0.0",
|
|
340
|
-
version: "22.2.0-next.
|
|
341
|
+
version: "22.2.0-next.4",
|
|
341
342
|
ngImport: i0,
|
|
342
343
|
type: ComboboxPopup,
|
|
343
344
|
deps: [],
|
|
@@ -345,7 +346,7 @@ class ComboboxPopup {
|
|
|
345
346
|
});
|
|
346
347
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
347
348
|
minVersion: "17.1.0",
|
|
348
|
-
version: "22.2.0-next.
|
|
349
|
+
version: "22.2.0-next.4",
|
|
349
350
|
type: ComboboxPopup,
|
|
350
351
|
isStandalone: true,
|
|
351
352
|
selector: "ng-template[ngComboboxPopup]",
|
|
@@ -378,7 +379,7 @@ class ComboboxPopup {
|
|
|
378
379
|
}
|
|
379
380
|
i0.ɵɵngDeclareClassMetadata({
|
|
380
381
|
minVersion: "12.0.0",
|
|
381
|
-
version: "22.2.0-next.
|
|
382
|
+
version: "22.2.0-next.4",
|
|
382
383
|
ngImport: i0,
|
|
383
384
|
type: ComboboxPopup,
|
|
384
385
|
decorators: [{
|
|
@@ -461,7 +462,7 @@ class ComboboxWidget {
|
|
|
461
462
|
}
|
|
462
463
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
463
464
|
minVersion: "12.0.0",
|
|
464
|
-
version: "22.2.0-next.
|
|
465
|
+
version: "22.2.0-next.4",
|
|
465
466
|
ngImport: i0,
|
|
466
467
|
type: ComboboxWidget,
|
|
467
468
|
deps: [],
|
|
@@ -469,7 +470,7 @@ class ComboboxWidget {
|
|
|
469
470
|
});
|
|
470
471
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
471
472
|
minVersion: "17.1.0",
|
|
472
|
-
version: "22.2.0-next.
|
|
473
|
+
version: "22.2.0-next.4",
|
|
473
474
|
type: ComboboxWidget,
|
|
474
475
|
isStandalone: true,
|
|
475
476
|
selector: "[ngComboboxWidget]",
|
|
@@ -494,7 +495,7 @@ class ComboboxWidget {
|
|
|
494
495
|
}
|
|
495
496
|
i0.ɵɵngDeclareClassMetadata({
|
|
496
497
|
minVersion: "12.0.0",
|
|
497
|
-
version: "22.2.0-next.
|
|
498
|
+
version: "22.2.0-next.4",
|
|
498
499
|
ngImport: i0,
|
|
499
500
|
type: ComboboxWidget,
|
|
500
501
|
decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox-popup.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox-widget.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnInit,\n signal,\n Renderer2,\n} from '@angular/core';\nimport {DeferredContentAware, ComboboxPattern, tabIndexTransform} from '@angular/aria/private';\nimport type {ComboboxPopup} from './combobox-popup';\n\n/**\n * A directive that coordinates a combobox trigger element and its associated popup widget.\n *\n * The `ngCombobox` directive is applied directly to the interactive trigger element, which can be\n * either an editable `<input>` (for search/autocomplete behaviors) or a non-editable element like\n * a `<div>` (for custom select dropdowns). It manages focus and expansion states, coordinates autocomplete\n * suggestions (if editable), and forwards navigation keys down into the active popup.\n *\n * ### Example 1: Editable Autocomplete Input\n * ```html\n * <input ngCombobox #combobox=\"ngCombobox\" [(value)]=\"searchQuery\" [(expanded)]=\"isExpanded\" />\n *\n * <ng-template ngComboboxPopup [combobox]=\"combobox\">\n * <div ngComboboxWidget #listbox=\"ngListbox\" ngListbox [(value)]=\"selectedValues\" [activeDescendant]=\"listbox.activeDescendant()\">\n * <div ngOption value=\"first\">First Option</div>\n * <div ngOption value=\"second\">Second Option</div>\n * </div>\n * </ng-template>\n * ```\n *\n * ### Example 2: Non-Editable Custom Select Dropdown\n * ```html\n * <div ngCombobox #combobox=\"ngCombobox\" [(expanded)]=\"isExpanded\" class=\"select-trigger\">\n * {{selectedValue}}\n * </div>\n *\n * <ng-template ngComboboxPopup [combobox]=\"combobox\">\n * <div ngComboboxWidget #listbox=\"ngListbox\" ngListbox [(value)]=\"selectedValues\" [activeDescendant]=\"listbox.activeDescendant()\">\n * <div ngOption value=\"first\">First Option</div>\n * <div ngOption value=\"second\">Second Option</div>\n * </div>\n * </ng-template>\n * ```\n */\n@Directive({\n selector: '[ngCombobox]',\n exportAs: 'ngCombobox',\n host: {\n 'role': 'combobox',\n '[attr.aria-autocomplete]': '_pattern.autocomplete()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-readonly]': '_pattern.ariaReadonly()',\n '[attr.aria-expanded]': '_pattern.isExpanded()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[attr.aria-controls]': '_pattern.popupId()',\n '[attr.aria-haspopup]': '_pattern.popupType()',\n '[attr.tabindex]':\n 'disabled() && !softDisabled() ? -1 : (tabIndex() !== undefined ? tabIndex() : 0)',\n '[attr.disabled]': '_pattern.nativeDisabled()',\n '[attr.readonly]': '_pattern.nativeReadonly()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(focusin)': '_pattern.onFocusin()',\n '(focusout)': '_pattern.onFocusout()',\n '(click)': '_pattern.onClick($event)',\n '(input)': '_pattern.onInput($event)',\n },\n})\nexport class Combobox extends DeferredContentAware implements OnInit {\n private readonly _renderer = inject(Renderer2);\n\n /** The element that the combobox is attached to. */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** A reference to the input element. */\n readonly element = this._elementRef.nativeElement;\n\n /** The popup associated with the combobox. */\n readonly _popup = signal<ComboboxPopup | undefined>(undefined);\n\n /** Whether the combobox is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the combobox is readonly. */\n readonly readonly = input(false, {transform: booleanAttribute});\n\n /** Whether the combobox is soft disabled (remains focusable). */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** Whether the combobox should always remain expanded. */\n readonly alwaysExpanded = input(false, {transform: booleanAttribute});\n\n /** The tabindex of the combobox. */\n readonly tabIndex = input(undefined, {\n alias: 'tabindex',\n transform: tabIndexTransform,\n });\n\n /** Whether the combobox is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** The value of the combobox input. */\n readonly value = model<string>('');\n\n /** An inline suggestion to be displayed in the input. */\n readonly inlineSuggestion = input<string | undefined>(undefined);\n\n /** The combobox ui pattern. */\n readonly _pattern = new ComboboxPattern({\n ...this,\n readonly: () => this.readonly(),\n element: () => this.element,\n expandable: () => true,\n popup: computed(() => this._popup()?._pattern),\n });\n\n constructor() {\n super();\n\n afterRenderEffect({write: () => this._pattern.keyboardEventRelayEffect()});\n afterRenderEffect(() => {\n this.contentVisible.set(this._pattern.isExpanded());\n });\n\n if (this._pattern.isEditable()) {\n afterRenderEffect(() => {\n this._renderer.setProperty(this.element, 'value', this.value());\n });\n afterRenderEffect(() => {\n this._pattern.highlightEffect();\n });\n }\n }\n\n ngOnInit() {\n if (this.alwaysExpanded()) {\n this.expanded.set(true);\n }\n }\n\n /** Registers a popup with the combobox. */\n _registerPopup(popup: ComboboxPopup) {\n this._popup.set(popup);\n }\n\n /** Unregisters the popup from the combobox. */\n _unregisterPopup() {\n this._popup.set(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 {InjectionToken} from '@angular/core';\nimport type {ComboboxPopup} from './combobox-popup';\n\n/** Token used to expose the combobox popup. */\nexport const COMBOBOX_POPUP = new InjectionToken<ComboboxPopup>('COMBOBOX_POPUP');\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 {computed, Directive, inject, input, OnDestroy, OnInit, signal} from '@angular/core';\nimport {DeferredContent, ComboboxPopupPattern} from '@angular/aria/private';\nimport type {Combobox} from './combobox';\nimport type {ComboboxWidget} from './combobox-widget';\nimport {COMBOBOX_POPUP} from './combobox-tokens';\n\n/**\n * A structural directive that marks the `ng-template` to be used as the popup\n * for a combobox. This content is conditionally rendered.\n *\n * The content of the popup can be any element with the `ngComboboxWidget` directive.\n *\n * ```html\n * <ng-template ngComboboxPopup>\n * <div ngComboboxWidget>\n * <!-- ... options ... -->\n * </div>\n * </ng-template>\n * ```\n */\n@Directive({\n selector: 'ng-template[ngComboboxPopup]',\n exportAs: 'ngComboboxPopup',\n hostDirectives: [DeferredContent],\n providers: [{provide: COMBOBOX_POPUP, useExisting: ComboboxPopup}],\n})\nexport class ComboboxPopup implements OnInit, OnDestroy {\n private readonly _deferredContent = inject(DeferredContent);\n\n /** The combobox that the popup belongs to. */\n readonly combobox = input.required<Combobox>();\n\n /** The widget contained within the popup. */\n readonly _widget = signal<ComboboxWidget | undefined>(undefined);\n\n /** The element that serves as the control target for the popup. */\n readonly controlTarget = computed(() => this._widget()?.element);\n\n /** The ID of the popup. */\n readonly popupId = computed(() => this._widget()?.popupId());\n\n /** The ID of the active descendant in the popup. */\n readonly activeDescendant = computed(() => this._widget()?.activeDescendant());\n\n /** The type of the popup (e.g., listbox, tree, grid, dialog). */\n readonly popupType = input<'listbox' | 'tree' | 'grid' | 'dialog'>('listbox');\n\n /** The popup pattern. */\n readonly _pattern = new ComboboxPopupPattern({\n ...this,\n });\n\n ngOnInit() {\n this.combobox()._registerPopup(this);\n this._deferredContent.deferredContentAware.set(this.combobox());\n }\n\n ngOnDestroy() {\n this.combobox()._unregisterPopup();\n }\n\n /** Registers a widget with the popup. */\n _registerWidget(widget: ComboboxWidget) {\n this._widget.set(widget);\n }\n\n /** Unregisters the widget from the popup. */\n _unregisterWidget() {\n this._widget.set(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 afterNextRender,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {COMBOBOX_POPUP} from './combobox-tokens';\n\n/**\n * Identifies an element as a widget within a combobox popup.\n *\n * This directive should be applied to the element that contains the options or content\n * of the popup. It handles the communication of ID and active descendant information\n * to the combobox.\n */\n@Directive({\n selector: '[ngComboboxWidget]',\n exportAs: 'ngComboboxWidget',\n host: {\n '(focusin)': 'onFocusin()',\n '(focusout)': 'onFocusout($event)',\n },\n})\nexport class ComboboxWidget implements OnInit, OnDestroy {\n /** The element that the popup widget is attached to. */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly _popup = inject(COMBOBOX_POPUP);\n private readonly _idGenerator = inject(_IdGenerator);\n\n /** A reference to the popup widget element. */\n readonly element = this._elementRef.nativeElement;\n\n /** The ID of the popup widget. */\n readonly popupId = signal<string | undefined>(undefined);\n\n /** The ID of the active descendant in the widget. */\n readonly activeDescendant = input<string | undefined>(undefined);\n\n private _observer: MutationObserver | undefined;\n\n constructor() {\n const el = this.element;\n this._observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n if (mutation.attributeName === 'id') {\n this.popupId.set(el.id);\n }\n }\n });\n\n this._observer.observe(el, {\n attributes: true,\n attributeFilter: ['id'],\n });\n\n afterNextRender(() => {\n // Imperative, not a host binding: the element's id may already be owned by another\n // directive (e.g. Listbox, Tree, Grid), so this can't collide with it.\n if (!el.id) {\n el.id = this._idGenerator.getId('ng-combobox-widget-', true);\n }\n // Set synchronously; the MutationObserver above only fires on the next microtask.\n this.popupId.set(el.id);\n });\n }\n\n ngOnInit() {\n this.popupId.set(this.element.id);\n this._popup._registerWidget(this);\n }\n\n ngOnDestroy(): void {\n this._observer?.disconnect();\n this._popup._unregisterWidget();\n }\n\n /** Handles focus in events for the widget. */\n onFocusin() {\n this._popup._pattern.onFocusin();\n }\n\n /** Handles focus out events for the widget. */\n onFocusout(event: FocusEvent) {\n this._popup._pattern.onFocusout(event);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combobox.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox-popup.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/combobox/combobox-widget.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnInit,\n signal,\n Renderer2,\n} from '@angular/core';\nimport {DeferredContentAware, ComboboxPattern, tabIndexTransform} from '@angular/aria/private';\nimport type {ComboboxPopup} from './combobox-popup';\n\n/**\n * A directive that coordinates a combobox trigger element and its associated popup widget.\n *\n * The `ngCombobox` directive is applied directly to the interactive trigger element, which can be\n * either an editable `<input>` (for search/autocomplete behaviors) or a non-editable element like\n * a `<div>` (for custom select dropdowns). It manages focus and expansion states, coordinates autocomplete\n * suggestions (if editable), and forwards navigation keys down into the active popup.\n *\n * ### Example 1: Editable Autocomplete Input\n * ```html\n * <input ngCombobox #combobox=\"ngCombobox\" [(value)]=\"searchQuery\" [(expanded)]=\"isExpanded\" />\n *\n * <ng-template ngComboboxPopup [combobox]=\"combobox\">\n * <div ngComboboxWidget #listbox=\"ngListbox\" ngListbox [(value)]=\"selectedValues\" [activeDescendant]=\"listbox.activeDescendant()\">\n * <div ngOption value=\"first\">First Option</div>\n * <div ngOption value=\"second\">Second Option</div>\n * </div>\n * </ng-template>\n * ```\n *\n * ### Example 2: Non-Editable Custom Select Dropdown\n * ```html\n * <div ngCombobox #combobox=\"ngCombobox\" [(expanded)]=\"isExpanded\" class=\"select-trigger\">\n * {{selectedValue}}\n * </div>\n *\n * <ng-template ngComboboxPopup [combobox]=\"combobox\">\n * <div ngComboboxWidget #listbox=\"ngListbox\" ngListbox [(value)]=\"selectedValues\" [activeDescendant]=\"listbox.activeDescendant()\">\n * <div ngOption value=\"first\">First Option</div>\n * <div ngOption value=\"second\">Second Option</div>\n * </div>\n * </ng-template>\n * ```\n */\n@Directive({\n selector: '[ngCombobox]',\n exportAs: 'ngCombobox',\n host: {\n 'role': 'combobox',\n '[attr.aria-autocomplete]': '_pattern.autocomplete()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-readonly]': '_pattern.ariaReadonly()',\n '[attr.aria-expanded]': '_pattern.isExpanded()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '[attr.aria-controls]': '_pattern.popupId()',\n '[attr.aria-haspopup]': '_pattern.popupType()',\n '[attr.tabindex]':\n 'disabled() && !softDisabled() ? -1 : (tabIndex() !== undefined ? tabIndex() : 0)',\n '[attr.disabled]': '_pattern.nativeDisabled()',\n '[attr.readonly]': '_pattern.nativeReadonly()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(focusin)': '_pattern.onFocusin()',\n '(focusout)': '_pattern.onFocusout()',\n '(click)': '_pattern.onClick($event)',\n '(input)': '_pattern.onInput($event)',\n },\n})\nexport class Combobox extends DeferredContentAware implements OnInit {\n private readonly _renderer = inject(Renderer2);\n\n /** The element that the combobox is attached to. */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** A reference to the input element. */\n readonly element = this._elementRef.nativeElement;\n\n /** The popup associated with the combobox. */\n readonly _popup = signal<ComboboxPopup | undefined>(undefined);\n\n /** Whether the combobox is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the combobox is readonly. */\n readonly readonly = input(false, {transform: booleanAttribute});\n\n /** Whether the combobox is soft disabled (remains focusable). */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** Whether the combobox should always remain expanded. */\n readonly alwaysExpanded = input(false, {transform: booleanAttribute});\n\n /** The tabindex of the combobox. */\n readonly tabIndex = input(undefined, {\n alias: 'tabindex',\n transform: tabIndexTransform,\n });\n\n /** Whether the combobox is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** The value of the combobox input. */\n readonly value = model<string>('');\n\n /** An inline suggestion to be displayed in the input. */\n readonly inlineSuggestion = input<string | undefined>(undefined);\n\n /** The combobox ui pattern. */\n readonly _pattern = new ComboboxPattern({\n ...this,\n readonly: () => this.readonly(),\n element: () => this.element,\n expandable: () => true,\n popup: computed(() => this._popup()?._pattern),\n });\n\n constructor() {\n super();\n\n afterRenderEffect({write: () => this._pattern.keyboardEventRelayEffect()});\n afterRenderEffect(() => {\n this.contentVisible.set(this._pattern.isExpanded());\n });\n\n if (this._pattern.isEditable()) {\n afterRenderEffect(() => {\n this._renderer.setProperty(this.element, 'value', this.value());\n });\n afterRenderEffect(() => {\n this._pattern.highlightEffect();\n });\n }\n }\n\n ngOnInit() {\n if (this.alwaysExpanded()) {\n this.expanded.set(true);\n }\n }\n\n /** Registers a popup with the combobox. */\n _registerPopup(popup: ComboboxPopup) {\n this._popup.set(popup);\n }\n\n /** Unregisters the popup from the combobox. */\n _unregisterPopup() {\n this._popup.set(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 {InjectionToken} from '@angular/core';\nimport type {ComboboxPopup} from './combobox-popup';\n\n/** Token used to expose the combobox popup. */\nexport const COMBOBOX_POPUP = new InjectionToken<ComboboxPopup>('COMBOBOX_POPUP');\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 {computed, Directive, inject, input, OnDestroy, OnInit, signal} from '@angular/core';\nimport {DeferredContent, ComboboxPopupPattern} from '@angular/aria/private';\nimport type {Combobox} from './combobox';\nimport type {ComboboxWidget} from './combobox-widget';\nimport {COMBOBOX_POPUP} from './combobox-tokens';\n\n/**\n * A structural directive that marks the `ng-template` to be used as the popup\n * for a combobox. This content is conditionally rendered.\n *\n * The content of the popup can be any element with the `ngComboboxWidget` directive.\n *\n * ```html\n * <ng-template ngComboboxPopup>\n * <div ngComboboxWidget>\n * <!-- ... options ... -->\n * </div>\n * </ng-template>\n * ```\n */\n@Directive({\n selector: 'ng-template[ngComboboxPopup]',\n exportAs: 'ngComboboxPopup',\n hostDirectives: [DeferredContent],\n providers: [{provide: COMBOBOX_POPUP, useExisting: ComboboxPopup}],\n})\nexport class ComboboxPopup implements OnInit, OnDestroy {\n private readonly _deferredContent = inject(DeferredContent);\n\n /** The combobox that the popup belongs to. */\n readonly combobox = input.required<Combobox>();\n\n /** The widget contained within the popup. */\n readonly _widget = signal<ComboboxWidget | undefined>(undefined);\n\n /** The element that serves as the control target for the popup. */\n readonly controlTarget = computed(() => this._widget()?.element);\n\n /** The ID of the popup. */\n readonly popupId = computed(() => this._widget()?.popupId());\n\n /** The ID of the active descendant in the popup. */\n readonly activeDescendant = computed(() => this._widget()?.activeDescendant());\n\n /** The type of the popup (e.g., listbox, tree, grid, dialog). */\n readonly popupType = input<'listbox' | 'tree' | 'grid' | 'dialog'>('listbox');\n\n /** The popup pattern. */\n readonly _pattern: ComboboxPopupPattern = new ComboboxPopupPattern({\n ...this,\n combobox: computed(() => this.combobox()._pattern),\n });\n\n ngOnInit() {\n this.combobox()._registerPopup(this);\n this._deferredContent.deferredContentAware.set(this.combobox());\n }\n\n ngOnDestroy() {\n this.combobox()._unregisterPopup();\n }\n\n /** Registers a widget with the popup. */\n _registerWidget(widget: ComboboxWidget) {\n this._widget.set(widget);\n }\n\n /** Unregisters the widget from the popup. */\n _unregisterWidget() {\n this._widget.set(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 afterNextRender,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n signal,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {COMBOBOX_POPUP} from './combobox-tokens';\n\n/**\n * Identifies an element as a widget within a combobox popup.\n *\n * This directive should be applied to the element that contains the options or content\n * of the popup. It handles the communication of ID and active descendant information\n * to the combobox.\n */\n@Directive({\n selector: '[ngComboboxWidget]',\n exportAs: 'ngComboboxWidget',\n host: {\n '(focusin)': 'onFocusin()',\n '(focusout)': 'onFocusout($event)',\n },\n})\nexport class ComboboxWidget implements OnInit, OnDestroy {\n /** The element that the popup widget is attached to. */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly _popup = inject(COMBOBOX_POPUP);\n private readonly _idGenerator = inject(_IdGenerator);\n\n /** A reference to the popup widget element. */\n readonly element = this._elementRef.nativeElement;\n\n /** The ID of the popup widget. */\n readonly popupId = signal<string | undefined>(undefined);\n\n /** The ID of the active descendant in the widget. */\n readonly activeDescendant = input<string | undefined>(undefined);\n\n private _observer: MutationObserver | undefined;\n\n constructor() {\n const el = this.element;\n this._observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n if (mutation.attributeName === 'id') {\n this.popupId.set(el.id);\n }\n }\n });\n\n this._observer.observe(el, {\n attributes: true,\n attributeFilter: ['id'],\n });\n\n afterNextRender(() => {\n // Imperative, not a host binding: the element's id may already be owned by another\n // directive (e.g. Listbox, Tree, Grid), so this can't collide with it.\n if (!el.id) {\n el.id = this._idGenerator.getId('ng-combobox-widget-', true);\n }\n // Set synchronously; the MutationObserver above only fires on the next microtask.\n this.popupId.set(el.id);\n });\n }\n\n ngOnInit() {\n this.popupId.set(this.element.id);\n this._popup._registerWidget(this);\n }\n\n ngOnDestroy(): void {\n this._observer?.disconnect();\n this._popup._unregisterWidget();\n }\n\n /** Handles focus in events for the widget. */\n onFocusin() {\n this._popup._pattern.onFocusin();\n }\n\n /** Handles focus out events for the widget. */\n onFocusout(event: FocusEvent) {\n this._popup._pattern.onFocusout(event);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/fesm2022/grid.mjs
CHANGED
|
@@ -124,7 +124,7 @@ class Grid {
|
|
|
124
124
|
}
|
|
125
125
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
126
126
|
minVersion: "12.0.0",
|
|
127
|
-
version: "22.2.0-next.
|
|
127
|
+
version: "22.2.0-next.4",
|
|
128
128
|
ngImport: i0,
|
|
129
129
|
type: Grid,
|
|
130
130
|
deps: [],
|
|
@@ -132,7 +132,7 @@ class Grid {
|
|
|
132
132
|
});
|
|
133
133
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
134
134
|
minVersion: "17.1.0",
|
|
135
|
-
version: "22.2.0-next.
|
|
135
|
+
version: "22.2.0-next.4",
|
|
136
136
|
type: Grid,
|
|
137
137
|
isStandalone: true,
|
|
138
138
|
selector: "[ngGrid]",
|
|
@@ -228,7 +228,7 @@ class Grid {
|
|
|
228
228
|
}
|
|
229
229
|
i0.ɵɵngDeclareClassMetadata({
|
|
230
230
|
minVersion: "12.0.0",
|
|
231
|
-
version: "22.2.0-next.
|
|
231
|
+
version: "22.2.0-next.4",
|
|
232
232
|
ngImport: i0,
|
|
233
233
|
type: Grid,
|
|
234
234
|
decorators: [{
|
|
@@ -386,7 +386,7 @@ class GridCellWidget {
|
|
|
386
386
|
}
|
|
387
387
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
388
388
|
minVersion: "12.0.0",
|
|
389
|
-
version: "22.2.0-next.
|
|
389
|
+
version: "22.2.0-next.4",
|
|
390
390
|
ngImport: i0,
|
|
391
391
|
type: GridCellWidget,
|
|
392
392
|
deps: [],
|
|
@@ -394,7 +394,7 @@ class GridCellWidget {
|
|
|
394
394
|
});
|
|
395
395
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
396
396
|
minVersion: "17.1.0",
|
|
397
|
-
version: "22.2.0-next.
|
|
397
|
+
version: "22.2.0-next.4",
|
|
398
398
|
type: GridCellWidget,
|
|
399
399
|
isStandalone: true,
|
|
400
400
|
selector: "[ngGridCellWidget]",
|
|
@@ -453,7 +453,7 @@ class GridCellWidget {
|
|
|
453
453
|
}
|
|
454
454
|
i0.ɵɵngDeclareClassMetadata({
|
|
455
455
|
minVersion: "12.0.0",
|
|
456
|
-
version: "22.2.0-next.
|
|
456
|
+
version: "22.2.0-next.4",
|
|
457
457
|
ngImport: i0,
|
|
458
458
|
type: GridCellWidget,
|
|
459
459
|
decorators: [{
|
|
@@ -636,7 +636,7 @@ class GridCell {
|
|
|
636
636
|
}
|
|
637
637
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
638
638
|
minVersion: "12.0.0",
|
|
639
|
-
version: "22.2.0-next.
|
|
639
|
+
version: "22.2.0-next.4",
|
|
640
640
|
ngImport: i0,
|
|
641
641
|
type: GridCell,
|
|
642
642
|
deps: [],
|
|
@@ -644,7 +644,7 @@ class GridCell {
|
|
|
644
644
|
});
|
|
645
645
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
646
646
|
minVersion: "17.2.0",
|
|
647
|
-
version: "22.2.0-next.
|
|
647
|
+
version: "22.2.0-next.4",
|
|
648
648
|
type: GridCell,
|
|
649
649
|
isStandalone: true,
|
|
650
650
|
selector: "[ngGridCell]",
|
|
@@ -740,7 +740,7 @@ class GridCell {
|
|
|
740
740
|
}
|
|
741
741
|
i0.ɵɵngDeclareClassMetadata({
|
|
742
742
|
minVersion: "12.0.0",
|
|
743
|
-
version: "22.2.0-next.
|
|
743
|
+
version: "22.2.0-next.4",
|
|
744
744
|
ngImport: i0,
|
|
745
745
|
type: GridCell,
|
|
746
746
|
decorators: [{
|
|
@@ -884,7 +884,7 @@ class GridRow {
|
|
|
884
884
|
}
|
|
885
885
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
886
886
|
minVersion: "12.0.0",
|
|
887
|
-
version: "22.2.0-next.
|
|
887
|
+
version: "22.2.0-next.4",
|
|
888
888
|
ngImport: i0,
|
|
889
889
|
type: GridRow,
|
|
890
890
|
deps: [],
|
|
@@ -892,7 +892,7 @@ class GridRow {
|
|
|
892
892
|
});
|
|
893
893
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
894
894
|
minVersion: "17.1.0",
|
|
895
|
-
version: "22.2.0-next.
|
|
895
|
+
version: "22.2.0-next.4",
|
|
896
896
|
type: GridRow,
|
|
897
897
|
isStandalone: true,
|
|
898
898
|
selector: "[ngGridRow]",
|
|
@@ -923,7 +923,7 @@ class GridRow {
|
|
|
923
923
|
}
|
|
924
924
|
i0.ɵɵngDeclareClassMetadata({
|
|
925
925
|
minVersion: "12.0.0",
|
|
926
|
-
version: "22.2.0-next.
|
|
926
|
+
version: "22.2.0-next.4",
|
|
927
927
|
ngImport: i0,
|
|
928
928
|
type: GridRow,
|
|
929
929
|
decorators: [{
|
package/fesm2022/listbox.mjs
CHANGED
|
@@ -145,7 +145,7 @@ class Listbox {
|
|
|
145
145
|
}
|
|
146
146
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
147
147
|
minVersion: "12.0.0",
|
|
148
|
-
version: "22.2.0-next.
|
|
148
|
+
version: "22.2.0-next.4",
|
|
149
149
|
ngImport: i0,
|
|
150
150
|
type: Listbox,
|
|
151
151
|
deps: [],
|
|
@@ -153,7 +153,7 @@ class Listbox {
|
|
|
153
153
|
});
|
|
154
154
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
155
155
|
minVersion: "17.1.0",
|
|
156
|
-
version: "22.2.0-next.
|
|
156
|
+
version: "22.2.0-next.4",
|
|
157
157
|
type: Listbox,
|
|
158
158
|
isStandalone: true,
|
|
159
159
|
selector: "[ngListbox]",
|
|
@@ -275,7 +275,7 @@ class Listbox {
|
|
|
275
275
|
}
|
|
276
276
|
i0.ɵɵngDeclareClassMetadata({
|
|
277
277
|
minVersion: "12.0.0",
|
|
278
|
-
version: "22.2.0-next.
|
|
278
|
+
version: "22.2.0-next.4",
|
|
279
279
|
ngImport: i0,
|
|
280
280
|
type: Listbox,
|
|
281
281
|
decorators: [{
|
|
@@ -449,7 +449,7 @@ class Option {
|
|
|
449
449
|
}
|
|
450
450
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
451
451
|
minVersion: "12.0.0",
|
|
452
|
-
version: "22.2.0-next.
|
|
452
|
+
version: "22.2.0-next.4",
|
|
453
453
|
ngImport: i0,
|
|
454
454
|
type: Option,
|
|
455
455
|
deps: [],
|
|
@@ -457,7 +457,7 @@ class Option {
|
|
|
457
457
|
});
|
|
458
458
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
459
459
|
minVersion: "17.1.0",
|
|
460
|
-
version: "22.2.0-next.
|
|
460
|
+
version: "22.2.0-next.4",
|
|
461
461
|
type: Option,
|
|
462
462
|
isStandalone: true,
|
|
463
463
|
selector: "[ngOption]",
|
|
@@ -509,7 +509,7 @@ class Option {
|
|
|
509
509
|
}
|
|
510
510
|
i0.ɵɵngDeclareClassMetadata({
|
|
511
511
|
minVersion: "12.0.0",
|
|
512
|
-
version: "22.2.0-next.
|
|
512
|
+
version: "22.2.0-next.4",
|
|
513
513
|
ngImport: i0,
|
|
514
514
|
type: Option,
|
|
515
515
|
decorators: [{
|
package/fesm2022/menu.mjs
CHANGED
|
@@ -59,7 +59,7 @@ class MenuTrigger {
|
|
|
59
59
|
}
|
|
60
60
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
61
61
|
minVersion: "12.0.0",
|
|
62
|
-
version: "22.2.0-next.
|
|
62
|
+
version: "22.2.0-next.4",
|
|
63
63
|
ngImport: i0,
|
|
64
64
|
type: MenuTrigger,
|
|
65
65
|
deps: [],
|
|
@@ -67,7 +67,7 @@ class MenuTrigger {
|
|
|
67
67
|
});
|
|
68
68
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
69
69
|
minVersion: "17.1.0",
|
|
70
|
-
version: "22.2.0-next.
|
|
70
|
+
version: "22.2.0-next.4",
|
|
71
71
|
type: MenuTrigger,
|
|
72
72
|
isStandalone: true,
|
|
73
73
|
selector: "[ngMenuTrigger]",
|
|
@@ -116,7 +116,7 @@ class MenuTrigger {
|
|
|
116
116
|
}
|
|
117
117
|
i0.ɵɵngDeclareClassMetadata({
|
|
118
118
|
minVersion: "12.0.0",
|
|
119
|
-
version: "22.2.0-next.
|
|
119
|
+
version: "22.2.0-next.4",
|
|
120
120
|
ngImport: i0,
|
|
121
121
|
type: MenuTrigger,
|
|
122
122
|
decorators: [{
|
|
@@ -175,7 +175,7 @@ class MenuItem {
|
|
|
175
175
|
id = input(inject(_IdGenerator).getId('ng-menu-item-', true), ...(ngDevMode ? [{
|
|
176
176
|
debugName: "id"
|
|
177
177
|
}] : []));
|
|
178
|
-
value = input
|
|
178
|
+
value = input(undefined, ...(ngDevMode ? [{
|
|
179
179
|
debugName: "value"
|
|
180
180
|
}] : []));
|
|
181
181
|
disabled = input(false, ...(ngDevMode ? [{
|
|
@@ -242,7 +242,7 @@ class MenuItem {
|
|
|
242
242
|
}
|
|
243
243
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
244
244
|
minVersion: "12.0.0",
|
|
245
|
-
version: "22.2.0-next.
|
|
245
|
+
version: "22.2.0-next.4",
|
|
246
246
|
ngImport: i0,
|
|
247
247
|
type: MenuItem,
|
|
248
248
|
deps: [],
|
|
@@ -250,7 +250,7 @@ class MenuItem {
|
|
|
250
250
|
});
|
|
251
251
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
252
252
|
minVersion: "17.1.0",
|
|
253
|
-
version: "22.2.0-next.
|
|
253
|
+
version: "22.2.0-next.4",
|
|
254
254
|
type: MenuItem,
|
|
255
255
|
isStandalone: true,
|
|
256
256
|
selector: "[ngMenuItem]",
|
|
@@ -266,7 +266,7 @@ class MenuItem {
|
|
|
266
266
|
classPropertyName: "value",
|
|
267
267
|
publicName: "value",
|
|
268
268
|
isSignal: true,
|
|
269
|
-
isRequired:
|
|
269
|
+
isRequired: false,
|
|
270
270
|
transformFunction: null
|
|
271
271
|
},
|
|
272
272
|
disabled: {
|
|
@@ -321,7 +321,7 @@ class MenuItem {
|
|
|
321
321
|
}
|
|
322
322
|
i0.ɵɵngDeclareClassMetadata({
|
|
323
323
|
minVersion: "12.0.0",
|
|
324
|
-
version: "22.2.0-next.
|
|
324
|
+
version: "22.2.0-next.4",
|
|
325
325
|
ngImport: i0,
|
|
326
326
|
type: MenuItem,
|
|
327
327
|
decorators: [{
|
|
@@ -356,7 +356,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
356
356
|
args: [{
|
|
357
357
|
isSignal: true,
|
|
358
358
|
alias: "value",
|
|
359
|
-
required:
|
|
359
|
+
required: false
|
|
360
360
|
}]
|
|
361
361
|
}],
|
|
362
362
|
disabled: [{
|
|
@@ -459,7 +459,7 @@ class MenuBar {
|
|
|
459
459
|
}
|
|
460
460
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
461
461
|
minVersion: "12.0.0",
|
|
462
|
-
version: "22.2.0-next.
|
|
462
|
+
version: "22.2.0-next.4",
|
|
463
463
|
ngImport: i0,
|
|
464
464
|
type: MenuBar,
|
|
465
465
|
deps: [],
|
|
@@ -467,7 +467,7 @@ class MenuBar {
|
|
|
467
467
|
});
|
|
468
468
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
469
469
|
minVersion: "17.1.0",
|
|
470
|
-
version: "22.2.0-next.
|
|
470
|
+
version: "22.2.0-next.4",
|
|
471
471
|
type: MenuBar,
|
|
472
472
|
isStandalone: true,
|
|
473
473
|
selector: "[ngMenuBar]",
|
|
@@ -539,7 +539,7 @@ class MenuBar {
|
|
|
539
539
|
}
|
|
540
540
|
i0.ɵɵngDeclareClassMetadata({
|
|
541
541
|
minVersion: "12.0.0",
|
|
542
|
-
version: "22.2.0-next.
|
|
542
|
+
version: "22.2.0-next.4",
|
|
543
543
|
ngImport: i0,
|
|
544
544
|
type: MenuBar,
|
|
545
545
|
decorators: [{
|
|
@@ -724,7 +724,7 @@ class Menu {
|
|
|
724
724
|
}
|
|
725
725
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
726
726
|
minVersion: "12.0.0",
|
|
727
|
-
version: "22.2.0-next.
|
|
727
|
+
version: "22.2.0-next.4",
|
|
728
728
|
ngImport: i0,
|
|
729
729
|
type: Menu,
|
|
730
730
|
deps: [],
|
|
@@ -732,7 +732,7 @@ class Menu {
|
|
|
732
732
|
});
|
|
733
733
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
734
734
|
minVersion: "17.1.0",
|
|
735
|
-
version: "22.2.0-next.
|
|
735
|
+
version: "22.2.0-next.4",
|
|
736
736
|
type: Menu,
|
|
737
737
|
isStandalone: true,
|
|
738
738
|
selector: "[ngMenu]",
|
|
@@ -816,7 +816,7 @@ class Menu {
|
|
|
816
816
|
}
|
|
817
817
|
i0.ɵɵngDeclareClassMetadata({
|
|
818
818
|
minVersion: "12.0.0",
|
|
819
|
-
version: "22.2.0-next.
|
|
819
|
+
version: "22.2.0-next.4",
|
|
820
820
|
ngImport: i0,
|
|
821
821
|
type: Menu,
|
|
822
822
|
decorators: [{
|
|
@@ -907,7 +907,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
907
907
|
class MenuContent {
|
|
908
908
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
909
909
|
minVersion: "12.0.0",
|
|
910
|
-
version: "22.2.0-next.
|
|
910
|
+
version: "22.2.0-next.4",
|
|
911
911
|
ngImport: i0,
|
|
912
912
|
type: MenuContent,
|
|
913
913
|
deps: [],
|
|
@@ -915,7 +915,7 @@ class MenuContent {
|
|
|
915
915
|
});
|
|
916
916
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
917
917
|
minVersion: "14.0.0",
|
|
918
|
-
version: "22.2.0-next.
|
|
918
|
+
version: "22.2.0-next.4",
|
|
919
919
|
type: MenuContent,
|
|
920
920
|
isStandalone: true,
|
|
921
921
|
selector: "ng-template[ngMenuContent]",
|
|
@@ -928,7 +928,7 @@ class MenuContent {
|
|
|
928
928
|
}
|
|
929
929
|
i0.ɵɵngDeclareClassMetadata({
|
|
930
930
|
minVersion: "12.0.0",
|
|
931
|
-
version: "22.2.0-next.
|
|
931
|
+
version: "22.2.0-next.4",
|
|
932
932
|
ngImport: i0,
|
|
933
933
|
type: MenuContent,
|
|
934
934
|
decorators: [{
|