@fundamental-ngx/cdk 0.43.8 → 0.43.9

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,14 +1,15 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, ElementRef, EventEmitter, HostBinding, inject, Input, NgZone, Output } from '@angular/core';
1
+ /* eslint-disable @typescript-eslint/member-ordering */
2
+ import { LiveAnnouncer } from '@angular/cdk/a11y';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { ENTER, ESCAPE, F2, MAC_ENTER } from '@angular/cdk/keycodes';
5
- import { FDK_FOCUSABLE_ITEM_DIRECTIVE } from './focusable-item.tokens';
6
- import { DestroyedService, TabbableElementService } from '../../services';
7
- import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
8
- import { LiveAnnouncer } from '@angular/cdk/a11y';
9
- import { FocusableObserver } from './focusable.observer';
5
+ import { DOCUMENT } from '@angular/common';
6
+ import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, Renderer2 } from '@angular/core';
10
7
  import { fromEvent, Subject, takeUntil } from 'rxjs';
8
+ import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
11
9
  import { KeyUtil } from '../../functions';
10
+ import { DestroyedService, TabbableElementService } from '../../services';
11
+ import { FDK_FOCUSABLE_ITEM_DIRECTIVE } from './focusable-item.tokens';
12
+ import { FocusableObserver } from './focusable.observer';
12
13
  import * as i0 from "@angular/core";
13
14
  export class DeprecatedFocusableItemDirective extends DeprecatedSelector {
14
15
  }
@@ -43,10 +44,6 @@ export class FocusableItemDirective {
43
44
  return this._focusable;
44
45
  }
45
46
  /** @hidden */
