@angular/aria 22.0.0-rc.3 → 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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  import { Version } from '@angular/core';
2
2
 
3
- const VERSION = new Version('22.0.0-rc.3');
3
+ const VERSION = new Version('22.0.1');
4
4
 
5
5
  export { VERSION };
6
6
  //# sourceMappingURL=aria.mjs.map
@@ -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.0-rc.3');\n"],"names":["VERSION","Version"],"mappings":";;MAWaA,OAAO,GAAG,IAAIC,OAAO,CAAC,mBAAmB;;;;"}
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;;;;"}
@@ -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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
925
+ version: "22.0.0",
926
926
  ngImport: i0,
927
927
  type: GridRow,
928
928
  decorators: [{
@@ -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":";;;;;;;;;;AAcO,MAAMA,SAAS,GAAG,IAAIC,cAAc,CAAW,WAAW,CAAC;AAG3D,MAAMC,QAAQ,GAAG,IAAID,cAAc,CAAU,UAAU,CAAC;AAGxD,MAAME,IAAI,GAAG,IAAIF,cAAc,CAAO,MAAM,CAAC;;MCiDvCG,IAAI,CAAA;AAEEC,EAAAA,WAAW,GAAGC,MAAM,CAACC,UAAU,CAAC;AAGxCC,EAAAA,OAAO,GAAG,IAAI,CAACH,WAAW,CAACI,aAA4B;AAGvDC,EAAAA,WAAW,GAAG,IAAIC,gBAAgB,EAAW;EAGrCC,YAAY,GAA6BC,QAAQ,CAAC,MACjE,IAAI,CAACH,WAAW,CAACI,YAAY,EAAE,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC;;WACrD;AAGQC,EAAAA,aAAa,GAAGZ,MAAM,CAACa,cAAc,CAAC,CAACC,WAAW;AAGlDC,EAAAA,eAAe,GAAGC,KAAK,CAAC,KAAK;;;;AAAGC,IAAAA,SAAS,EAAEC;AAAgB,GAAA,CAAE;AAG7DC,EAAAA,QAAQ,GAAGH,KAAK,CAAC,KAAK;;;;AAAGC,IAAAA,SAAS,EAAEC;AAAgB,GAAA,CAAE;AAMtDE,EAAAA,YAAY,GAAGJ,KAAK,CAAC,IAAI;;;;AAAGC,IAAAA,SAAS,EAAEC;AAAgB,GAAA,CAAE;EAOzDG,SAAS,GAAGL,KAAK,CAAgC,QAAQ;;WAAC;EAQ1DM,OAAO,GAAGN,KAAK,CAAmC,MAAM;;WAAC;EAQzDO,OAAO,GAAGP,KAAK,CAAmC,MAAM;;WAAC;AAGzDQ,EAAAA,KAAK,GAAGR,KAAK,CAAC,KAAK;;;;AAAGC,IAAAA,SAAS,EAAEC;AAAgB,GAAA,CAAE;EAOnDO,aAAa,GAAGT,KAAK,CAAwB,QAAQ;;WAAC;AAGtDU,EAAAA,QAAQ,GAAGV,KAAK,CAACW,SAAS,EAAA;AAAA,IAAA,IAAAC,SAAA,GAAA;AAAAC,MAAAA,SAAA,EAAA;KAAA,GAAA,EAAA,CAAA;AACjCC,IAAAA,KAAK,EAAE,UAAU;AACjBb,IAAAA,SAAS,EAAEc;AAAiB,GAAA,CAC5B;EAGOpB,QAAQ,GAAG,IAAIqB,WAAW,CAAC;AAClC,IAAA,GAAG,IAAI;IACPC,IAAI,EAAE,IAAI,CAAC3B,YAAY;IACvB4B,OAAO,EAAEC,CAAC,IAAI,IAAI,CAACC,QAAQ,CAACD,CAAC,CAAC;AAC9BjC,IAAAA,OAAO,EAAEA,MAAM,IAAI,CAACA;AACrB,GAAA,CAAC;AAGOmC,EAAAA,gBAAgB,GAAG9B,QAAQ,CAAC,MAAM,IAAI,CAACI,QAAQ,CAAC0B,gBAAgB,EAAE;;WAAC;AAE5EC,EAAAA,WAAAA,GAAA;AAEEC,IAAAA,iBAAiB,CAAC;MAACC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAAC8B,qBAAqB;AAAE,KAAC,CAAC;AACvEF,IAAAA,iBAAiB,CAAC;MAACC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAAC+B,gBAAgB;AAAE,KAAC,CAAC;AAClEH,IAAAA,iBAAiB,CAAC;MAACC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAACgC,gBAAgB;AAAE,KAAC,CAAC;AAClEJ,IAAAA,iBAAiB,CAAC;MAACC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAACiC,kBAAkB;AAAE,KAAC,CAAC;AACpEL,IAAAA,iBAAiB,CAAC;MAACC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAACkC,WAAW;AAAE,KAAC,CAAC;AAG7D,IAAA,IAAI,OAAOjB,SAAS,KAAK,WAAW,IAAIA,SAAS,EAAE;AACjDW,MAAAA,iBAAiB,CAAC;QAChBO,IAAI,EAAEA,MAAK;AACTC,UAAAA,gBAAgB,CAAC,IAAI,CAACpC,QAAQ,CAACqC,QAAQ,EAAE,EAAE,IAAI,CAAC9C,OAAO,CAAC;AAC1D,QAAA;AACD,OAAA,CAAC;AACJ,IAAA;AAEA+C,IAAAA,eAAe,CAAC,MAAK;MACnB,IAAI,CAAC7C,WAAW,CAAC8C,cAAc,CAAC,IAAI,CAAChD,OAAO,CAAC;AAC/C,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAiD,EAAAA,WAAWA,GAAA;AACT,IAAA,IAAI,CAAC/C,WAAW,CAACgD,aAAa,EAAE;AAClC,EAAA;EAGAC,wBAAwBA,CAACC,OAAA,GAAiC;AAACC,IAAAA,KAAK,EAAE;AAAS,GAAC,EAAA;AAC1E,IAAA,IAAI,CAAC5C,QAAQ,CAAC6C,UAAU,EAAE,EAAEtD,OAAO,EAAE,CAACuD,cAAc,CAACH,OAAO,CAAC;AAC/D,EAAA;EAGQlB,QAAQA,CAAClC,OAAmC,EAAA;IAClD,IAAIwD,MAAM,GAAGxD,OAAO;AAEpB,IAAA,OAAOwD,MAAM,EAAE;MACb,KAAK,MAAMC,GAAG,IAAI,IAAI,CAACrD,YAAY,EAAE,EAAE;QACrC,KAAK,MAAMsD,IAAI,IAAID,GAAG,CAACE,MAAM,CAACC,KAAK,EAAE,EAAE;AACrC,UAAA,IAAIF,IAAI,CAAC1D,OAAO,EAAE,KAAKwD,MAAM,EAAE;AAC7B,YAAA,OAAOE,IAAI;AACb,UAAA;AACF,QAAA;AACF,MAAA;MAEAF,MAAM,GAAGA,MAAM,CAACK,aAAa,EAAEC,OAAO,CAAC,cAAc,CAAC;AACxD,IAAA;AAEA,IAAA,OAAOrC,SAAS;AAClB,EAAA;;;;;UAhIW7B,IAAI;AAAAmE,IAAAA,IAAA,EAAA,EAAA;AAAAP,IAAAA,MAAA,EAAAQ,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAJtE,IAAI;AAAAuE,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,UAAA;AAAAT,IAAAA,MAAA,EAAA;AAAA9C,MAAAA,eAAA,EAAA;AAAAwD,QAAAA,iBAAA,EAAA,iBAAA;AAAAC,QAAAA,UAAA,EAAA,iBAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAxD,MAAAA,QAAA,EAAA;AAAAoD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAvD,MAAAA,YAAA,EAAA;AAAAmD,QAAAA,iBAAA,EAAA,cAAA;AAAAC,QAAAA,UAAA,EAAA,cAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAtD,MAAAA,SAAA,EAAA;AAAAkD,QAAAA,iBAAA,EAAA,WAAA;AAAAC,QAAAA,UAAA,EAAA,WAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAArD,MAAAA,OAAA,EAAA;AAAAiD,QAAAA,iBAAA,EAAA,SAAA;AAAAC,QAAAA,UAAA,EAAA,SAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAApD,MAAAA,OAAA,EAAA;AAAAgD,QAAAA,iBAAA,EAAA,SAAA;AAAAC,QAAAA,UAAA,EAAA,SAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAnD,MAAAA,KAAA,EAAA;AAAA+C,QAAAA,iBAAA,EAAA,OAAA;AAAAC,QAAAA,UAAA,EAAA,OAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAlD,MAAAA,aAAA,EAAA;AAAA8C,QAAAA,iBAAA,EAAA,eAAA;AAAAC,QAAAA,UAAA,EAAA,eAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAjD,MAAAA,QAAA,EAAA;AAAA6C,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;AAAA;KAAA;AAAAC,IAAAA,IAAA,EAAA;AAAAC,MAAAA,UAAA,EAAA;AAAA,QAAA,MAAA,EAAA;OAAA;AAAAC,MAAAA,SAAA,EAAA;AAAA,QAAA,SAAA,EAAA,4BAAA;AAAA,QAAA,OAAA,EAAA,0BAAA;AAAA,QAAA,SAAA,EAAA,4BAAA;AAAA,QAAA,UAAA,EAAA;OAAA;AAAAC,MAAAA,UAAA,EAAA;AAAA,QAAA,UAAA,EAAA,6DAAA;AAAA,QAAA,oBAAA,EAAA,qBAAA;AAAA,QAAA,2BAAA,EAAA,4BAAA;AAAA,QAAA,4BAAA,EAAA;AAAA;KAAA;AAAAC,IAAAA,SAAA,EAFJ,CAAC;AAACC,MAAAA,OAAO,EAAEpF,IAAI;AAAEqF,MAAAA,WAAW,EAAEpF;AAAI,KAAC,CAAC;IAAAqF,QAAA,EAAA,CAAA,QAAA,CAAA;AAAAC,IAAAA,QAAA,EAAAlB;AAAA,GAAA,CAAA;;;;;;QAEpCpE,IAAI;AAAAuF,EAAAA,UAAA,EAAA,CAAA;UAhBhBjB,SAAS;AAACkB,IAAAA,IAAA,EAAA,CAAA;AACThB,MAAAA,QAAQ,EAAE,UAAU;AACpBa,MAAAA,QAAQ,EAAE,QAAQ;AAClBP,MAAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,YAAY,EAAE,6DAA6D;AAC3E,QAAA,sBAAsB,EAAE,qBAAqB;AAC7C,QAAA,6BAA6B,EAAE,4BAA4B;AAC3D,QAAA,8BAA8B,EAAE,6BAA6B;AAC7D,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,SAAS,EAAE,0BAA0B;AACrC,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,YAAY,EAAE;OACf;AACDI,MAAAA,SAAS,EAAE,CAAC;AAACC,QAAAA,OAAO,EAAEpF,IAAI;AAAEqF,QAAAA,WAAW,EAAApF;OAAO;KAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCnBYyF,cAAc,CAAA;AAERxF,EAAAA,WAAW,GAAGC,MAAM,CAACC,UAAU,CAAC;AAGxCC,EAAAA,OAAO,GAAG,IAAI,CAACH,WAAW,CAACI,aAA4B;AAGvDqF,EAAAA,MAAM,GAAGjF,QAAQ,CAAC,MAAM,IAAI,CAACI,QAAQ,CAAC6E,MAAM,EAAE;;WAAC;AAGvCC,EAAAA,KAAK,GAAGzF,MAAM,CAACN,SAAS,CAAC;AAGjCgG,EAAAA,EAAE,GAAG1E,KAAK,CAAChB,MAAM,CAAC2F,YAAY,CAAC,CAACC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC;;WAAC;EAGpEC,UAAU,GAAG7E,KAAK,CAAoC,QAAQ;;WAAC;AAG/DG,EAAAA,QAAQ,GAAGH,KAAK,CAAC,KAAK;;;;AAAGC,IAAAA,SAAS,EAAEC;AAAgB,GAAA,CAAE;EAGtD4E,WAAW,GAAG9E,KAAK;;WAAgC;EAGnD+E,SAAS,GAAGC,MAAM,EAA0C;EAG5DC,WAAW,GAAGD,MAAM,EAA0C;EAG9DE,QAAQ,GAAGlF,KAAK;;WAAsB;EAM5BmF,SAAS,GAAmB5F,QAAQ,CACrD,MAAM,IAAI,CAAC2F,QAAQ,EAAE,IAAI,IAAI,CAACvF,QAAQ,CAACe,QAAQ,EAAE;;WAClD;EAGQf,QAAQ,GAAG,IAAIyF,qBAAqB,CAAC;AAC5C,IAAA,GAAG,IAAI;AACPlG,IAAAA,OAAO,EAAEA,MAAM,IAAI,CAACA,OAAO;AAC3B0D,IAAAA,IAAI,EAAEA,MAAM,IAAI,CAAC6B,KAAK,CAAC9E,QAAQ;IAC/B0F,UAAU,EAAElE,CAAC,IAAI,IAAI,CAAC4D,SAAS,CAACO,IAAI,CAACnE,CAAC,CAAC;IACvCoE,YAAY,EAAEpE,CAAC,IAAI,IAAI,CAAC8D,WAAW,CAACK,IAAI,CAACnE,CAAC;AAC3C,GAAA,CAAC;EAGF,IAAIqE,WAAWA,GAAA;IACb,OAAOjG,QAAQ,CAAC,MAAM,IAAI,CAACI,QAAQ,CAAC6F,WAAW,EAAE,CAAC;AACpD,EAAA;AAEAlE,EAAAA,WAAAA,GAAA;AACEC,IAAAA,iBAAiB,CAAC;MAChBC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAAC8F,gBAAgB;AAC5C,KAAA,CAAC;AAEFlE,IAAAA,iBAAiB,CAAC;MAChBC,KAAK,EAAEA,MAAM,IAAI,CAAC7B,QAAQ,CAAC+F,kBAAkB;AAC9C,KAAA,CAAC;AACJ,EAAA;AAGAC,EAAAA,QAAQA,GAAA;AACN,IAAA,IAAI,CAAChG,QAAQ,CAACgG,QAAQ,EAAE;AAC1B,EAAA;AAGAC,EAAAA,UAAUA,GAAA;AACR,IAAA,IAAI,CAACjG,QAAQ,CAACiG,UAAU,EAAE;AAC5B,EAAA;;;;;UA1EWrB,cAAc;AAAAtB,IAAAA,IAAA,EAAA,EAAA;AAAAP,IAAAA,MAAA,EAAAQ,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAdmB,cAAc;AAAAlB,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,oBAAA;AAAAT,IAAAA,MAAA,EAAA;AAAA6B,MAAAA,EAAA,EAAA;AAAAnB,QAAAA,iBAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,IAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAkB,MAAAA,UAAA,EAAA;AAAAtB,QAAAA,iBAAA,EAAA,YAAA;AAAAC,QAAAA,UAAA,EAAA,YAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAxD,MAAAA,QAAA,EAAA;AAAAoD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAmB,MAAAA,WAAA,EAAA;AAAAvB,QAAAA,iBAAA,EAAA,aAAA;AAAAC,QAAAA,UAAA,EAAA,aAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAuB,MAAAA,QAAA,EAAA;AAAA3B,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;AAAA;KAAA;AAAAkC,IAAAA,OAAA,EAAA;AAAAd,MAAAA,SAAA,EAAA,WAAA;AAAAE,MAAAA,WAAA,EAAA;KAAA;AAAArB,IAAAA,IAAA,EAAA;AAAAG,MAAAA,UAAA,EAAA;AAAA,QAAA,kBAAA,EAAA,UAAA;AAAA,QAAA,0BAAA,EAAA,uCAAA;AAAA,QAAA,UAAA,EAAA,aAAA;AAAA,QAAA,SAAA,EAAA;AAAA;KAAA;IAAAI,QAAA,EAAA,CAAA,kBAAA,CAAA;AAAAC,IAAAA,QAAA,EAAAlB;AAAA,GAAA,CAAA;;;;;;QAAdqB,cAAc;AAAAF,EAAAA,UAAA,EAAA,CAAA;UAV1BjB,SAAS;AAACkB,IAAAA,IAAA,EAAA,CAAA;AACThB,MAAAA,QAAQ,EAAE,oBAAoB;AAC9Ba,MAAAA,QAAQ,EAAE,kBAAkB;AAC5BP,MAAAA,IAAI,EAAE;AACJ,QAAA,oBAAoB,EAAE,UAAU;AAChC,QAAA,4BAA4B,EAAE,mCAAmC;AACjE,QAAA,YAAY,EAAE,aAAa;AAC3B,QAAA,WAAW,EAAE;AACd;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MCDYkC,QAAQ,CAAA;AACF/G,EAAAA,WAAW,GAAGC,MAAM,CAACC,UAAU,CAAC;AAChC8G,EAAAA,SAAS,GAAG/G,MAAM,CAACgH,SAAS,CAAC;AAGrC9G,EAAAA,OAAO,GAAG,IAAI,CAACH,WAAW,CAACI,aAA4B;AAGvDqF,EAAAA,MAAM,GAAGjF,QAAQ,CAAC,MAAM,IAAI,CAACI,QAAQ,CAAC6E,MAAM,EAAE;;WAAC;AAGvCyB,EAAAA,OAAO,GAAGC,YAAY,CAAC3B,cAAc;;;;AAAG4B,IAAAA,WAAW,EAAE;AAAI,GAAA,CAAE;AAG3DC,EAAAA,cAAc,GAA8C7G,QAAQ,CACnF,MAAM,IAAI,CAAC0G,OAAO,EAAE,EAAEtG,QAAQ;;WAC/B;AAGgB0G,EAAAA,IAAI,GAAGrH,MAAM,CAACJ,QAAQ,CAAC;AAG/BgB,EAAAA,aAAa,GAAGZ,MAAM,CAACa,cAAc,CAAC,CAACC,WAAW;AAGlD4E,EAAAA,EAAE,GAAG1E,KAAK,CAAChB,MAAM,CAAC2F,YAAY,CAAC,CAACC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;;WAAC;EAG7D0B,IAAI,GAAGtG,KAAK,CAA4C,UAAU;;WAAC;EAGnEuG,OAAO,GAAGvG,KAAK,CAAS,CAAC;;WAAC;EAG1BwG,OAAO,GAAGxG,KAAK,CAAS,CAAC;;WAAC;EAG1ByG,QAAQ,GAAGzG,KAAK;;WAAU;EAG1B0G,QAAQ,GAAG1G,KAAK;;WAAU;AAG1BG,EAAAA,QAAQ,GAAGH,KAAK,CAAC,KAAK;;;;AAAGC,IAAAA,SAAS,EAAEC;AAAgB,GAAA,CAAE;EAGtDyG,QAAQ,GAAGC,KAAK,CAAU,KAAK;;WAAC;EAGhCC,UAAU,GAAG7G,KAAK,CAAU,IAAI;;WAAC;EAGjCkF,QAAQ,GAAGlF,KAAK;;WAAsB;EAM5BmF,SAAS,GAAmB5F,QAAQ,CACrD,MAAM,IAAI,CAAC2F,QAAQ,EAAE,IAAI,IAAI,CAACvF,QAAQ,CAACe,QAAQ,EAAE;;WAClD;EAGQf,QAAQ,GAAG,IAAImH,eAAe,CAAC;AACtC,IAAA,GAAG,IAAI;AACPC,IAAAA,IAAI,EAAE,IAAI,CAACV,IAAI,CAACW,YAAY;AAC5BrE,IAAAA,GAAG,EAAEA,MAAM,IAAI,CAAC0D,IAAI,CAAC1G,QAAQ;IAC7BsH,MAAM,EAAE,IAAI,CAACb,cAAc;IAC3Bc,SAAS,EAAE/F,CAAC,IAAI,IAAI,CAACgG,UAAU,CAAChG,CAAC,CAAC;AAClCjC,IAAAA,OAAO,EAAEA,MAAM,IAAI,CAACA;AACrB,GAAA,CAAC;AAEFoC,EAAAA,WAAAA,GAAA;AAIEC,IAAAA,iBAAiB,CAAC;MAChBC,KAAK,EAAEA,MAAK;QACV,MAAM;AAAC7B,UAAAA,QAAQ,EAAEyH,OAAO;AAAEC,UAAAA,gBAAgB,EAAEC;AAAM,SAAC,GAAG,IAAI;AAC1D,QAAA,MAAMf,OAAO,GAAGa,OAAO,CAACb,OAAO,EAAE;AACjC,QAAA,MAAMC,OAAO,GAAGY,OAAO,CAACZ,OAAO,EAAE;QACjCc,MAAM,CAAC,MAAM,EAAE,IAAI,CAAChB,IAAI,EAAE,CAAC;QAC3BgB,MAAM,CAAC,IAAI,EAAEF,OAAO,CAAC1C,EAAE,EAAE,CAAC;AAC1B4C,QAAAA,MAAM,CAAC,SAAS,EAAEf,OAAO,CAAC;AAC1Be,QAAAA,MAAM,CAAC,SAAS,EAAEd,OAAO,CAAC;AAC1Bc,QAAAA,MAAM,CAAC,cAAc,EAAEf,OAAO,CAAC;AAC/Be,QAAAA,MAAM,CAAC,cAAc,EAAEd,OAAO,CAAC;QAC/Bc,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC9C,MAAM,EAAE,CAAC;QACpC8C,MAAM,CAAC,aAAa,EAAEF,OAAO,CAACG,MAAM,EAAE,CAAC;QACvCD,MAAM,CAAC,eAAe,EAAEF,OAAO,CAACjH,QAAQ,EAAE,CAAC;QAC3CmH,MAAM,CAAC,eAAe,EAAEF,OAAO,CAACI,YAAY,EAAE,CAAC;QAC/CF,MAAM,CAAC,eAAe,EAAEF,OAAO,CAACK,YAAY,EAAE,CAAC;QAC/CH,MAAM,CAAC,eAAe,EAAEF,OAAO,CAACM,YAAY,EAAE,CAAC;QAC/CJ,MAAM,CAAC,UAAU,EAAE,IAAI,CAACnC,SAAS,EAAE,CAAC;AACtC,MAAA;AACD,KAAA,CAAC;AACJ,EAAA;AAEAwC,EAAAA,QAAQA,GAAA;IACN,IAAI,CAACtB,IAAI,CAACjH,WAAW,CAACwI,QAAQ,CAAC,IAAI,CAAC;AACtC,EAAA;AAEAzF,EAAAA,WAAWA,GAAA;IACT,IAAI,CAACkE,IAAI,CAACjH,WAAW,CAACyI,UAAU,CAAC,IAAI,CAAC;AACxC,EAAA;AAEQR,EAAAA,gBAAgB,GAAGA,CAACS,IAAY,EAAEC,KAAc,KAAI;IAC1D,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,IAAI,CAAChC,SAAS,CAACiC,eAAe,CAAC,IAAI,CAAC9I,OAAO,EAAE4I,IAAI,CAAC;AACpD,IAAA,CAAA,MAAO;AACL,MAAA,IAAI,CAAC/B,SAAS,CAACkC,YAAY,CAAC,IAAI,CAAC/I,OAAO,EAAE4I,IAAI,EAAEC,KAAe,CAAC;AAClE,IAAA;EACF,CAAC;EAGOZ,UAAUA,CAACjI,OAAmC,EAAA;IACpD,IAAIwD,MAAM,GAAGxD,OAAO;AACpB,IAAA,MAAM+H,MAAM,GAAG,IAAI,CAACb,cAAc,EAAE;AAEpC,IAAA,IAAI,CAACa,MAAM,EAAE,OAAOtG,SAAS;AAE7B,IAAA,OAAO+B,MAAM,EAAE;AACb,MAAA,IAAIuE,MAAM,CAAC/H,OAAO,EAAE,KAAKwD,MAAM,EAAE;AAC/B,QAAA,OAAOuE,MAAM;AACf,MAAA;MAEAvE,MAAM,GAAGA,MAAM,CAACK,aAAa,EAAEC,OAAO,CAAC,oBAAoB,CAAC;AAC9D,IAAA;AAEA,IAAA,OAAOrC,SAAS;AAClB,EAAA;;;;;UAlIWmF,QAAQ;AAAA7C,IAAAA,IAAA,EAAA,EAAA;AAAAP,IAAAA,MAAA,EAAAQ,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAR,EAAA,OAAA8E,IAAA,GAAAhF,EAAA,CAAAiF,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,aAAA;AAAAC,IAAAA,IAAA,EAAAxC,QAAQ;AAAAzC,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,cAAA;AAAAT,IAAAA,MAAA,EAAA;AAAA6B,MAAAA,EAAA,EAAA;AAAAnB,QAAAA,iBAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,IAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAA2C,MAAAA,IAAA,EAAA;AAAA/C,QAAAA,iBAAA,EAAA,MAAA;AAAAC,QAAAA,UAAA,EAAA,MAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAA4C,MAAAA,OAAA,EAAA;AAAAhD,QAAAA,iBAAA,EAAA,SAAA;AAAAC,QAAAA,UAAA,EAAA,SAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAA6C,MAAAA,OAAA,EAAA;AAAAjD,QAAAA,iBAAA,EAAA,SAAA;AAAAC,QAAAA,UAAA,EAAA,SAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAA8C,MAAAA,QAAA,EAAA;AAAAlD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAA+C,MAAAA,QAAA,EAAA;AAAAnD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAxD,MAAAA,QAAA,EAAA;AAAAoD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAgD,MAAAA,QAAA,EAAA;AAAApD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAkD,MAAAA,UAAA,EAAA;AAAAtD,QAAAA,iBAAA,EAAA,YAAA;AAAAC,QAAAA,UAAA,EAAA,YAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;OAAA;AAAAuB,MAAAA,QAAA,EAAA;AAAA3B,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;AAAA;KAAA;AAAAkC,IAAAA,OAAA,EAAA;AAAAc,MAAAA,QAAA,EAAA;KAAA;AAAA3C,IAAAA,SAAA,EAFR,CAAC;AAACC,MAAAA,OAAO,EAAEvF,SAAS;AAAEwF,MAAAA,WAAW,EAAE4B;AAAQ,KAAC,CAAC;;;;iBAahBvB,cAAc;AAAA4B,MAAAA,WAAA,EAAA,IAAA;AAAA1C,MAAAA,QAAA,EAAA;AAAA,KAAA,CAAA;IAAAU,QAAA,EAAA,CAAA,YAAA,CAAA;AAAAC,IAAAA,QAAA,EAAAlB;AAAA,GAAA,CAAA;;;;;;QAX3C4C,QAAQ;AAAAzB,EAAAA,UAAA,EAAA,CAAA;UALpBjB,SAAS;AAACkB,IAAAA,IAAA,EAAA,CAAA;AACThB,MAAAA,QAAQ,EAAE,cAAc;AACxBa,MAAAA,QAAQ,EAAE,YAAY;AACtBH,MAAAA,SAAS,EAAE,CAAC;AAACC,QAAAA,OAAO,EAAEvF,SAAS;AAAEwF,QAAAA,WAAW,EAAA4B;OAAW;KACxD;AAYyC,GAAA,CAAA;EAAAyC,cAAA,EAAAA,MAAA,EAAA;AAAAC,EAAAA,cAAA,EAAA;AAAAvC,IAAAA,OAAA,EAAA,CAAA;MAAAqC,IAAA,EAAApF,EAAA,CAAAuF,YAAA;MAAAnE,IAAA,EAAA,CAAApB,EAAA,CAAAwF,UAAA,CAAA,MAAAnE,cAAc,CAAA,EAAA;QAAA,GAAE;AAAC4B,UAAAA,WAAW,EAAE;SAAK;AAAA1C,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAAiB,IAAAA,EAAA,EAAA,CAAA;MAAA4D,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,IAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAAtC,IAAAA,IAAA,EAAA,CAAA;MAAAgC,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,MAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAArC,IAAAA,OAAA,EAAA,CAAA;MAAA+B,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,SAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAApC,IAAAA,OAAA,EAAA,CAAA;MAAA8B,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,SAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAAnC,IAAAA,QAAA,EAAA,CAAA;MAAA6B,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,UAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAAlC,IAAAA,QAAA,EAAA,CAAA;MAAA4B,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,UAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAAzI,IAAAA,QAAA,EAAA,CAAA;MAAAmI,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,UAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAAjC,IAAAA,QAAA,EAAA,CAAA;MAAA2B,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,UAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,EAAA;MAAAN,IAAA,EAAApF,EAAA,CAAA2F,MAAA;MAAAvE,IAAA,EAAA,CAAA,gBAAA;AAAA,KAAA,CAAA;AAAAuC,IAAAA,UAAA,EAAA,CAAA;MAAAyB,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,YAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;AAAA,KAAA,CAAA;AAAA1D,IAAAA,QAAA,EAAA,CAAA;MAAAoD,IAAA,EAAApF,EAAA,CAAAyF,KAAA;AAAArE,MAAAA,IAAA,EAAA,CAAA;AAAAb,QAAAA,QAAA,EAAA,IAAA;AAAA3C,QAAAA,KAAA,EAAA,UAAA;AAAA8H,QAAAA,QAAA,EAAA;OAAA;KAAA;AAAA;AAAA,CAAA,CAAA;;MCfhEE,OAAO,CAAA;AAED/J,EAAAA,WAAW,GAAGC,MAAM,CAACC,UAAU,CAAC;AAGxCC,EAAAA,OAAO,GAAG,IAAI,CAACH,WAAW,CAACI,aAA4B;AAGvDC,EAAAA,WAAW,GAAG,IAAIC,gBAAgB,EAAY;EAGtC0J,aAAa,GAAkBxJ,QAAQ,CAAC,MACvD,IAAI,CAACH,WAAW,CAACI,YAAY,EAAE,CAACC,GAAG,CAACuJ,CAAC,IAAIA,CAAC,CAACrJ,QAAQ,CAAC;;WACrD;AAGgBsJ,EAAAA,KAAK,GAAGjK,MAAM,CAACH,IAAI,CAAC;AAG5BmI,EAAAA,YAAY,GAAGzH,QAAQ,CAAc,MAAM,IAAI,CAAC0J,KAAK,CAACtJ,QAAQ;;WAAC;EAG/D8G,QAAQ,GAAGzG,KAAK;;WAAU;EAG1BL,QAAQ,GAAG,IAAIuJ,cAAc,CAAC;AACrC,IAAA,GAAG,IAAI;IACPpG,KAAK,EAAE,IAAI,CAACiG,aAAa;IACzBhC,IAAI,EAAE,IAAI,CAACC;AACZ,GAAA,CAAC;AAEF1F,EAAAA,WAAAA,GAAA;AACEW,IAAAA,eAAe,CAAC,MAAK;MACnB,IAAI,CAAC7C,WAAW,CAAC8C,cAAc,CAAC,IAAI,CAAChD,OAAO,CAAC;AAC/C,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAyI,EAAAA,QAAQA,GAAA;IACN,IAAI,CAACsB,KAAK,CAAC7J,WAAW,CAACwI,QAAQ,CAAC,IAAI,CAAC;AACvC,EAAA;AAEAzF,EAAAA,WAAWA,GAAA;IACT,IAAI,CAAC8G,KAAK,CAAC7J,WAAW,CAACyI,UAAU,CAAC,IAAI,CAAC;AACvC,IAAA,IAAI,CAACzI,WAAW,CAACgD,aAAa,EAAE;AAClC,EAAA;;;;;UA5CW0G,OAAO;AAAA7F,IAAAA,IAAA,EAAA,EAAA;AAAAP,IAAAA,MAAA,EAAAQ,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAP0F,OAAO;AAAAzF,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,aAAA;AAAAT,IAAAA,MAAA,EAAA;AAAA4D,MAAAA,QAAA,EAAA;AAAAlD,QAAAA,iBAAA,EAAA,UAAA;AAAAC,QAAAA,UAAA,EAAA,UAAA;AAAAC,QAAAA,QAAA,EAAA,IAAA;AAAAC,QAAAA,UAAA,EAAA,KAAA;AAAAC,QAAAA,iBAAA,EAAA;AAAA;KAAA;AAAAC,IAAAA,IAAA,EAAA;AAAAC,MAAAA,UAAA,EAAA;AAAA,QAAA,MAAA,EAAA;OAAA;AAAAE,MAAAA,UAAA,EAAA;AAAA,QAAA,oBAAA,EAAA;AAAA;KAAA;AAAAC,IAAAA,SAAA,EAFP,CAAC;AAACC,MAAAA,OAAO,EAAErF,QAAQ;AAAEsF,MAAAA,WAAW,EAAE4E;AAAO,KAAC,CAAC;IAAA3E,QAAA,EAAA,CAAA,WAAA,CAAA;AAAAC,IAAAA,QAAA,EAAAlB;AAAA,GAAA,CAAA;;;;;;QAE3C4F,OAAO;AAAAzE,EAAAA,UAAA,EAAA,CAAA;UATnBjB,SAAS;AAACkB,IAAAA,IAAA,EAAA,CAAA;AACThB,MAAAA,QAAQ,EAAE,aAAa;AACvBa,MAAAA,QAAQ,EAAE,WAAW;AACrBP,MAAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,sBAAsB,EAAE;OACzB;AACDI,MAAAA,SAAS,EAAE,CAAC;AAACC,QAAAA,OAAO,EAAErF,QAAQ;AAAEsF,QAAAA,WAAW,EAAA4E;OAAU;KACtD;;;;;;;;;;;;;;;;;"}
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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"}
@@ -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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
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-rc.2",
504
+ version: "22.0.0",
505
505
  ngImport: i0,
506
506
  type: Option,
507
507
  decorators: [{