@angular/aria 22.0.0 → 22.0.1
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/_tabs-chunk.mjs +1 -1
- package/fesm2022/_tree-chunk.mjs +2 -2
- package/fesm2022/_tree-chunk.mjs.map +1 -1
- package/fesm2022/_violations-chunk.mjs +2 -2
- package/fesm2022/_violations-chunk.mjs.map +1 -1
- package/fesm2022/accordion.mjs +12 -12
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/aria.mjs +1 -1
- package/fesm2022/aria.mjs.map +1 -1
- package/fesm2022/combobox.mjs +9 -9
- package/fesm2022/grid.mjs +12 -12
- package/fesm2022/grid.mjs.map +1 -1
- package/fesm2022/listbox.mjs +6 -6
- package/fesm2022/menu.mjs +15 -15
- package/fesm2022/private.mjs +6 -5
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/tabs.mjs +15 -15
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +9 -9
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +9 -9
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-content.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-panel.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-group.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-trigger.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 {Directive} from '@angular/core';\nimport {DeferredContent} from '../private';\n\n/**\n * A structural directive that provides a mechanism for lazily rendering the content for an\n * `ngAccordionPanel`.\n *\n * This directive should be applied to an `ng-template` inside an `ngAccordionPanel`.\n * It allows the content of the panel to be lazily rendered, improving performance\n * by only creating the content when the panel is first expanded.\n *\n * ```html\n * <div ngAccordionPanel>\n * <ng-template ngAccordionContent>\n * <p>This is the content that will be displayed inside the panel.</p>\n * </ng-template>\n * </div>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: 'ng-template[ngAccordionContent]',\n hostDirectives: [DeferredContent],\n})\nexport class AccordionContent {}\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 Directive,\n ElementRef,\n afterRenderEffect,\n computed,\n contentChild,\n inject,\n input,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {DeferredContentAware, AccordionTriggerPattern, reportViolations} from '../private';\nimport {AccordionContent} from './accordion-content';\n\n/**\n * The content panel of an accordion item that is conditionally visible.\n *\n * This directive is a container for the content that is shown or hidden. It should\n * expose a template reference that will be used by the corresponding `ngAccordionTrigger`.\n * The content within the panel should be provided using an `ng-template` with the\n * `ngAccordionContent` directive so that the content is not rendered on the page until the trigger\n * is expanded. It applies `role=\"region\"` for accessibility and uses the `inert` attribute to hide\n * its content from assistive technologies when not visible.\n *\n * ```html\n * <div ngAccordionPanel #panel=\"ngAccordionPanel\">\n * <ng-template ngAccordionContent>\n * <p>This content is lazily rendered and will be shown when the panel is expanded.</p>\n * </ng-template>\n * </div>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: '[ngAccordionPanel]',\n exportAs: 'ngAccordionPanel',\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n host: {\n 'role': 'region',\n '[attr.id]': 'id()',\n '[attr.aria-labelledby]': '_pattern?.id()',\n '[attr.inert]': '!visible() ? true : null',\n },\n})\nexport class AccordionPanel {\n /** A reference to the trigger element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the trigger element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware);\n\n private readonly _accordionContent = contentChild(AccordionContent);\n\n /** A global unique identifier for the panel. */\n readonly id = input(inject(_IdGenerator).getId('ng-accordion-panel-', true));\n\n /** Whether the accordion panel is visible. True if the associated trigger is expanded. */\n readonly visible = computed(() => this._pattern?.expanded() === true);\n\n /**\n * The pattern for the accordion trigger that controls this panel.\n * This is set by the trigger when it initializes.\n * There is no need for a panel pattern, as the trigger has all the necessary logic.\n */\n _pattern?: AccordionTriggerPattern;\n\n constructor() {\n // Connect the panel's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect({\n write: () => {\n this._deferredContentAware.contentVisible.set(this.visible());\n },\n });\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n const violations: string[] = [];\n\n if (!this._accordionContent()) {\n violations.push('ngAccordionPanel must have an ngAccordionContent to render.');\n }\n if (!this._pattern) {\n violations.push('ngAccordionPanel must have an ngAccordionTrigger to control it.');\n }\n\n reportViolations(violations, this.element);\n },\n });\n }\n }\n\n /** Expands this item. */\n expand() {\n this._pattern?.open();\n }\n\n /** Collapses this item. */\n collapse() {\n this._pattern?.close();\n }\n\n /** Toggles the expansion state of this item. */\n toggle() {\n this._pattern?.toggle();\n }\n}\n","/**\n * @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 {AccordionGroup} from './accordion-group';\n\n/** Token used to expose the accordion group. */\nexport const ACCORDION_GROUP = new InjectionToken<AccordionGroup>('ACCORDION_GROUP');\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 Directive,\n ElementRef,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n afterNextRender,\n afterRenderEffect,\n OnDestroy,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {AccordionGroupPattern, SortedCollection, reportViolations} from '../private';\nimport {ACCORDION_GROUP} from './accordion-tokens';\nimport {AccordionTrigger} from './accordion-trigger';\n\n/**\n * A container for a group of accordion items. It manages the overall state and\n * interactions of the accordion, such as keyboard navigation and expansion mode.\n *\n * The `ngAccordionGroup` serves as the root of a group of accordion triggers and panels,\n * coordinating the behavior of the `ngAccordionTrigger` and `ngAccordionPanel` elements within it.\n * It supports both single and multiple expansion modes.\n *\n * ```html\n * <div ngAccordionGroup [multiExpandable]=\"true\">\n * <div class=\"accordion-item\">\n * <h3>\n * <button ngAccordionTrigger [panel]=\"panel1\">Item 1</button>\n * </h3>\n * <div ngAccordionPanel #panel1=\"ngAccordionPanel\">\n * <ng-template ngAccordionContent>\n * <p>Content for Item 1.</p>\n * </ng-template>\n * </div>\n * </div>\n * <div class=\"accordion-item\">\n * <h3>\n * <button ngAccordionTrigger [panel]=\"panel2\">Item 2</button>\n * </h3>\n * <div ngAccordionPanel #panel2=\"ngAccordionPanel\">\n * <ng-template ngAccordionContent>\n * <p>Content for Item 2.</p>\n * </ng-template>\n * </div>\n * </div>\n * </div>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: '[ngAccordionGroup]',\n exportAs: 'ngAccordionGroup',\n host: {\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocus($event)',\n },\n providers: [{provide: ACCORDION_GROUP, useExisting: AccordionGroup}],\n})\nexport class AccordionGroup implements OnDestroy {\n /** A reference to the group element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the group element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The collection of AccordionTriggers. */\n readonly _collection = new SortedCollection<AccordionTrigger>();\n\n /** The corresponding patterns for the accordion triggers. */\n private readonly _triggerPatterns = computed(() => {\n return this._collection.orderedItems().map(t => t._pattern);\n });\n\n /** The text direction (ltr or rtl). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the entire accordion group is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether multiple accordion items can be expanded simultaneously. */\n readonly multiExpandable = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** Whether keyboard navigation should wrap around from the last item to the first, and vice-versa. */\n readonly wrap = input(false, {transform: booleanAttribute});\n\n /** The UI pattern instance for this accordion group. */\n readonly _pattern: AccordionGroupPattern = new AccordionGroupPattern({\n ...this,\n element: () => this.element,\n activeItem: signal(undefined),\n items: this._triggerPatterns,\n orientation: () => 'vertical',\n });\n\n constructor() {\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Expands all accordion panels if multi-expandable. */\n expandAll() {\n this._pattern.expandAll();\n }\n\n /** Collapses all accordion panels. */\n collapseAll() {\n this._pattern.collapseAll();\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 Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n afterRenderEffect,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {AccordionTriggerPattern, reportViolations} from '../private';\nimport {ACCORDION_GROUP} from './accordion-tokens';\nimport {AccordionPanel} from './accordion-panel';\n\n/**\n * The trigger that toggles the visibility of its associated `ngAccordionPanel`.\n *\n * This directive requires the `panel` input be set to the template reference of the `ngAccordionPanel`\n * it controls. When clicked, it will expand or collapse the panel. It also handles keyboard\n * interactions for navigation within the `ngAccordionGroup`. It applies `role=\"button\"` and manages\n * `aria-expanded`, `aria-controls`, and `aria-disabled` attributes for accessibility.\n * The `disabled` input can be used to disable the trigger.\n *\n * ```html\n * <button ngAccordionTrigger [panel]=\"panel\">\n * Accordion Trigger Text\n * </button>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: '[ngAccordionTrigger]',\n exportAs: 'ngAccordionTrigger',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'button',\n '[id]': 'id()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.controls()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.disabled]': '_pattern.hardDisabled() ? true : null',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class AccordionTrigger implements OnInit, OnDestroy {\n /** A reference to the trigger element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the trigger element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The parent AccordionGroup. */\n private readonly _accordionGroup = inject(ACCORDION_GROUP);\n\n /** The associated AccordionPanel. */\n readonly panel = input.required<AccordionPanel>();\n\n /** The unique identifier for the trigger. */\n readonly id = input(inject(_IdGenerator).getId('ng-accordion-trigger-', true));\n\n /** The unique identifier for the corresponding trigger panel. */\n readonly panelId = computed(() => this.panel().id());\n\n /** Whether the trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the corresponding panel is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Whether the trigger is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The UI pattern instance for this trigger. */\n _pattern!: AccordionTriggerPattern;\n\n constructor() {\n // Automatically prevent form submission.\n if (this.element.tagName === 'BUTTON' && !this.element.hasAttribute('type')) {\n this.element.setAttribute('type', 'button');\n }\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n const violations: string[] = [];\n\n if (this.panel() && this.panel().element.contains(this.element)) {\n violations.push(\n 'ngAccordionTrigger must not be nested inside its controlled ngAccordionPanel, otherwise it will become unreachable when collapsed.',\n );\n }\n if (this.panel() && (this.panel() as any)._pattern !== this._pattern) {\n violations.push(\n 'ngAccordionPanel is already controlled by another ngAccordionTrigger.',\n );\n }\n\n reportViolations(violations, this.element);\n },\n });\n }\n }\n\n ngOnInit() {\n this._pattern = new AccordionTriggerPattern({\n ...this,\n element: () => this.element,\n accordionGroup: () => this._accordionGroup._pattern,\n accordionPanelId: this.panelId,\n });\n\n this.panel()._pattern = this._pattern;\n\n this._accordionGroup._collection.register(this);\n }\n\n ngOnDestroy() {\n this.panel()._pattern = undefined;\n\n this._accordionGroup._collection.unregister(this);\n }\n\n /** Expands this item. */\n expand() {\n this._pattern.open();\n }\n\n /** Collapses this item. */\n collapse() {\n this._pattern.close();\n }\n\n /** Toggles the expansion state of this item. */\n toggle() {\n this._pattern.toggle();\n }\n}\n"],"names":["AccordionContent","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","hostDirectives","directive","i1","ngImport","decorators","args","DeferredContent","AccordionPanel","_elementRef","inject","ElementRef","element","nativeElement","_deferredContentAware","DeferredContentAware","_accordionContent","contentChild","id","input","_IdGenerator","getId","visible","computed","_pattern","expanded","constructor","afterRenderEffect","write","contentVisible","set","ngDevMode","read","violations","push","reportViolations","expand","open","collapse","close","toggle","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","descendants","isSignal","exportAs","inputs","host","Input","alias","required","ACCORDION_GROUP","InjectionToken","AccordionGroup","_collection","SortedCollection","_triggerPatterns","orderedItems","map","t","textDirection","Directionality","valueSignal","disabled","transform","booleanAttribute","multiExpandable","softDisabled","wrap","AccordionGroupPattern","activeItem","signal","undefined","items","orientation","afterNextRender","startObserving","validate","ngOnDestroy","stopObserving","expandAll","collapseAll","classPropertyName","publicName","isRequired","transformFunction","listeners","providers","provide","useExisting","AccordionTrigger","_accordionGroup","panel","panelId","model","active","tagName","hasAttribute","setAttribute","contains","ngOnInit","AccordionTriggerPattern","accordionGroup","accordionPanelId","register","unregister","outputs","attributes","properties"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accordion.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-content.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-panel.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-tokens.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-group.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/aria/accordion/accordion-trigger.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 {Directive} from '@angular/core';\nimport {DeferredContent} from '../private';\n\n/**\n * A structural directive that provides a mechanism for lazily rendering the content for an\n * `ngAccordionPanel`.\n *\n * This directive should be applied to an `ng-template` inside an `ngAccordionPanel`.\n * It allows the content of the panel to be lazily rendered, improving performance\n * by only creating the content when the panel is first expanded.\n *\n * ```html\n * <div ngAccordionPanel>\n * <ng-template ngAccordionContent>\n * <p>This is the content that will be displayed inside the panel.</p>\n * </ng-template>\n * </div>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: 'ng-template[ngAccordionContent]',\n hostDirectives: [DeferredContent],\n})\nexport class AccordionContent {}\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 Directive,\n ElementRef,\n afterRenderEffect,\n computed,\n contentChild,\n inject,\n input,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {DeferredContentAware, AccordionTriggerPattern, reportViolations} from '../private';\nimport {AccordionContent} from './accordion-content';\n\n/**\n * The content panel of an accordion item that is conditionally visible.\n *\n * This directive is a container for the content that is shown or hidden. It should\n * expose a template reference that will be used by the corresponding `ngAccordionTrigger`.\n * The content within the panel should be provided using an `ng-template` with the\n * `ngAccordionContent` directive so that the content is not rendered on the page until the trigger\n * is expanded. It applies `role=\"region\"` for accessibility and uses the `inert` attribute to hide\n * its content from assistive technologies when not visible.\n *\n * ```html\n * <div ngAccordionPanel #panel=\"ngAccordionPanel\">\n * <ng-template ngAccordionContent>\n * <p>This content is lazily rendered and will be shown when the panel is expanded.</p>\n * </ng-template>\n * </div>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: '[ngAccordionPanel]',\n exportAs: 'ngAccordionPanel',\n hostDirectives: [\n {\n directive: DeferredContentAware,\n inputs: ['preserveContent'],\n },\n ],\n host: {\n 'role': 'region',\n '[attr.id]': 'id()',\n '[attr.aria-labelledby]': '_pattern?.id()',\n '[attr.inert]': '!visible() ? true : null',\n },\n})\nexport class AccordionPanel {\n /** A reference to the trigger element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the trigger element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The DeferredContentAware host directive. */\n private readonly _deferredContentAware = inject(DeferredContentAware);\n\n private readonly _accordionContent = contentChild(AccordionContent);\n\n /** A global unique identifier for the panel. */\n readonly id = input(inject(_IdGenerator).getId('ng-accordion-panel-', true));\n\n /** Whether the accordion panel is visible. True if the associated trigger is expanded. */\n readonly visible = computed(() => this._pattern?.expanded() === true);\n\n /**\n * The pattern for the accordion trigger that controls this panel.\n * This is set by the trigger when it initializes.\n * There is no need for a panel pattern, as the trigger has all the necessary logic.\n */\n _pattern?: AccordionTriggerPattern;\n\n constructor() {\n // Connect the panel's hidden state to the DeferredContentAware's visibility.\n afterRenderEffect({\n write: () => {\n this._deferredContentAware.contentVisible.set(this.visible());\n },\n });\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n const violations: string[] = [];\n\n if (!this._accordionContent()) {\n violations.push('ngAccordionPanel must have an ngAccordionContent to render.');\n }\n if (!this._pattern) {\n violations.push('ngAccordionPanel must have an ngAccordionTrigger to control it.');\n }\n\n reportViolations(violations, this.element);\n },\n });\n }\n }\n\n /** Expands this item. */\n expand() {\n this._pattern?.open();\n }\n\n /** Collapses this item. */\n collapse() {\n this._pattern?.close();\n }\n\n /** Toggles the expansion state of this item. */\n toggle() {\n this._pattern?.toggle();\n }\n}\n","/**\n * @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 {AccordionGroup} from './accordion-group';\n\n/** Token used to expose the accordion group. */\nexport const ACCORDION_GROUP = new InjectionToken<AccordionGroup>('ACCORDION_GROUP');\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 Directive,\n ElementRef,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n afterNextRender,\n afterRenderEffect,\n OnDestroy,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {AccordionGroupPattern, SortedCollection, reportViolations} from '../private';\nimport {ACCORDION_GROUP} from './accordion-tokens';\nimport {AccordionTrigger} from './accordion-trigger';\n\n/**\n * A container for a group of accordion items. It manages the overall state and\n * interactions of the accordion, such as keyboard navigation and expansion mode.\n *\n * The `ngAccordionGroup` serves as the root of a group of accordion triggers and panels,\n * coordinating the behavior of the `ngAccordionTrigger` and `ngAccordionPanel` elements within it.\n * It supports both single and multiple expansion modes.\n *\n * ```html\n * <div ngAccordionGroup [multiExpandable]=\"true\">\n * <div class=\"accordion-item\">\n * <h3>\n * <button ngAccordionTrigger [panel]=\"panel1\">Item 1</button>\n * </h3>\n * <div ngAccordionPanel #panel1=\"ngAccordionPanel\">\n * <ng-template ngAccordionContent>\n * <p>Content for Item 1.</p>\n * </ng-template>\n * </div>\n * </div>\n * <div class=\"accordion-item\">\n * <h3>\n * <button ngAccordionTrigger [panel]=\"panel2\">Item 2</button>\n * </h3>\n * <div ngAccordionPanel #panel2=\"ngAccordionPanel\">\n * <ng-template ngAccordionContent>\n * <p>Content for Item 2.</p>\n * </ng-template>\n * </div>\n * </div>\n * </div>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: '[ngAccordionGroup]',\n exportAs: 'ngAccordionGroup',\n host: {\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocus($event)',\n },\n providers: [{provide: ACCORDION_GROUP, useExisting: AccordionGroup}],\n})\nexport class AccordionGroup implements OnDestroy {\n /** A reference to the group element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the group element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The collection of AccordionTriggers. */\n readonly _collection = new SortedCollection<AccordionTrigger>();\n\n /** The corresponding patterns for the accordion triggers. */\n private readonly _triggerPatterns = computed(() => {\n return this._collection.orderedItems().map(t => t._pattern);\n });\n\n /** The text direction (ltr or rtl). */\n readonly textDirection = inject(Directionality).valueSignal;\n\n /** Whether the entire accordion group is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether multiple accordion items can be expanded simultaneously. */\n readonly multiExpandable = input(true, {transform: booleanAttribute});\n\n /**\n * Whether to allow disabled items to receive focus. When `true`, disabled items are\n * focusable but not interactive. When `false`, disabled items are skipped during navigation.\n */\n readonly softDisabled = input(true, {transform: booleanAttribute});\n\n /** Whether keyboard navigation should wrap around from the last item to the first, and vice-versa. */\n readonly wrap = input(false, {transform: booleanAttribute});\n\n /** The UI pattern instance for this accordion group. */\n readonly _pattern: AccordionGroupPattern = new AccordionGroupPattern({\n ...this,\n element: () => this.element,\n activeItem: signal(undefined),\n items: this._triggerPatterns,\n orientation: () => 'vertical',\n });\n\n constructor() {\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Expands all accordion panels if multi-expandable. */\n expandAll() {\n this._pattern.expandAll();\n }\n\n /** Collapses all accordion panels. */\n collapseAll() {\n this._pattern.collapseAll();\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 Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n booleanAttribute,\n computed,\n inject,\n input,\n model,\n afterRenderEffect,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {AccordionTriggerPattern, reportViolations} from '../private';\nimport {ACCORDION_GROUP} from './accordion-tokens';\nimport {AccordionPanel} from './accordion-panel';\n\n/**\n * The trigger that toggles the visibility of its associated `ngAccordionPanel`.\n *\n * This directive requires the `panel` input be set to the template reference of the `ngAccordionPanel`\n * it controls. When clicked, it will expand or collapse the panel. It also handles keyboard\n * interactions for navigation within the `ngAccordionGroup`. It applies `role=\"button\"` and manages\n * `aria-expanded`, `aria-controls`, and `aria-disabled` attributes for accessibility.\n * The `disabled` input can be used to disable the trigger.\n *\n * ```html\n * <button ngAccordionTrigger [panel]=\"panel\">\n * Accordion Trigger Text\n * </button>\n * ```\n *\n * @see [Accordion](guide/aria/accordion)\n */\n@Directive({\n selector: '[ngAccordionTrigger]',\n exportAs: 'ngAccordionTrigger',\n host: {\n '[attr.data-active]': 'active()',\n 'role': 'button',\n '[id]': 'id()',\n '[attr.aria-expanded]': 'expanded()',\n '[attr.aria-controls]': '_pattern.controls()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.disabled]': '_pattern.hardDisabled() ? true : null',\n '[attr.tabindex]': '_pattern.tabIndex()',\n },\n})\nexport class AccordionTrigger implements OnInit, OnDestroy {\n /** A reference to the trigger element. */\n private readonly _elementRef = inject(ElementRef);\n\n /** A reference to the trigger element. */\n readonly element = this._elementRef.nativeElement as HTMLElement;\n\n /** The parent AccordionGroup. */\n private readonly _accordionGroup = inject(ACCORDION_GROUP);\n\n /** The associated AccordionPanel. */\n readonly panel = input.required<AccordionPanel>();\n\n /** The unique identifier for the trigger. */\n readonly id = input(inject(_IdGenerator).getId('ng-accordion-trigger-', true));\n\n /** The unique identifier for the corresponding trigger panel. */\n readonly panelId = computed(() => this.panel().id());\n\n /** Whether the trigger is disabled. */\n readonly disabled = input(false, {transform: booleanAttribute});\n\n /** Whether the corresponding panel is expanded. */\n readonly expanded = model<boolean>(false);\n\n /** Whether the trigger is active. */\n readonly active = computed(() => this._pattern.active());\n\n /** The UI pattern instance for this trigger. */\n _pattern!: AccordionTriggerPattern;\n\n constructor() {\n // Automatically prevent form submission.\n if (this.element.tagName === 'BUTTON' && !this.element.hasAttribute('type')) {\n this.element.setAttribute('type', 'button');\n }\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n const violations: string[] = [];\n\n if (this.panel() && this.panel().element.contains(this.element)) {\n violations.push(\n 'ngAccordionTrigger must not be nested inside its controlled ngAccordionPanel, otherwise it will become unreachable when collapsed.',\n );\n }\n if (this.panel() && (this.panel() as any)._pattern !== this._pattern) {\n violations.push(\n 'ngAccordionPanel is already controlled by another ngAccordionTrigger.',\n );\n }\n\n reportViolations(violations, this.element);\n },\n });\n }\n }\n\n ngOnInit() {\n this._pattern = new AccordionTriggerPattern({\n ...this,\n element: () => this.element,\n accordionGroup: () => this._accordionGroup._pattern,\n accordionPanelId: this.panelId,\n });\n\n this.panel()._pattern = this._pattern;\n\n this._accordionGroup._collection.register(this);\n }\n\n ngOnDestroy() {\n this.panel()._pattern = undefined;\n\n this._accordionGroup._collection.unregister(this);\n }\n\n /** Expands this item. */\n expand() {\n this._pattern.open();\n }\n\n /** Collapses this item. */\n collapse() {\n this._pattern.close();\n }\n\n /** Toggles the expansion state of this item. */\n toggle() {\n this._pattern.toggle();\n }\n}\n"],"names":["AccordionContent","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","hostDirectives","directive","i1","ngImport","decorators","args","DeferredContent","AccordionPanel","_elementRef","inject","ElementRef","element","nativeElement","_deferredContentAware","DeferredContentAware","_accordionContent","contentChild","id","input","_IdGenerator","getId","visible","computed","_pattern","expanded","constructor","afterRenderEffect","write","contentVisible","set","ngDevMode","read","violations","push","reportViolations","expand","open","collapse","close","toggle","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","descendants","isSignal","exportAs","inputs","host","Input","alias","required","ACCORDION_GROUP","InjectionToken","AccordionGroup","_collection","SortedCollection","_triggerPatterns","orderedItems","map","t","textDirection","Directionality","valueSignal","disabled","transform","booleanAttribute","multiExpandable","softDisabled","wrap","AccordionGroupPattern","activeItem","signal","undefined","items","orientation","afterNextRender","startObserving","validate","ngOnDestroy","stopObserving","expandAll","collapseAll","classPropertyName","publicName","isRequired","transformFunction","listeners","providers","provide","useExisting","AccordionTrigger","_accordionGroup","panel","panelId","model","active","tagName","hasAttribute","setAttribute","contains","ngOnInit","AccordionTriggerPattern","accordionGroup","accordionPanelId","register","unregister","outputs","attributes","properties"],"mappings":"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"}
|
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.0.
|
|
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.0.1');\n"],"names":["VERSION","Version"],"mappings":";;MAWaA,OAAO,GAAG,IAAIC,OAAO,CAAC,mBAAmB;;;;"}
|
package/fesm2022/combobox.mjs
CHANGED
|
@@ -80,7 +80,7 @@ class Combobox extends DeferredContentAware {
|
|
|
80
80
|
}
|
|
81
81
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
82
82
|
minVersion: "12.0.0",
|
|
83
|
-
version: "22.0.0
|
|
83
|
+
version: "22.0.0",
|
|
84
84
|
ngImport: i0,
|
|
85
85
|
type: Combobox,
|
|
86
86
|
deps: [],
|
|
@@ -88,7 +88,7 @@ class Combobox extends DeferredContentAware {
|
|
|
88
88
|
});
|
|
89
89
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
90
90
|
minVersion: "17.1.0",
|
|
91
|
-
version: "22.0.0
|
|
91
|
+
version: "22.0.0",
|
|
92
92
|
type: Combobox,
|
|
93
93
|
isStandalone: true,
|
|
94
94
|
selector: "[ngCombobox]",
|
|
@@ -177,7 +177,7 @@ class Combobox extends DeferredContentAware {
|
|
|
177
177
|
}
|
|
178
178
|
i0.ɵɵngDeclareClassMetadata({
|
|
179
179
|
minVersion: "12.0.0",
|
|
180
|
-
version: "22.0.0
|
|
180
|
+
version: "22.0.0",
|
|
181
181
|
ngImport: i0,
|
|
182
182
|
type: Combobox,
|
|
183
183
|
decorators: [{
|
|
@@ -311,7 +311,7 @@ class ComboboxPopup {
|
|
|
311
311
|
}
|
|
312
312
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
313
313
|
minVersion: "12.0.0",
|
|
314
|
-
version: "22.0.0
|
|
314
|
+
version: "22.0.0",
|
|
315
315
|
ngImport: i0,
|
|
316
316
|
type: ComboboxPopup,
|
|
317
317
|
deps: [],
|
|
@@ -319,7 +319,7 @@ class ComboboxPopup {
|
|
|
319
319
|
});
|
|
320
320
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
321
321
|
minVersion: "17.1.0",
|
|
322
|
-
version: "22.0.0
|
|
322
|
+
version: "22.0.0",
|
|
323
323
|
type: ComboboxPopup,
|
|
324
324
|
isStandalone: true,
|
|
325
325
|
selector: "ng-template[ngComboboxPopup]",
|
|
@@ -352,7 +352,7 @@ class ComboboxPopup {
|
|
|
352
352
|
}
|
|
353
353
|
i0.ɵɵngDeclareClassMetadata({
|
|
354
354
|
minVersion: "12.0.0",
|
|
355
|
-
version: "22.0.0
|
|
355
|
+
version: "22.0.0",
|
|
356
356
|
ngImport: i0,
|
|
357
357
|
type: ComboboxPopup,
|
|
358
358
|
decorators: [{
|
|
@@ -428,7 +428,7 @@ class ComboboxWidget {
|
|
|
428
428
|
}
|
|
429
429
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
430
430
|
minVersion: "12.0.0",
|
|
431
|
-
version: "22.0.0
|
|
431
|
+
version: "22.0.0",
|
|
432
432
|
ngImport: i0,
|
|
433
433
|
type: ComboboxWidget,
|
|
434
434
|
deps: [],
|
|
@@ -436,7 +436,7 @@ class ComboboxWidget {
|
|
|
436
436
|
});
|
|
437
437
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
438
438
|
minVersion: "17.1.0",
|
|
439
|
-
version: "22.0.0
|
|
439
|
+
version: "22.0.0",
|
|
440
440
|
type: ComboboxWidget,
|
|
441
441
|
isStandalone: true,
|
|
442
442
|
selector: "[ngComboboxWidget]",
|
|
@@ -461,7 +461,7 @@ class ComboboxWidget {
|
|
|
461
461
|
}
|
|
462
462
|
i0.ɵɵngDeclareClassMetadata({
|
|
463
463
|
minVersion: "12.0.0",
|
|
464
|
-
version: "22.0.0
|
|
464
|
+
version: "22.0.0",
|
|
465
465
|
ngImport: i0,
|
|
466
466
|
type: ComboboxWidget,
|
|
467
467
|
decorators: [{
|
package/fesm2022/grid.mjs
CHANGED
|
@@ -123,7 +123,7 @@ class Grid {
|
|
|
123
123
|
}
|
|
124
124
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
125
125
|
minVersion: "12.0.0",
|
|
126
|
-
version: "22.0.0
|
|
126
|
+
version: "22.0.0",
|
|
127
127
|
ngImport: i0,
|
|
128
128
|
type: Grid,
|
|
129
129
|
deps: [],
|
|
@@ -131,7 +131,7 @@ class Grid {
|
|
|
131
131
|
});
|
|
132
132
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
133
133
|
minVersion: "17.1.0",
|
|
134
|
-
version: "22.0.0
|
|
134
|
+
version: "22.0.0",
|
|
135
135
|
type: Grid,
|
|
136
136
|
isStandalone: true,
|
|
137
137
|
selector: "[ngGrid]",
|
|
@@ -227,7 +227,7 @@ class Grid {
|
|
|
227
227
|
}
|
|
228
228
|
i0.ɵɵngDeclareClassMetadata({
|
|
229
229
|
minVersion: "12.0.0",
|
|
230
|
-
version: "22.0.0
|
|
230
|
+
version: "22.0.0",
|
|
231
231
|
ngImport: i0,
|
|
232
232
|
type: Grid,
|
|
233
233
|
decorators: [{
|
|
@@ -385,7 +385,7 @@ class GridCellWidget {
|
|
|
385
385
|
}
|
|
386
386
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
387
387
|
minVersion: "12.0.0",
|
|
388
|
-
version: "22.0.0
|
|
388
|
+
version: "22.0.0",
|
|
389
389
|
ngImport: i0,
|
|
390
390
|
type: GridCellWidget,
|
|
391
391
|
deps: [],
|
|
@@ -393,7 +393,7 @@ class GridCellWidget {
|
|
|
393
393
|
});
|
|
394
394
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
395
395
|
minVersion: "17.1.0",
|
|
396
|
-
version: "22.0.0
|
|
396
|
+
version: "22.0.0",
|
|
397
397
|
type: GridCellWidget,
|
|
398
398
|
isStandalone: true,
|
|
399
399
|
selector: "[ngGridCellWidget]",
|
|
@@ -452,7 +452,7 @@ class GridCellWidget {
|
|
|
452
452
|
}
|
|
453
453
|
i0.ɵɵngDeclareClassMetadata({
|
|
454
454
|
minVersion: "12.0.0",
|
|
455
|
-
version: "22.0.0
|
|
455
|
+
version: "22.0.0",
|
|
456
456
|
ngImport: i0,
|
|
457
457
|
type: GridCellWidget,
|
|
458
458
|
decorators: [{
|
|
@@ -635,7 +635,7 @@ class GridCell {
|
|
|
635
635
|
}
|
|
636
636
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
637
637
|
minVersion: "12.0.0",
|
|
638
|
-
version: "22.0.0
|
|
638
|
+
version: "22.0.0",
|
|
639
639
|
ngImport: i0,
|
|
640
640
|
type: GridCell,
|
|
641
641
|
deps: [],
|
|
@@ -643,7 +643,7 @@ class GridCell {
|
|
|
643
643
|
});
|
|
644
644
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
645
645
|
minVersion: "17.2.0",
|
|
646
|
-
version: "22.0.0
|
|
646
|
+
version: "22.0.0",
|
|
647
647
|
type: GridCell,
|
|
648
648
|
isStandalone: true,
|
|
649
649
|
selector: "[ngGridCell]",
|
|
@@ -739,7 +739,7 @@ class GridCell {
|
|
|
739
739
|
}
|
|
740
740
|
i0.ɵɵngDeclareClassMetadata({
|
|
741
741
|
minVersion: "12.0.0",
|
|
742
|
-
version: "22.0.0
|
|
742
|
+
version: "22.0.0",
|
|
743
743
|
ngImport: i0,
|
|
744
744
|
type: GridCell,
|
|
745
745
|
decorators: [{
|
|
@@ -883,7 +883,7 @@ class GridRow {
|
|
|
883
883
|
}
|
|
884
884
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
885
885
|
minVersion: "12.0.0",
|
|
886
|
-
version: "22.0.0
|
|
886
|
+
version: "22.0.0",
|
|
887
887
|
ngImport: i0,
|
|
888
888
|
type: GridRow,
|
|
889
889
|
deps: [],
|
|
@@ -891,7 +891,7 @@ class GridRow {
|
|
|
891
891
|
});
|
|
892
892
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
893
893
|
minVersion: "17.1.0",
|
|
894
|
-
version: "22.0.0
|
|
894
|
+
version: "22.0.0",
|
|
895
895
|
type: GridRow,
|
|
896
896
|
isStandalone: true,
|
|
897
897
|
selector: "[ngGridRow]",
|
|
@@ -922,7 +922,7 @@ class GridRow {
|
|
|
922
922
|
}
|
|
923
923
|
i0.ɵɵngDeclareClassMetadata({
|
|
924
924
|
minVersion: "12.0.0",
|
|
925
|
-
version: "22.0.0
|
|
925
|
+
version: "22.0.0",
|
|
926
926
|
ngImport: i0,
|
|
927
927
|
type: GridRow,
|
|
928
928
|
decorators: [{
|
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';\nimport type {Grid} from './grid';\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/** Token used to expose a `Grid`. */\nexport const GRID = new InjectionToken<Grid>('GRID');\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 afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n Signal,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n GridPattern,\n GridCellPattern,\n GridRowPattern,\n SortedCollection,\n tabIndexTransform,\n reportViolations,\n} from '../private';\nimport {GridRow} from './grid-row';\nimport {GRID} 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 * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGrid]',\n exportAs: 'ngGrid',\n host: {\n 'role': 'grid',\n '[tabindex]': 'tabIndex() !== undefined ? tabIndex() : _pattern.tabIndex()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-multiselectable]': '_pattern.multiSelectable()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n providers: [{provide: GRID, useExisting: Grid}],\n})\nexport class Grid implements OnDestroy {\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 collection of rows in the grid. */\n readonly _collection = new SortedCollection<GridRow>();\n\n /** The UI patterns for the rows in the grid. */\n private readonly _rowPatterns: Signal<GridRowPattern[]> = computed(() =>\n this._collection.orderedItems().map(r => r._pattern),\n );\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 /** The tabindex of the grid. */\n readonly tabIndex = input(undefined, {\n alias: 'tabindex',\n transform: tabIndexTransform,\n });\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 /** The ID of the active descendant in the grid. */\n readonly activeDescendant = computed(() => this._pattern.activeDescendant());\n\n constructor() {\n // Use Write mode for all direct DOM focus management actions.\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n afterRenderEffect({write: () => this._pattern.resetStateEffect()});\n afterRenderEffect({write: () => this._pattern.resetFocusEffect()});\n afterRenderEffect({write: () => this._pattern.restoreFocusEffect()});\n afterRenderEffect({write: () => this._pattern.focusEffect()});\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Scrolls the active cell into view. */\n scrollActiveCellIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.activeCell()?.element().scrollIntoView(options);\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, ElementResolver} 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 * @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 '[attr.id]': 'id()',\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<ElementResolver<HTMLElement>>();\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._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 onActivate: e => this.activated.emit(e),\n onDeactivate: e => this.deactivated.emit(e),\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 write: () => this._pattern.activationEffect(),\n });\n\n afterRenderEffect({\n write: () => this._pattern.deactivationEffect(),\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 contentChild,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Signal,\n Renderer2,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {GridCellPattern, GridCellWidgetPattern} 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 * @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 implements OnInit, OnDestroy {\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 widget contained within this cell, if any. */\n private readonly _widget = contentChild(GridCellWidget, {descendants: true});\n\n /** The UI pattern for the widget in this cell. */\n private readonly _widgetPattern: Signal<GridCellWidgetPattern | undefined> = computed(\n () => this._widget()?._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 /** 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 widget: this._widgetPattern,\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', colSpan);\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 ngOnInit() {\n this._row._collection.register(this);\n }\n\n ngOnDestroy() {\n this._row._collection.unregister(this);\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 const widget = this._widgetPattern();\n\n if (!widget) return undefined;\n\n while (target) {\n if (widget.element() === target) {\n return widget;\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 afterNextRender,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n Signal,\n} from '@angular/core';\nimport {GridPattern, GridRowPattern, SortedCollection} from '../private';\nimport {GRID_ROW, GRID} from './grid-tokens';\nimport {GridCell} from './grid-cell';\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 * @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 implements OnInit, OnDestroy {\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 collection of cells in this row. */\n readonly _collection = new SortedCollection<GridCell>();\n\n /** The UI patterns for the cells in this row. */\n private readonly _cellPatterns: Signal<any[]> = computed(() =>\n this._collection.orderedItems().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 constructor() {\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnInit() {\n this._grid._collection.register(this);\n }\n\n ngOnDestroy() {\n this._grid._collection.unregister(this);\n this._collection.stopObserving();\n }\n}\n"],"names":["GRID_CELL","InjectionToken","GRID_ROW","GRID","Grid","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","_rowPatterns","computed","orderedItems","map","r","_pattern","textDirection","Directionality","valueSignal","enableSelection","input","transform","booleanAttribute","disabled","softDisabled","focusMode","rowWrap","colWrap","multi","selectionMode","tabIndex","undefined","ngDevMode","debugName","alias","tabIndexTransform","GridPattern","rows","getCell","e","_getCell","activeDescendant","constructor","afterRenderEffect","write","setDefaultStateEffect","resetStateEffect","resetFocusEffect","restoreFocusEffect","focusEffect","read","reportViolations","validate","afterNextRender","startObserving","ngOnDestroy","stopObserving","scrollActiveCellIntoView","options","block","activeCell","scrollIntoView","target","row","cell","inputs","cells","parentElement","closest","deps","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","attributes","listeners","properties","providers","provide","useExisting","exportAs","ngImport","decorators","args","GridCellWidget","active","_cell","id","_IdGenerator","getId","widgetType","focusTarget","activated","output","deactivated","tabindex","_tabIndex","GridCellWidgetPattern","onActivate","emit","onDeactivate","isActivated","activationEffect","deactivationEffect","activate","deactivate","outputs","GridCell","_renderer","Renderer2","_widget","contentChild","descendants","_widgetPattern","_row","role","rowSpan","colSpan","rowIndex","colIndex","selected","model","selectable","GridCellPattern","grid","_gridPattern","widget","getWidget","_getWidget","pattern","_toggleAttribute","toggle","anchor","ariaRowIndex","ariaColIndex","ariaSelected","ngOnInit","register","unregister","name","value","removeAttribute","setAttribute","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","ctorParameters","propDecorators","ContentChild","forwardRef","Input","required","Output","GridRow","_cellPatterns","c","_grid","GridRowPattern"],"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';\nimport type {Grid} from './grid';\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/** Token used to expose a `Grid`. */\nexport const GRID = new InjectionToken<Grid>('GRID');\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 afterRenderEffect,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n Signal,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n GridPattern,\n GridCellPattern,\n GridRowPattern,\n SortedCollection,\n tabIndexTransform,\n reportViolations,\n} from '../private';\nimport {GridRow} from './grid-row';\nimport {GRID} 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 * @see [Grid](guide/aria/grid)\n */\n@Directive({\n selector: '[ngGrid]',\n exportAs: 'ngGrid',\n host: {\n 'role': 'grid',\n '[tabindex]': 'tabIndex() !== undefined ? tabIndex() : _pattern.tabIndex()',\n '[attr.aria-disabled]': '_pattern.disabled()',\n '[attr.aria-multiselectable]': '_pattern.multiSelectable()',\n '[attr.aria-activedescendant]': '_pattern.activeDescendant()',\n '(keydown)': '_pattern.onKeydown($event)',\n '(click)': '_pattern.onClick($event)',\n '(focusin)': '_pattern.onFocusIn($event)',\n '(focusout)': '_pattern.onFocusOut($event)',\n },\n providers: [{provide: GRID, useExisting: Grid}],\n})\nexport class Grid implements OnDestroy {\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 collection of rows in the grid. */\n readonly _collection = new SortedCollection<GridRow>();\n\n /** The UI patterns for the rows in the grid. */\n private readonly _rowPatterns: Signal<GridRowPattern[]> = computed(() =>\n this._collection.orderedItems().map(r => r._pattern),\n );\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 /** The tabindex of the grid. */\n readonly tabIndex = input(undefined, {\n alias: 'tabindex',\n transform: tabIndexTransform,\n });\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 /** The ID of the active descendant in the grid. */\n readonly activeDescendant = computed(() => this._pattern.activeDescendant());\n\n constructor() {\n // Use Write mode for all direct DOM focus management actions.\n afterRenderEffect({write: () => this._pattern.setDefaultStateEffect()});\n afterRenderEffect({write: () => this._pattern.resetStateEffect()});\n afterRenderEffect({write: () => this._pattern.resetFocusEffect()});\n afterRenderEffect({write: () => this._pattern.restoreFocusEffect()});\n afterRenderEffect({write: () => this._pattern.focusEffect()});\n\n // Check for any violations after the DOM has been updated.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n afterRenderEffect({\n read: () => {\n reportViolations(this._pattern.validate(), this.element);\n },\n });\n }\n\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnDestroy() {\n this._collection.stopObserving();\n }\n\n /** Scrolls the active cell into view. */\n scrollActiveCellIntoView(options: ScrollIntoViewOptions = {block: 'nearest'}) {\n this._pattern.activeCell()?.element().scrollIntoView(options);\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, ElementResolver} 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 * @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 '[attr.id]': 'id()',\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<ElementResolver<HTMLElement>>();\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._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 onActivate: e => this.activated.emit(e),\n onDeactivate: e => this.deactivated.emit(e),\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 write: () => this._pattern.activationEffect(),\n });\n\n afterRenderEffect({\n write: () => this._pattern.deactivationEffect(),\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 contentChild,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n OnDestroy,\n OnInit,\n Signal,\n Renderer2,\n} from '@angular/core';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {GridCellPattern, GridCellWidgetPattern} 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 * @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 implements OnInit, OnDestroy {\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 widget contained within this cell, if any. */\n private readonly _widget = contentChild(GridCellWidget, {descendants: true});\n\n /** The UI pattern for the widget in this cell. */\n private readonly _widgetPattern: Signal<GridCellWidgetPattern | undefined> = computed(\n () => this._widget()?._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 /** 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 widget: this._widgetPattern,\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', colSpan);\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 ngOnInit() {\n this._row._collection.register(this);\n }\n\n ngOnDestroy() {\n this._row._collection.unregister(this);\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 const widget = this._widgetPattern();\n\n if (!widget) return undefined;\n\n while (target) {\n if (widget.element() === target) {\n return widget;\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 afterNextRender,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n Signal,\n} from '@angular/core';\nimport {GridPattern, GridRowPattern, SortedCollection} from '../private';\nimport {GRID_ROW, GRID} from './grid-tokens';\nimport {GridCell} from './grid-cell';\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 * @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 implements OnInit, OnDestroy {\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 collection of cells in this row. */\n readonly _collection = new SortedCollection<GridCell>();\n\n /** The UI patterns for the cells in this row. */\n private readonly _cellPatterns: Signal<any[]> = computed(() =>\n this._collection.orderedItems().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 constructor() {\n afterNextRender(() => {\n this._collection.startObserving(this.element);\n });\n }\n\n ngOnInit() {\n this._grid._collection.register(this);\n }\n\n ngOnDestroy() {\n this._grid._collection.unregister(this);\n this._collection.stopObserving();\n }\n}\n"],"names":["GRID_CELL","InjectionToken","GRID_ROW","GRID","Grid","_elementRef","inject","ElementRef","element","nativeElement","_collection","SortedCollection","_rowPatterns","computed","orderedItems","map","r","_pattern","textDirection","Directionality","valueSignal","enableSelection","input","transform","booleanAttribute","disabled","softDisabled","focusMode","rowWrap","colWrap","multi","selectionMode","tabIndex","undefined","ngDevMode","debugName","alias","tabIndexTransform","GridPattern","rows","getCell","e","_getCell","activeDescendant","constructor","afterRenderEffect","write","setDefaultStateEffect","resetStateEffect","resetFocusEffect","restoreFocusEffect","focusEffect","read","reportViolations","validate","afterNextRender","startObserving","ngOnDestroy","stopObserving","scrollActiveCellIntoView","options","block","activeCell","scrollIntoView","target","row","cell","inputs","cells","parentElement","closest","deps","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","attributes","listeners","properties","providers","provide","useExisting","exportAs","ngImport","decorators","args","GridCellWidget","active","_cell","id","_IdGenerator","getId","widgetType","focusTarget","activated","output","deactivated","tabindex","_tabIndex","GridCellWidgetPattern","onActivate","emit","onDeactivate","isActivated","activationEffect","deactivationEffect","activate","deactivate","outputs","GridCell","_renderer","Renderer2","_widget","contentChild","descendants","_widgetPattern","_row","role","rowSpan","colSpan","rowIndex","colIndex","selected","model","selectable","GridCellPattern","grid","_gridPattern","widget","getWidget","_getWidget","pattern","_toggleAttribute","toggle","anchor","ariaRowIndex","ariaColIndex","ariaSelected","ngOnInit","register","unregister","name","value","removeAttribute","setAttribute","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","ctorParameters","propDecorators","ContentChild","forwardRef","Input","required","Output","GridRow","_cellPatterns","c","_grid","GridRowPattern"],"mappings":"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"}
|
package/fesm2022/listbox.mjs
CHANGED
|
@@ -137,7 +137,7 @@ class Listbox {
|
|
|
137
137
|
}
|
|
138
138
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
139
139
|
minVersion: "12.0.0",
|
|
140
|
-
version: "22.0.0
|
|
140
|
+
version: "22.0.0",
|
|
141
141
|
ngImport: i0,
|
|
142
142
|
type: Listbox,
|
|
143
143
|
deps: [],
|
|
@@ -145,7 +145,7 @@ class Listbox {
|
|
|
145
145
|
});
|
|
146
146
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
147
147
|
minVersion: "17.1.0",
|
|
148
|
-
version: "22.0.0
|
|
148
|
+
version: "22.0.0",
|
|
149
149
|
type: Listbox,
|
|
150
150
|
isStandalone: true,
|
|
151
151
|
selector: "[ngListbox]",
|
|
@@ -267,7 +267,7 @@ class Listbox {
|
|
|
267
267
|
}
|
|
268
268
|
i0.ɵɵngDeclareClassMetadata({
|
|
269
269
|
minVersion: "12.0.0",
|
|
270
|
-
version: "22.0.0
|
|
270
|
+
version: "22.0.0",
|
|
271
271
|
ngImport: i0,
|
|
272
272
|
type: Listbox,
|
|
273
273
|
decorators: [{
|
|
@@ -441,7 +441,7 @@ class Option {
|
|
|
441
441
|
}
|
|
442
442
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
443
443
|
minVersion: "12.0.0",
|
|
444
|
-
version: "22.0.0
|
|
444
|
+
version: "22.0.0",
|
|
445
445
|
ngImport: i0,
|
|
446
446
|
type: Option,
|
|
447
447
|
deps: [],
|
|
@@ -449,7 +449,7 @@ class Option {
|
|
|
449
449
|
});
|
|
450
450
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
451
451
|
minVersion: "17.1.0",
|
|
452
|
-
version: "22.0.0
|
|
452
|
+
version: "22.0.0",
|
|
453
453
|
type: Option,
|
|
454
454
|
isStandalone: true,
|
|
455
455
|
selector: "[ngOption]",
|
|
@@ -501,7 +501,7 @@ class Option {
|
|
|
501
501
|
}
|
|
502
502
|
i0.ɵɵngDeclareClassMetadata({
|
|
503
503
|
minVersion: "12.0.0",
|
|
504
|
-
version: "22.0.0
|
|
504
|
+
version: "22.0.0",
|
|
505
505
|
ngImport: i0,
|
|
506
506
|
type: Option,
|
|
507
507
|
decorators: [{
|