46
- get _tabindex() {
47
- return this._tabbable ? 0 : -1;
48
- }
49
- /** @hidden */
50
47
  constructor() {
51
48
  /** Function, which returns a string to be announced by screen-reader whenever an item which is in grid receives focus. */
52
49
  this.cellFocusedEventAnnouncer = this._defaultItemFocusedEventAnnouncer;
@@ -73,6 +70,8 @@ export class FocusableItemDirective {
73
70
  /** @hidden */
74
71
  this._zone = inject(NgZone);
75
72
  /** @hidden */
73
+ this._renderer2 = inject(Renderer2);
74
+ /** @hidden */
76
75
  this._document = inject(DOCUMENT);
77
76
  this._focusableObserver
78
77
  .observe(this.elementRef, false)
@@ -103,6 +102,7 @@ export class FocusableItemDirective {
103
102
  /** Set tabbable state */
104
103
  setTabbable(state) {
105
104
  this._tabbable = state;
105
+ this._renderer2.setAttribute(this.elementRef.nativeElement, 'tabindex', this._tabbable ? '0' : '-1');
106
106
  if (state) {
107
107
  this._enableTabbableElements();
108
108
  }
@@ -184,7 +184,7 @@ export class FocusableItemDirective {
184
184
  }
185
185
  }
186
186
  FocusableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
187
- FocusableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FocusableItemDirective, isStandalone: true, selector: "[fdkFocusableItem]", inputs: { fdkFocusableItem: "fdkFocusableItem", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, outputs: { cellFocused: "cellFocused" }, host: { properties: { "attr.tabindex": "this._tabindex" } }, providers: [
187
+ FocusableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FocusableItemDirective, isStandalone: true, selector: "[fdkFocusableItem]", inputs: { fdkFocusableItem: "fdkFocusableItem", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, outputs: { cellFocused: "cellFocused" }, providers: [
188
188
  {
189
189
  provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,
190
190
  useExisting: FocusableItemDirective
@@ -210,8 +210,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
210
210
  type: Input
211
211
  }], cellFocused: [{
212
212
  type: Output
213
- }], _tabindex: [{
214
- type: HostBinding,
215
- args: ['attr.tabindex']
216
213
  }] } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFzQjFDLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxrQkFBa0I7OzZIQUEzRCxnQ0FBZ0M7aUhBQWhDLGdD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QUFHLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWM7SUFDTixpQ0FBaUMsQ0FBQyxRQUErQjtRQUNyRSxPQUFPLFVBQVUsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sUUFBUSxDQUFDLFNBQVMsVUFBVSxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsT0FDMUYsUUFBUSxDQUFDLFNBQ2IsRUFBRSxDQUFDO0lBQ1AsQ0FBQzs7bUhBck1RLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGlSQVJwQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxXQUFXLEVBQUUsc0JBQXNCO1NBQ3RDO1FBQ0QsZ0JBQWdCO0tBQ25COzJGQUVRLHNCQUFzQjtrQkFYbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcsd0JBQXdCO3lCQUN0Qzt3QkFDRCxnQkFBZ0I7cUJBQ25CO2lCQUNKOzBFQUlPLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFZTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS0csV0FBVztzQkFEbkIsTUFBTTtnQkF1QkgsU0FBUztzQkFEWixXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFTlRFUiwgRVNDQVBFLCBGMiwgTUFDX0VOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUgfSBmcm9tICcuL2ZvY3VzYWJsZS1pdGVtLnRva2Vucyc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSGFzRWxlbWVudFJlZiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBEZXByZWNhdGVkU2VsZWN0b3IsXG4gICAgRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgZ2V0RGVwcmVjYXRlZE1vZGVsXG59IGZyb20gJy4uLy4uL2RlcHJlY2F0ZWQtc2VsZWN0b3IuY2xhc3MnO1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEZvY3VzYWJsZU9ic2VydmVyIH0gZnJvbSAnLi9mb2N1c2FibGUub2JzZXJ2ZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL251bGxhYmxlJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgdHlwZSBDZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyID0gTnVsbGFibGU8KHBvc2l0aW9uOiBGb2N1c2FibGVJdGVtUG9zaXRpb24pID0+IHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9jdXNhYmxlSXRlbVBvc2l0aW9uIHtcbiAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIGNvbEluZGV4OiBudW1iZXI7XG4gICAgdG90YWxSb3dzOiBudW1iZXI7XG4gICAgdG90YWxDb2xzOiBudW1iZXI7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZm5Gb2N1c2FibGVJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgICAgICAgICB1c2VWYWx1ZTogZ2V0RGVwcmVjYXRlZE1vZGVsKCdbZmRrRm9jdXNhYmxlSXRlbV0nLCAnW2ZuRm9jdXNhYmxlSXRlbV0nKVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNhdGVkRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSBleHRlbmRzIERlcHJlY2F0ZWRTZWxlY3RvciB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtGb2N1c2FibGVJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBGb2N1c2FibGVJdGVtRGlyZWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIERlc3Ryb3llZFNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBIYXNFbGVtZW50UmVmIHtcbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBmb2N1c2FibGUuIERlZmF1bHQgaXMgdHJ1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmZGtGb2N1c2FibGVJdGVtKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICAgICAgICB0aGlzLnNldFRhYmJhYmxlKHRoaXMuX2ZvY3VzYWJsZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZka0ZvY3VzYWJsZUl0ZW0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGU7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uLCB3aGljaCByZXR1cm5zIGEgc3RyaW5nIHRvIGJlIGFubm91bmNlZCBieSBzY3JlZW4tcmVhZGVyIHdoZW5ldmVyIGFuIGl0ZW0gd2hpY2ggaXMgaW4gZ3JpZCByZWNlaXZlcyBmb2N1cy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXI6IENlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXIgPSB0aGlzLl9kZWZhdWx0SXRlbUZvY3VzZWRFdmVudEFubm91bmNlcjtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNlbGwgcmVjZWl2ZXMgZm9jdXMsIG5vdCBiZWluZyBlbWl0dGVkIHdoZW4gZm9jdXMgbW92ZXMgYmV0d2VlbiBpdGVtJ3MgY2hpbGRyZW4uICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2VsbEZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIHJlYWRvbmx5IF9rZXlkb3duJCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wb3NpdGlvbjogRm9jdXNhYmxlSXRlbVBvc2l0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJiYWJsZUVsZW1lbnRzID0gbmV3IE1hcDxIVE1MRWxlbWVudCwgbnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJiYWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBnZXQgX3RhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJiYWJsZSA/IDAgOiAtMTtcbiAgICB9XG5cbiAgICAvKiogRWxlbWVudCByZWZlcmVuY2UuICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNhYmxlT2JzZXJ2ZXIgPSBpbmplY3QoRm9jdXNhYmxlT2JzZXJ2ZXIpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmJhYmxlRWxlbWVudFNlcnZpY2UgPSBpbmplY3QoVGFiYmFibGVFbGVtZW50U2VydmljZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9saXZlQW5ub3VuY2VyID0gaW5qZWN0KExpdmVBbm5vdW5jZXIpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF96b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9mb2N1c2FibGVPYnNlcnZlclxuICAgICAgICAgICAgLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLCBmYWxzZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpc0ZvY3VzYWJsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNGb2N1c2FibGUgJiYgaXNGb2N1c2FibGUgIT09IHRoaXMuZmRrRm9jdXNhYmxlSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZka0ZvY3VzYWJsZUl0ZW0gPSBpc0ZvY3VzYWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzaW4nKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX29uRm9jdXNpbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c291dCcpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25Gb2N1c291dCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGFiYmFibGUgc3RhdGUgKi9cbiAgICBzZXRUYWJiYWJsZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJiYWJsZSA9IHN0YXRlO1xuXG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fZW5hYmxlVGFiYmFibGVFbGVtZW50cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZVRhYmJhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBhc3luYyBfb25Gb2N1c2luKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMuZmRrRm9jdXNhYmxlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3RpbWVySWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVySWQpO1xuICAgICAgICAgICAgdGhpcy5fdGltZXJJZCA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fcG9zaXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY2VsbEZvY3VzZWQubmV4dCh0aGlzLl9wb3NpdGlvbik7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9saXZlQW5ub3VuY2VyLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fbGl2ZUFubm91bmNlci5hbm5vdW5jZSh0aGlzLmNlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXIodGhpcy5fcG9zaXRpb24pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25Gb2N1c291dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZka0ZvY3VzYWJsZUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRpbWVvdXQgaXMgbmVlZGVkIHRvIHByZXZlbnQgZm9jdXNvdXQgZXZlbnQgZnJvbSBiZWluZyBlbWl0dGVkIHdoZW4gZm9jdXMgbW92ZXMgYmV0d2VlbiBpdGVtJ3MgY2hpbGRyZW4uXG4gICAgICAgIHRoaXMuX3RpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLl90aW1lcklkID0gbnVsbCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mZGtGb2N1c2FibGVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0ZvY3VzZWQgPSB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2hvdWxkRm9jdXNDaGlsZCA9IEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIE1BQ19FTlRFUiwgRjJdKSAmJiAhZXZlbnQuc2hpZnRLZXkgJiYgaXNGb2N1c2VkO1xuICAgICAgICBjb25zdCBzaG91bGRGb2N1c0NlbGwgPVxuICAgICAgICAgICAgKChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRjIpICYmIGV2ZW50LnNoaWZ0S2V5KSB8fCBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSkgJiYgIWlzRm9jdXNlZDtcblxuICAgICAgICBpZiAoc2hvdWxkRm9jdXNDaGlsZCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHRhYmJhYmxlRWxlbWVudCA9IHRoaXMuX3RhYmJhYmxlRWxlbWVudFNlcnZpY2UuZ2V0VGFiYmFibGVFbGVtZW50KFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRhYmJhYmxlRWxlbWVudD8uZm9jdXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKHNob3VsZEZvY3VzQ2VsbCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWRvd24kLm5leHQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9lbmFibGVUYWJiYWJsZUVsZW1lbnRzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdGFiYmFibGVFbGVtZW50cy5zaXplID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YWJiYWJsZUVsZW1lbnRzLmZvckVhY2goKHRhYkluZGV4LCBlbGVtZW50KSA9PiAoZWxlbWVudC50YWJJbmRleCA9IHRhYkluZGV4KSk7XG4gICAgICAgIHRoaXMuX3RhYmJhYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kaXNhYmxlVGFiYmFibGVFbGVtZW50cygpOiB2b2lkIHtcbiAgICAgICAgLy8gU2luY2Ugd2UgY2Fubm90IHNlbGVjdCBieSB0YWJpbmRleCBhdHRyaWJ1dGUgKGxpbmtzLCBpbnB1dHMsIGJ1dHRvbnMgbWlnaHQgbm90IGhhdmUgb25lIGJ1dCBzdGlsbCBjYW4gYmUgZm9jdXNhYmxlKSxcbiAgICAgICAgLy8gU2VsZWN0IGFsbCBlbGVtZW50cyBmcm9tIHRoZSBjZWxsIGFuZCBmaWx0ZXIgYnkgdGFiSW5kZXggcHJvcGVydHkuXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJyonKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGVsbSkgPT4gZWxtLnRhYkluZGV4ID49IDApXG4gICAgICAgICAgICAuZm9yRWFjaCgoZWxtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFiYmFibGVFbGVtZW50cy5zZXQoZWxtLCBlbG0udGFiSW5kZXgpO1xuICAgICAgICAgICAgICAgIGVsbS50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZWZhdWx0SXRlbUZvY3VzZWRFdmVudEFubm91bmNlcihwb3NpdGlvbjogRm9jdXNhYmxlSXRlbVBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBDb2x1bW4gJHtwb3NpdGlvbi5jb2xJbmRleCArIDF9IG9mICR7cG9zaXRpb24udG90YWxDb2xzfSwgcm93OiAke3Bvc2l0aW9uLnJvd0luZGV4ICsgMX0gb2YgJHtcbiAgICAgICAgICAgIHBvc2l0aW9uLnRvdGFsUm93c1xuICAgICAgICB9YDtcbiAgICB9XG59XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBc0J6RCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsa0JBQWtCOzs2SEFBM0QsZ0NB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YUFDdkUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQzthQUNsQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWM7SUFDTixpQ0FBaUMsQ0FBQyxRQUErQjtRQUNyRSxPQUFPLFVBQVUsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sUUFBUSxDQUFDLFNBQVMsVUFBVSxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsT0FDMUYsUUFBUSxDQUFDLFNBQ2IsRUFBRSxDQUFDO0lBQ1AsQ0FBQzs7bUhBbE1RLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9OQVJwQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxXQUFXLEVBQUUsc0JBQXNCO1NBQ3RDO1FBQ0QsZ0JBQWdCO0tBQ25COzJGQUVRLHNCQUFzQjtrQkFYbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcsd0JBQXdCO3lCQUN0Qzt3QkFDRCxnQkFBZ0I7cUJBQ25CO2lCQUNKOzBFQUlPLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFZTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS0csV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFTlRFUiwgRVNDQVBFLCBGMiwgTUFDX0VOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBOZ1pvbmUsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBEZXByZWNhdGVkU2VsZWN0b3IsXG4gICAgRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgZ2V0RGVwcmVjYXRlZE1vZGVsXG59IGZyb20gJy4uLy4uL2RlcHJlY2F0ZWQtc2VsZWN0b3IuY2xhc3MnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9udWxsYWJsZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSB9IGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0udG9rZW5zJztcbmltcG9ydCB7IEZvY3VzYWJsZU9ic2VydmVyIH0gZnJvbSAnLi9mb2N1c2FibGUub2JzZXJ2ZXInO1xuXG5leHBvcnQgdHlwZSBDZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyID0gTnVsbGFibGU8KHBvc2l0aW9uOiBGb2N1c2FibGVJdGVtUG9zaXRpb24pID0+IHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9jdXNhYmxlSXRlbVBvc2l0aW9uIHtcbiAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIGNvbEluZGV4OiBudW1iZXI7XG4gICAgdG90YWxSb3dzOiBudW1iZXI7XG4gICAgdG90YWxDb2xzOiBudW1iZXI7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZm5Gb2N1c2FibGVJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREVQUkVDQVRFRF9ESVJFQ1RJVkVfU0VMRUNUT1IsXG4gICAgICAgICAgICB1c2VWYWx1ZTogZ2V0RGVwcmVjYXRlZE1vZGVsKCdbZmRrRm9jdXNhYmxlSXRlbV0nLCAnW2ZuRm9jdXNhYmxlSXRlbV0nKVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNhdGVkRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSBleHRlbmRzIERlcHJlY2F0ZWRTZWxlY3RvciB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtGb2N1c2FibGVJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBGb2N1c2FibGVJdGVtRGlyZWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIERlc3Ryb3llZFNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBIYXNFbGVtZW50UmVmIHtcbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBmb2N1c2FibGUuIERlZmF1bHQgaXMgdHJ1ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBmZGtGb2N1c2FibGVJdGVtKHZhbDogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICAgICAgICB0aGlzLnNldFRhYmJhYmxlKHRoaXMuX2ZvY3VzYWJsZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZka0ZvY3VzYWJsZUl0ZW0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGU7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uLCB3aGljaCByZXR1cm5zIGEgc3RyaW5nIHRvIGJlIGFubm91bmNlZCBieSBzY3JlZW4tcmVhZGVyIHdoZW5ldmVyIGFuIGl0ZW0gd2hpY2ggaXMgaW4gZ3JpZCByZWNlaXZlcyBmb2N1cy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXI6IENlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXIgPSB0aGlzLl9kZWZhdWx0SXRlbUZvY3VzZWRFdmVudEFubm91bmNlcjtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNlbGwgcmVjZWl2ZXMgZm9jdXMsIG5vdCBiZWluZyBlbWl0dGVkIHdoZW4gZm9jdXMgbW92ZXMgYmV0d2VlbiBpdGVtJ3MgY2hpbGRyZW4uICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2VsbEZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIHJlYWRvbmx5IF9rZXlkb3duJCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wb3NpdGlvbjogRm9jdXNhYmxlSXRlbVBvc2l0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJiYWJsZUVsZW1lbnRzID0gbmV3IE1hcDxIVE1MRWxlbWVudCwgbnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJiYWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RpbWVySWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbDtcblxuICAgIC8qKiBFbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mb2N1c2FibGVPYnNlcnZlciA9IGluamVjdChGb2N1c2FibGVPYnNlcnZlcik7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFiYmFibGVFbGVtZW50U2VydmljZSA9IGluamVjdChUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xpdmVBbm5vdW5jZXIgPSBpbmplY3QoTGl2ZUFubm91bmNlcik7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fZm9jdXNhYmxlT2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZiwgZmFsc2UpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaXNGb2N1c2FibGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzRm9jdXNhYmxlICYmIGlzRm9jdXNhYmxlICE9PSB0aGlzLmZka0ZvY3VzYWJsZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZGtGb2N1c2FibGVJdGVtID0gaXNGb2N1c2FibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9vbkZvY3VzaW4oKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXNvdXQnKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uRm9jdXNvdXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRhYmJhYmxlIHN0YXRlICovXG4gICAgc2V0VGFiYmFibGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFiYmFibGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgdGhpcy5fdGFiYmFibGUgPyAnMCcgOiAnLTEnKTtcblxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VuYWJsZVRhYmJhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVUYWJiYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX29uRm9jdXNpbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLmZka0ZvY3VzYWJsZUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl90aW1lcklkICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lcklkKTtcbiAgICAgICAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3Bvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNlbGxGb2N1c2VkLm5leHQodGhpcy5fcG9zaXRpb24pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGl2ZUFubm91bmNlci5jbGVhcigpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodGhpcy5jZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyKHRoaXMuX3Bvc2l0aW9uKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRm9jdXNvdXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mZGtGb2N1c2FibGVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaW1lb3V0IGlzIG5lZWRlZCB0byBwcmV2ZW50IGZvY3Vzb3V0IGV2ZW50IGZyb20gYmVpbmcgZW1pdHRlZCB3aGVuIGZvY3VzIG1vdmVzIGJldHdlZW4gaXRlbSdzIGNoaWxkcmVuLlxuICAgICAgICB0aGlzLl90aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiAodGhpcy5fdGltZXJJZCA9IG51bGwpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZmRrRm9jdXNhYmxlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNGb2N1c2VkID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZEZvY3VzQ2hpbGQgPSBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBNQUNfRU5URVIsIEYyXSkgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmIGlzRm9jdXNlZDtcbiAgICAgICAgY29uc3Qgc2hvdWxkRm9jdXNDZWxsID1cbiAgICAgICAgICAgICgoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEYyKSAmJiBldmVudC5zaGlmdEtleSkgfHwgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEVTQ0FQRSkpICYmICFpc0ZvY3VzZWQ7XG5cbiAgICAgICAgaWYgKHNob3VsZEZvY3VzQ2hpbGQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCB0YWJiYWJsZUVsZW1lbnQgPSB0aGlzLl90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlLmdldFRhYmJhYmxlRWxlbWVudChcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0YWJiYWJsZUVsZW1lbnQ/LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChzaG91bGRGb2N1c0NlbGwpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlkb3duJC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZW5hYmxlVGFiYmFibGVFbGVtZW50cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3RhYmJhYmxlRWxlbWVudHMuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdGFiYmFibGVFbGVtZW50cy5mb3JFYWNoKCh0YWJJbmRleCwgZWxlbWVudCkgPT4gKGVsZW1lbnQudGFiSW5kZXggPSB0YWJJbmRleCkpO1xuICAgICAgICB0aGlzLl90YWJiYWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlzYWJsZVRhYmJhYmxlRWxlbWVudHMoKTogdm9pZCB7XG4gICAgICAgIC8vIFNpbmNlIHdlIGNhbm5vdCBzZWxlY3QgYnkgdGFiaW5kZXggYXR0cmlidXRlIChsaW5rcywgaW5wdXRzLCBidXR0b25zIG1pZ2h0IG5vdCBoYXZlIG9uZSBidXQgc3RpbGwgY2FuIGJlIGZvY3VzYWJsZSksXG4gICAgICAgIC8vIFNlbGVjdCBhbGwgZWxlbWVudHMgZnJvbSB0aGUgY2VsbCBhbmQgZmlsdGVyIGJ5IHRhYkluZGV4IHByb3BlcnR5LlxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcqJykpXG4gICAgICAgICAgICAuZmlsdGVyKChlbG0pID0+IGVsbS50YWJJbmRleCA+PSAwKVxuICAgICAgICAgICAgLmZvckVhY2goKGVsbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmJhYmxlRWxlbWVudHMuc2V0KGVsbSwgZWxtLnRhYkluZGV4KTtcbiAgICAgICAgICAgICAgICBlbG0udGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEl0ZW1Gb2N1c2VkRXZlbnRBbm5vdW5jZXIocG9zaXRpb246IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgQ29sdW1uICR7cG9zaXRpb24uY29sSW5kZXggKyAxfSBvZiAke3Bvc2l0aW9uLnRvdGFsQ29sc30sIHJvdzogJHtwb3NpdGlvbi5yb3dJbmRleCArIDF9IG9mICR7XG4gICAgICAgICAgICBwb3NpdGlvbi50b3RhbFJvd3NcbiAgICAgICAgfWA7XG4gICAgfVxufVxuIl19
@@ -2973,10 +2973,6 @@ class FocusableItemDirective {
2973
2973
  return this._focusable;
2974
2974
  }
2975
2975
  /** @hidden */
2976
- get _tabindex() {
2977
- return this._tabbable ? 0 : -1;
2978
- }
2979
- /** @hidden */
2980
2976
  constructor() {
2981
2977
  /** Function, which returns a string to be announced by screen-reader whenever an item which is in grid receives focus. */
2982
2978
  this.cellFocusedEventAnnouncer = this._defaultItemFocusedEventAnnouncer;
@@ -3003,6 +2999,8 @@ class FocusableItemDirective {
3003
2999
  /** @hidden */
3004
3000
  this._zone = inject(NgZone);
3005
3001
  /** @hidden */
3002
+ this._renderer2 = inject(Renderer2);
3003
+ /** @hidden */
3006
3004
  this._document = inject(DOCUMENT);
3007
3005
  this._focusableObserver
3008
3006
  .observe(this.elementRef, false)
@@ -3033,6 +3031,7 @@ class FocusableItemDirective {
3033
3031
  /** Set tabbable state */
3034
3032
  setTabbable(state) {
3035
3033
  this._tabbable = state;
3034
+ this._renderer2.setAttribute(this.elementRef.nativeElement, 'tabindex', this._tabbable ? '0' : '-1');
3036
3035
  if (state) {
3037
3036
  this._enableTabbableElements();
3038
3037
  }
@@ -3116,7 +3115,7 @@ class FocusableItemDirective {
3116
3115
  }
3117
3116
  }
3118
3117
  FocusableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3119
- FocusableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FocusableItemDirective, isStandalone: true, selector: "[fdkFocusableItem]", inputs: { fdkFocusableItem: "fdkFocusableItem", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, outputs: { cellFocused: "cellFocused" }, host: { properties: { "attr.tabindex": "this._tabindex" } }, providers: [
3118
+ FocusableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FocusableItemDirective, isStandalone: true, selector: "[fdkFocusableItem]", inputs: { fdkFocusableItem: "fdkFocusableItem", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, outputs: { cellFocused: "cellFocused" }, providers: [
3120
3119
  {
3121
3120
  provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,
3122
3121
  useExisting: FocusableItemDirective
@@ -3142,9 +3141,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
3142
3141
  type: Input
3143
3142
  }], cellFocused: [{
3144
3143
  type: Output
3145
- }], _tabindex: [{
3146
- type: HostBinding,
3147
- args: ['attr.tabindex']
3148
3144
  }] } });
3149
3145
 
3150
3146
  class FocusableItemModule {