@taiga-ui/core 4.74.1 → 4.76.0

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.
Files changed (32) hide show
  1. package/components/data-list/data-list.component.d.ts +1 -0
  2. package/components/textfield/textfield.component.d.ts +1 -0
  3. package/components/textfield/textfield.directive.d.ts +7 -4
  4. package/directives/dropdown/dropdown-a11y.directive.d.ts +11 -0
  5. package/directives/dropdown/dropdown-context.directive.d.ts +2 -1
  6. package/directives/dropdown/dropdown-open.directive.d.ts +4 -3
  7. package/directives/dropdown/dropdown.d.ts +2 -1
  8. package/directives/dropdown/dropdown.directive.d.ts +3 -2
  9. package/directives/dropdown/dropdown.providers.d.ts +2 -1
  10. package/directives/dropdown/index.d.ts +1 -0
  11. package/esm2022/components/data-list/data-list.component.mjs +8 -2
  12. package/esm2022/components/root/root.component.mjs +1 -1
  13. package/esm2022/components/textfield/textfield-multi/textfield-multi.component.mjs +7 -7
  14. package/esm2022/components/textfield/textfield.component.mjs +23 -11
  15. package/esm2022/components/textfield/textfield.directive.mjs +10 -5
  16. package/esm2022/directives/dropdown/dropdown-a11y.directive.mjs +52 -0
  17. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +12 -15
  18. package/esm2022/directives/dropdown/dropdown-hover.directive.mjs +3 -3
  19. package/esm2022/directives/dropdown/dropdown-open.directive.mjs +44 -36
  20. package/esm2022/directives/dropdown/dropdown.directive.mjs +11 -5
  21. package/esm2022/directives/dropdown/dropdown.mjs +3 -1
  22. package/esm2022/directives/dropdown/dropdown.providers.mjs +2 -1
  23. package/esm2022/directives/dropdown/index.mjs +2 -1
  24. package/fesm2022/taiga-ui-core-components-data-list.mjs +7 -1
  25. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
  27. package/fesm2022/taiga-ui-core-components-textfield.mjs +38 -23
  28. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +107 -49
  30. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  31. package/package.json +3 -3
  32. package/styles/mixins/hitbox.less +1 -1
@@ -1,6 +1,5 @@
1
- import { __decorate } from "tslib";
2
1
  import { DOCUMENT } from '@angular/common';
3
- import { computed, Directive, inject } from '@angular/core';
2
+ import { computed, Directive, inject, NgZone } from '@angular/core';
4
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
4
  import { EMPTY_CLIENT_RECT } from '@taiga-ui/cdk/constants';
6
5
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
@@ -8,17 +7,13 @@ import { tuiTypedFromEvent, tuiZonefree } from '@taiga-ui/cdk/observables';
8
7
  import { TUI_IS_TOUCH } from '@taiga-ui/cdk/tokens';
9
8
  import { tuiGetActualTarget, tuiPointToClientRect } from '@taiga-ui/cdk/utils/dom';
10
9
  import { tuiAsDriver, tuiAsRectAccessor, TuiRectAccessor } from '@taiga-ui/core/classes';
11
- import { shouldCall } from '@taiga-ui/event-plugins';
12
10
  import { merge } from 'rxjs';
13
11
  import { TuiDropdownDriver } from './dropdown.driver';
14
12
  import * as i0 from "@angular/core";
15
- function activeZoneFilter(event) {
16
- return (!event ||
17
- (this.driver.value && !this.activeZone.contains(tuiGetActualTarget(event))));
18
- }
19
13
  class TuiDropdownContext extends TuiRectAccessor {
20
14
  constructor() {
21
15
  super(...arguments);
16
+ this.zone = inject(NgZone);
22
17
  this.isTouch = inject(TUI_IS_TOUCH);
23
18
  this.currentRect = EMPTY_CLIENT_RECT;
24
19
  this.userSelect = computed(() => (this.isTouch() ? 'none' : null));
@@ -33,9 +28,14 @@ class TuiDropdownContext extends TuiRectAccessor {
33
28
  getClientRect() {
34
29
  return this.currentRect;
35
30
  }
36
- closeDropdown(_event) {
37
- this.driver.next(false);
38
- this.currentRect = EMPTY_CLIENT_RECT;
31
+ closeDropdown(event) {
32
+ if (!event ||
33
+ (this.driver.value && !this.activeZone.contains(tuiGetActualTarget(event)))) {
34
+ this.zone.run(() => {
35
+ this.driver.next(false);
36
+ this.currentRect = EMPTY_CLIENT_RECT;
37
+ });
38
+ }
39
39
  }
40
40
  onContextMenu(x, y) {
41
41
  this.currentRect = tuiPointToClientRect(x, y);
@@ -49,9 +49,6 @@ class TuiDropdownContext extends TuiRectAccessor {
49
49
  tuiAsRectAccessor(TuiDropdownContext),
50
50
  ], usesInheritance: true, ngImport: i0 }); }
51
51
  }
52
- __decorate([
53
- shouldCall(activeZoneFilter)
54
- ], TuiDropdownContext.prototype, "closeDropdown", null);
55
52
  export { TuiDropdownContext };
56
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownContext, decorators: [{
57
54
  type: Directive,
@@ -72,5 +69,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
72
69
  '(longtap)': 'onContextMenu($event.detail.clientX, $event.detail.clientY)',
73
70
  },
74
71
  }]
75
- }], propDecorators: { closeDropdown: [] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFcEQsU0FBUyxnQkFBZ0IsQ0FBMkIsS0FBYTtJQUM3RCxPQUFPLENBQ0gsQ0FBQyxLQUFLO1FBQ04sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztBQUNOLENBQUM7QUFFRCxNQWlCYSxrQkFBbUIsU0FBUSxlQUFlO0lBakJ2RDs7UUFrQnFCLFlBQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUVyQixlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QixRQUFHLEdBQUcsS0FBSyxDQUMxQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUMxQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUM5RDthQUNJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTVDLFNBQUksR0FBRyxVQUFVLENBQUM7S0FnQnJDO0lBZFUsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUdTLGFBQWEsQ0FBQyxNQUFjO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDekMsQ0FBQztJQUVTLGFBQWEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQS9CUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrV0FkaEI7WUFDUCxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztTQUN4Qzs7QUFnQ1M7SUFEVCxVQUFVLENBQUMsZ0JBQWdCLENBQUM7dURBSTVCO1NBMUJRLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQWpCOUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixXQUFXLENBQUMsaUJBQWlCLENBQUM7d0JBQzlCLGlCQUFpQixvQkFBb0I7cUJBQ3hDO29CQUNELElBQUksRUFBRTt3QkFDRixxQkFBcUIsRUFBRSxjQUFjO3dCQUNyQyw2QkFBNkIsRUFBRSxjQUFjO3dCQUM3QywrQkFBK0IsRUFBRSxjQUFjO3dCQUMvQyx3QkFBd0IsRUFBRSxpQkFBaUI7d0JBQzNDLFdBQVcsRUFBRSw2REFBNkQ7cUJBQzdFO2lCQUNKOzhCQXdCYSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX0NMSUVOVF9SRUNUfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50LCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1RVSV9JU19UT1VDSH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRBY3R1YWxUYXJnZXQsIHR1aVBvaW50VG9DbGllbnRSZWN0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUFzRHJpdmVyLCB0dWlBc1JlY3RBY2Nlc3NvciwgVHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7c2hvdWxkQ2FsbH0gZnJvbSAnQHRhaWdhLXVpL2V2ZW50LXBsdWdpbnMnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25Ecml2ZXJ9IGZyb20gJy4vZHJvcGRvd24uZHJpdmVyJztcblxuZnVuY3Rpb24gYWN0aXZlWm9uZUZpbHRlcih0aGlzOiBUdWlEcm9wZG93bkNvbnRleHQsIGV2ZW50PzogRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAhZXZlbnQgfHxcbiAgICAgICAgKHRoaXMuZHJpdmVyLnZhbHVlICYmICF0aGlzLmFjdGl2ZVpvbmUuY29udGFpbnModHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSkpXG4gICAgKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bkNvbnRleHRdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpQWN0aXZlWm9uZSxcbiAgICAgICAgVHVpRHJvcGRvd25Ecml2ZXIsXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duRHJpdmVyKSxcbiAgICAgICAgdHVpQXNSZWN0QWNjZXNzb3IoVHVpRHJvcGRvd25Db250ZXh0KSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS51c2VyLXNlbGVjdF0nOiAndXNlclNlbGVjdCgpJyxcbiAgICAgICAgJ1tzdHlsZS4td2Via2l0LXVzZXItc2VsZWN0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnW3N0eWxlLi13ZWJraXQtdG91Y2gtY2FsbG91dF0nOiAndXNlclNlbGVjdCgpJyxcbiAgICAgICAgJyhkb2N1bWVudDprZXlkb3duLmVzYyknOiAnY2xvc2VEcm9wZG93bigpJyxcbiAgICAgICAgJyhsb25ndGFwKSc6ICdvbkNvbnRleHRNZW51KCRldmVudC5kZXRhaWwuY2xpZW50WCwgJGV2ZW50LmRldGFpbC5jbGllbnRZKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db250ZXh0IGV4dGVuZHMgVHVpUmVjdEFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzVG91Y2ggPSBpbmplY3QoVFVJX0lTX1RPVUNIKTtcbiAgICBwcml2YXRlIGN1cnJlbnRSZWN0ID0gRU1QVFlfQ0xJRU5UX1JFQ1Q7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXNlclNlbGVjdCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlzVG91Y2goKSA/ICdub25lJyA6IG51bGwpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJpdmVyID0gaW5qZWN0KFR1aURyb3Bkb3duRHJpdmVyKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVyZG93bicpLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ2NvbnRleHRtZW51Jywge2NhcHR1cmU6IHRydWV9KSxcbiAgICApXG4gICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKCksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VEcm9wZG93bihldmVudCkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRSZWN0O1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKGFjdGl2ZVpvbmVGaWx0ZXIpXG4gICAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oX2V2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcml2ZXIubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Db250ZXh0TWVudSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMuZHJpdmVyLm5leHQodHJ1ZSk7XG4gICAgfVxufVxuIl19
72
+ }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQUVwRCxNQWlCYSxrQkFBbUIsU0FBUSxlQUFlO0lBakJ2RDs7UUFrQnFCLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLGlCQUFpQixDQUFDO1FBRXJCLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RCxlQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNuQyxRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZCLFFBQUcsR0FBRyxLQUFLLENBQzFCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLEVBQzFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQzlEO2FBQ0ksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUM7YUFDekMsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFNUMsU0FBSSxHQUFHLFVBQVUsQ0FBQztLQXNCckM7SUFwQlUsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVTLGFBQWEsQ0FBQyxLQUFhO1FBQ2pDLElBQ0ksQ0FBQyxLQUFLO1lBQ04sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDN0U7WUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFUyxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0F0Q1Esa0JBQWtCO21HQUFsQixrQkFBa0Isa1dBZGhCO1lBQ1AsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDOUIsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7U0FDeEM7O1NBU1Esa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBakI5QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDOUIsaUJBQWlCLG9CQUFvQjtxQkFDeEM7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLHFCQUFxQixFQUFFLGNBQWM7d0JBQ3JDLDZCQUE2QixFQUFFLGNBQWM7d0JBQzdDLCtCQUErQixFQUFFLGNBQWM7d0JBQy9DLHdCQUF3QixFQUFFLGlCQUFpQjt3QkFDM0MsV0FBVyxFQUFFLDZEQUE2RDtxQkFDN0U7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtFTVBUWV9DTElFTlRfUkVDVH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfSVNfVE9VQ0h9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0QWN0dWFsVGFyZ2V0LCB0dWlQb2ludFRvQ2xpZW50UmVjdH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlBc0RyaXZlciwgdHVpQXNSZWN0QWNjZXNzb3IsIFR1aVJlY3RBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlcn0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duQ29udGV4dF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlBY3RpdmVab25lLFxuICAgICAgICBUdWlEcm9wZG93bkRyaXZlcixcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Ecml2ZXIpLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93bkNvbnRleHQpLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnVzZXItc2VsZWN0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnW3N0eWxlLi13ZWJraXQtdXNlci1zZWxlY3RdJzogJ3VzZXJTZWxlY3QoKScsXG4gICAgICAgICdbc3R5bGUuLXdlYmtpdC10b3VjaC1jYWxsb3V0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnKGRvY3VtZW50OmtleWRvd24uZXNjKSc6ICdjbG9zZURyb3Bkb3duKCknLFxuICAgICAgICAnKGxvbmd0YXApJzogJ29uQ29udGV4dE1lbnUoJGV2ZW50LmRldGFpbC5jbGllbnRYLCAkZXZlbnQuZGV0YWlsLmNsaWVudFkpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkNvbnRleHQgZXh0ZW5kcyBUdWlSZWN0QWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNUb3VjaCA9IGluamVjdChUVUlfSVNfVE9VQ0gpO1xuICAgIHByaXZhdGUgY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyU2VsZWN0ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuaXNUb3VjaCgpID8gJ25vbmUnIDogbnVsbCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcml2ZXIgPSBpbmplY3QoVHVpRHJvcGRvd25Ecml2ZXIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IG1lcmdlKFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ3BvaW50ZXJkb3duJyksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnY29udGV4dG1lbnUnLCB7Y2FwdHVyZTogdHJ1ZX0pLFxuICAgIClcbiAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUoKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbG9zZURyb3Bkb3duKGV2ZW50KSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50UmVjdCgpOiBET01SZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFJlY3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZXZlbnQgfHxcbiAgICAgICAgICAgICh0aGlzLmRyaXZlci52YWx1ZSAmJiAhdGhpcy5hY3RpdmVab25lLmNvbnRhaW5zKHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29udGV4dE1lbnUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IHR1aVBvaW50VG9DbGllbnRSZWN0KHgsIHkpO1xuICAgICAgICB0aGlzLmRyaXZlci5uZXh0KHRydWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
5
5
  import { tuiTypedFromEvent, tuiZoneOptimized } from '@taiga-ui/cdk/observables';
6
6
  import { tuiGetActualTarget, tuiInjectElement, tuiIsElement, } from '@taiga-ui/cdk/utils/dom';
7
7
  import { tuiAsDriver, TuiDriver } from '@taiga-ui/core/classes';
8
- import { delay, distinctUntilChanged, filter, fromEvent, map, merge, of, share, startWith, switchMap, takeUntil, tap, } from 'rxjs';
8
+ import { delay, distinctUntilChanged, EMPTY, filter, fromEvent, map, merge, of, share, startWith, switchMap, takeUntil, tap, } from 'rxjs';
9
9
  import { TuiDropdownDirective } from './dropdown.directive';
10
10
  import { TUI_DROPDOWN_HOVER_OPTIONS } from './dropdown-hover.options';
11
11
  import { TuiDropdownOpen } from './dropdown-open.directive';
@@ -23,7 +23,7 @@ class TuiDropdownHover extends TuiDriver {
23
23
  * swipe on mobile devices removes dropdown sheet without triggering new mouseover / mouseout events.
24
24
  */
25
25
  this.dropdownExternalRemoval$ = toObservable(inject(TuiDropdownDirective).ref).pipe(filter((x) => !x && this.hovered));
26
- this.stream$ = merge(this.dropdownExternalRemoval$.pipe(switchMap(() => tuiTypedFromEvent(this.doc, 'pointerdown').pipe(map(tuiGetActualTarget), delay(this.hideDelay), startWith(null), takeUntil(fromEvent(this.doc, 'mouseover'))))), tuiTypedFromEvent(this.doc, 'mouseover').pipe(map(tuiGetActualTarget)), tuiTypedFromEvent(this.doc, 'mouseout').pipe(map((e) => e.relatedTarget))).pipe(map((element) => tuiIsElement(element) && this.isHovered(element)), distinctUntilChanged(), switchMap((v) => of(v).pipe(delay(v ? this.showDelay : this.hideDelay))), tuiZoneOptimized(), tap((hovered) => {
26
+ this.stream$ = merge(this.dropdownExternalRemoval$.pipe(switchMap(() => tuiTypedFromEvent(this.doc, 'pointerdown').pipe(map(tuiGetActualTarget), delay(this.hideDelay), startWith(null), takeUntil(fromEvent(this.doc, 'mouseover'))))), tuiTypedFromEvent(this.doc, 'mouseover').pipe(map(tuiGetActualTarget)), tuiTypedFromEvent(this.doc, 'mouseout').pipe(map((e) => e.relatedTarget))).pipe(map((element) => tuiIsElement(element) && this.isHovered(element)), distinctUntilChanged(), switchMap((visible) => of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay), takeUntil(this.open ? fromEvent(this.el, 'pointerdown') : EMPTY))), tuiZoneOptimized(), tap((hovered) => {
27
27
  this.hovered = hovered;
28
28
  this.open?.toggle(hovered);
29
29
  }), share());
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  type: Input,
68
68
  args: ['tuiDropdownHideDelay']
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFDSCxLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssRUFDTCxFQUFFLEVBQ0YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDTixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFMUQsTUFRYSxnQkFBaUIsU0FBUSxTQUFTO0lBb0QzQztRQUNJLEtBQUss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QUFDLFlBQVksRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUUsT0FBTyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQzVCLENBQUM7K0dBcEVRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDhPQUxkLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGtIQU1FLFVBQVU7O1NBRDVELGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVI1QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxrQkFBa0IsQ0FBQztvQkFDekQsSUFBSSxFQUFFO3dCQUNGLGlCQUFpQixFQUFFLGlCQUFpQjtxQkFDdkM7aUJBQ0o7MEVBR29CLFlBQVk7c0JBRDVCLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBMEMvRCxTQUFTO3NCQURmLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUl0QixTQUFTO3NCQURmLEtBQUs7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnQsIHR1aVpvbmVPcHRpbWl6ZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgdHVpSW5qZWN0RWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQXNEcml2ZXIsIFR1aURyaXZlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge1xuICAgIGRlbGF5LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBmcm9tRXZlbnQsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIG9mLFxuICAgIHNoYXJlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVVudGlsLFxuICAgIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX0RST1BET1dOX0hPVkVSX09QVElPTlN9IGZyb20gJy4vZHJvcGRvd24taG92ZXIub3B0aW9ucyc7XG5pbXBvcnQge1R1aURyb3Bkb3duT3Blbn0gZnJvbSAnLi9kcm9wZG93bi1vcGVuLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25Ib3Zlcl0nLFxuICAgIHByb3ZpZGVyczogW1R1aUFjdGl2ZVpvbmUsIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duSG92ZXIpXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2suY2FwdHVyZSknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkhvdmVyIGV4dGVuZHMgVHVpRHJpdmVyIHtcbiAgICBAQ29udGVudENoaWxkKCd0dWlEcm9wZG93bkhvc3QnLCB7ZGVzY2VuZGFudHM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25Ib3N0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0RST1BET1dOX0hPVkVSX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wZW4gPSBpbmplY3QoVHVpRHJvcGRvd25PcGVuLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICAvKipcbiAgICAgKiBEcm9wZG93biBjYW4gYmUgcmVtb3ZlZCBub3Qgb25seSB2aWEgY2xpY2svdG91Y2gg4oCTXG4gICAgICogc3dpcGUgb24gbW9iaWxlIGRldmljZXMgcmVtb3ZlcyBkcm9wZG93biBzaGVldCB3aXRob3V0IHRyaWdnZXJpbmcgbmV3IG1vdXNlb3ZlciAvIG1vdXNlb3V0IGV2ZW50cy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duRXh0ZXJuYWxSZW1vdmFsJCA9IHRvT2JzZXJ2YWJsZShcbiAgICAgICAgaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKS5yZWYsXG4gICAgKS5waXBlKGZpbHRlcigoeCkgPT4gIXggJiYgdGhpcy5ob3ZlcmVkKSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBtZXJnZShcbiAgICAgICAgdGhpcy5kcm9wZG93bkV4dGVybmFsUmVtb3ZhbCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAncG9pbnRlcmRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAodHVpR2V0QWN0dWFsVGFyZ2V0KSxcbiAgICAgICAgICAgICAgICAgICAgZGVsYXkodGhpcy5oaWRlRGVsYXkpLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChmcm9tRXZlbnQodGhpcy5kb2MsICdtb3VzZW92ZXInKSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnbW91c2VvdmVyJykucGlwZShtYXAodHVpR2V0QWN0dWFsVGFyZ2V0KSksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jLCAnbW91c2VvdXQnKS5waXBlKG1hcCgoZSkgPT4gZS5yZWxhdGVkVGFyZ2V0KSksXG4gICAgKS5waXBlKFxuICAgICAgICBtYXAoKGVsZW1lbnQpID0+IHR1aUlzRWxlbWVudChlbGVtZW50KSAmJiB0aGlzLmlzSG92ZXJlZChlbGVtZW50KSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCgodikgPT4gb2YodikucGlwZShkZWxheSh2ID8gdGhpcy5zaG93RGVsYXkgOiB0aGlzLmhpZGVEZWxheSkpKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZCgpLFxuICAgICAgICB0YXAoKGhvdmVyZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IGhvdmVyZWQ7XG4gICAgICAgICAgICB0aGlzLm9wZW4/LnRvZ2dsZShob3ZlcmVkKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TaG93RGVsYXknKVxuICAgIHB1YmxpYyBzaG93RGVsYXkgPSB0aGlzLm9wdGlvbnMuc2hvd0RlbGF5O1xuXG4gICAgQElucHV0KCd0dWlEcm9wZG93bkhpZGVEZWxheScpXG4gICAgcHVibGljIGhpZGVEZWxheSA9IHRoaXMub3B0aW9ucy5oaWRlRGVsYXk7XG5cbiAgICBwdWJsaWMgaG92ZXJlZCA9IGZhbHNlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKChzdWJzY3JpYmVyKSA9PiB0aGlzLnN0cmVhbSQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3ZlcmVkICYmIHRoaXMub3Blbikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNIb3ZlcmVkKGVsZW1lbnQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMuZHJvcGRvd25Ib3N0Py5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IGhvdmVyZWQgPSBob3N0LmNvbnRhaW5zKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjaGlsZCA9ICF0aGlzLmVsLmNvbnRhaW5zKGVsZW1lbnQpICYmIHRoaXMuYWN0aXZlWm9uZS5jb250YWlucyhlbGVtZW50KTtcblxuICAgICAgICByZXR1cm4gaG92ZXJlZCB8fCBjaGlsZDtcbiAgICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixZQUFZLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFDSCxLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBRTFELE1BUWEsZ0JBQWlCLFNBQVEsU0FBUztJQXlEM0M7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TyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVPLFNBQVMsQ0FBQyxPQUFnQjtRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RSxPQUFPLE9BQU8sSUFBSSxLQUFLLENBQUM7SUFDNUIsQ0FBQzsrR0F6RVEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsOE9BTGQsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsa0hBTUUsVUFBVTs7U0FENUQsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBUjVCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGFBQWEsRUFBRSxXQUFXLGtCQUFrQixDQUFDO29CQUN6RCxJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsaUJBQWlCO3FCQUN2QztpQkFDSjswRUFHb0IsWUFBWTtzQkFENUIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkErQy9ELFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBSXRCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudCwgdHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1xuICAgIHR1aUdldEFjdHVhbFRhcmdldCxcbiAgICB0dWlJbmplY3RFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlBc0RyaXZlciwgVHVpRHJpdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7XG4gICAgZGVsYXksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgRU1QVFksXG4gICAgZmlsdGVyLFxuICAgIGZyb21FdmVudCxcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgb2YsXG4gICAgc2hhcmUsXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fSE9WRVJfT1BUSU9OU30gZnJvbSAnLi9kcm9wZG93bi1ob3Zlci5vcHRpb25zJztcbmltcG9ydCB7VHVpRHJvcGRvd25PcGVufSBmcm9tICcuL2Ryb3Bkb3duLW9wZW4uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bkhvdmVyXScsXG4gICAgcHJvdmlkZXJzOiBbVHVpQWN0aXZlWm9uZSwgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Ib3ZlcildLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljay5jYXB0dXJlKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duSG92ZXIgZXh0ZW5kcyBUdWlEcml2ZXIge1xuICAgIEBDb250ZW50Q2hpbGQoJ3R1aURyb3Bkb3duSG9zdCcsIHtkZXNjZW5kYW50czogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkhvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRFJPUERPV05fSE9WRVJfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IGluamVjdChUdWlEcm9wZG93bk9wZW4sIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIC8qKlxuICAgICAqIERyb3Bkb3duIGNhbiBiZSByZW1vdmVkIG5vdCBvbmx5IHZpYSBjbGljay90b3VjaCDigJNcbiAgICAgKiBzd2lwZSBvbiBtb2JpbGUgZGV2aWNlcyByZW1vdmVzIGRyb3Bkb3duIHNoZWV0IHdpdGhvdXQgdHJpZ2dlcmluZyBuZXcgbW91c2VvdmVyIC8gbW91c2VvdXQgZXZlbnRzLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25FeHRlcm5hbFJlbW92YWwkID0gdG9PYnNlcnZhYmxlKFxuICAgICAgICBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpLnJlZixcbiAgICApLnBpcGUoZmlsdGVyKCh4KSA9PiAheCAmJiB0aGlzLmhvdmVyZWQpKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtJCA9IG1lcmdlKFxuICAgICAgICB0aGlzLmRyb3Bkb3duRXh0ZXJuYWxSZW1vdmFsJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVyZG93bicpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCh0dWlHZXRBY3R1YWxUYXJnZXQpLFxuICAgICAgICAgICAgICAgICAgICBkZWxheSh0aGlzLmhpZGVEZWxheSksXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKGZyb21FdmVudCh0aGlzLmRvYywgJ21vdXNlb3ZlcicpKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdtb3VzZW92ZXInKS5waXBlKG1hcCh0dWlHZXRBY3R1YWxUYXJnZXQpKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdtb3VzZW91dCcpLnBpcGUobWFwKChlKSA9PiBlLnJlbGF0ZWRUYXJnZXQpKSxcbiAgICApLnBpcGUoXG4gICAgICAgIG1hcCgoZWxlbWVudCkgPT4gdHVpSXNFbGVtZW50KGVsZW1lbnQpICYmIHRoaXMuaXNIb3ZlcmVkKGVsZW1lbnQpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2aXNpYmxlKSA9PlxuICAgICAgICAgICAgb2YodmlzaWJsZSkucGlwZShcbiAgICAgICAgICAgICAgICBkZWxheSh2aXNpYmxlID8gdGhpcy5zaG93RGVsYXkgOiB0aGlzLmhpZGVEZWxheSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMub3BlbiA/IGZyb21FdmVudCh0aGlzLmVsLCAncG9pbnRlcmRvd24nKSA6IEVNUFRZKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHR1aVpvbmVPcHRpbWl6ZWQoKSxcbiAgICAgICAgdGFwKChob3ZlcmVkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyZWQgPSBob3ZlcmVkO1xuICAgICAgICAgICAgdGhpcy5vcGVuPy50b2dnbGUoaG92ZXJlZCk7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZSgpLFxuICAgICk7XG5cbiAgICBASW5wdXQoJ3R1aURyb3Bkb3duU2hvd0RlbGF5JylcbiAgICBwdWJsaWMgc2hvd0RlbGF5ID0gdGhpcy5vcHRpb25zLnNob3dEZWxheTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25IaWRlRGVsYXknKVxuICAgIHB1YmxpYyBoaWRlRGVsYXkgPSB0aGlzLm9wdGlvbnMuaGlkZURlbGF5O1xuXG4gICAgcHVibGljIGhvdmVyZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigoc3Vic2NyaWJlcikgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG92ZXJlZCAmJiB0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSG92ZXJlZChlbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsO1xuICAgICAgICBjb25zdCBob3ZlcmVkID0gaG9zdC5jb250YWlucyhlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY2hpbGQgPSAhdGhpcy5lbC5jb250YWlucyhlbGVtZW50KSAmJiB0aGlzLmFjdGl2ZVpvbmUuY29udGFpbnMoZWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIGhvdmVyZWQgfHwgY2hpbGQ7XG4gICAgfVxufVxuIl19
@@ -1,36 +1,27 @@
1
- import { __decorate } from "tslib";
2
- import { computed, ContentChild, Directive, ElementRef, EventEmitter, inject, Input, Output, } from '@angular/core';
1
+ import { computed, ContentChild, Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';
3
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
3
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
5
4
  import { TuiObscured } from '@taiga-ui/cdk/directives/obscured';
6
5
  import { tuiCloseWatcher, tuiIfMap, tuiWatch, tuiZonefull, } from '@taiga-ui/cdk/observables';
7
6
  import { tuiGetActualTarget, tuiInjectElement, tuiIsElement, tuiIsElementEditable, tuiIsHTMLElement, } from '@taiga-ui/cdk/utils/dom';
8
7
  import { tuiGetClosestFocusable, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, } from '@taiga-ui/cdk/utils/focus';
8
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
9
9
  import { tuiAsDriver } from '@taiga-ui/core/classes';
10
10
  import { tuiIsEditingKey } from '@taiga-ui/core/utils/miscellaneous';
11
- import { shouldCall } from '@taiga-ui/event-plugins';
12
11
  import { filter, fromEvent, merge } from 'rxjs';
13
12
  import { TuiDropdownDirective } from './dropdown.directive';
14
13
  import { TuiDropdownDriver } from './dropdown.driver';
14
+ import { TUI_DROPDOWN_HOST } from './dropdown.providers';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "@taiga-ui/cdk/directives/obscured";
17
17
  import * as i2 from "@taiga-ui/cdk/directives/active-zone";
18
- function shouldClose(event) {
19
- return (
20
- // @ts-ignore
21
- typeof CloseWatcher === 'undefined' &&
22
- // ?. for auto fill events
23
- event.key?.toLowerCase() === 'escape' &&
24
- this.tuiDropdownEnabled &&
25
- !!this.tuiDropdownOpen &&
26
- !this['dropdown']()?.nextElementSibling);
27
- }
28
18
  class TuiDropdownOpen {
29
19
  constructor() {
30
20
  this.directive = inject(TuiDropdownDirective);
31
21
  this.el = tuiInjectElement();
32
22
  this.obscured = inject(TuiObscured);
33
23
  this.activeZone = inject(TuiActiveZone);
24
+ this.zone = inject(NgZone);
34
25
  this.dropdown = computed(() => this.directive.ref()?.location.nativeElement);
35
26
  this.tuiDropdownEnabled = true;
36
27
  this.tuiDropdownOpen = false;
@@ -38,7 +29,7 @@ class TuiDropdownOpen {
38
29
  // TODO: make it private when all legacy controls will be deleted from @taiga-ui/legacy (5.0)
39
30
  this.driver = inject(TuiDropdownDriver);
40
31
  this.sub = this.driver
41
- .pipe(tuiIfMap(() => merge(tuiCloseWatcher(), this.obscured.tuiObscured.pipe(filter(Boolean)), this.activeZone.tuiActiveZoneChange.pipe(filter((a) => !a)), fromEvent(this.el, 'focusin').pipe(filter((event) => !this.host.contains(tuiGetActualTarget(event)) ||
32
+ .pipe(tuiIfMap(() => merge(tuiCloseWatcher(), this.obscured.tuiObscured.pipe(filter(Boolean)), this.activeZone.tuiActiveZoneChange.pipe(filter((a) => !a)), fromEvent(this.el, 'focusin').pipe(filter((event) => !this.nativeElement.contains(tuiGetActualTarget(event)) ||
42
33
  !this.directive.ref())))), tuiZonefull(), tuiWatch(), takeUntilDestroyed())
43
34
  .subscribe(() => this.toggle(false));
44
35
  this.sync = this.driver.pipe(takeUntilDestroyed()).subscribe((open) => {
@@ -47,28 +38,46 @@ class TuiDropdownOpen {
47
38
  }
48
39
  });
49
40
  }
41
+ get nativeElement() {
42
+ const initial = this.dropdownHost?.nativeElement || this.el;
43
+ const focusable = tuiIsNativeKeyboardFocusable(initial)
44
+ ? initial
45
+ : tuiGetClosestFocusable({ initial, root: this.el });
46
+ return this.dropdownHost?.nativeElement || focusable || this.el;
47
+ }
50
48
  ngOnChanges() {
51
49
  this.drive(!!this.tuiDropdownOpen);
52
50
  this.tuiDropdownOpenChange.emit(!!this.tuiDropdownOpen);
53
51
  }
54
52
  toggle(open) {
55
53
  if (this.focused && !open) {
56
- this.host.focus({ preventScroll: true });
54
+ this.nativeElement.focus({ preventScroll: true });
57
55
  }
58
56
  this.update(open);
59
57
  }
60
58
  onEsc(event) {
61
- event.preventDefault();
62
- this.toggle(false);
59
+ if (
60
+ // @ts-ignore
61
+ typeof CloseWatcher === 'undefined' &&
62
+ // ?. for autofill events
63
+ event.key?.toLowerCase() === 'escape' &&
64
+ this.tuiDropdownEnabled &&
65
+ !!this.tuiDropdownOpen &&
66
+ !this.dropdown()?.nextElementSibling) {
67
+ this.zone.run(() => {
68
+ event.preventDefault();
69
+ this.toggle(false);
70
+ });
71
+ }
63
72
  }
64
73
  onClick(target) {
65
- if (!this.editable && this.host.contains(target)) {
74
+ if (!this.editable && this.nativeElement.contains(target)) {
66
75
  this.update(!this.tuiDropdownOpen);
67
76
  }
68
77
  }
69
78
  onArrow(event, up) {
70
79
  if (!tuiIsElement(event.target) ||
71
- !this.host.contains(event.target) ||
80
+ !this.nativeElement.contains(event.target) ||
72
81
  !this.tuiDropdownEnabled ||
73
82
  !this.directive._content()) {
74
83
  return;
@@ -84,21 +93,15 @@ class TuiDropdownOpen {
84
93
  this.focused &&
85
94
  tuiIsHTMLElement(target) &&
86
95
  !tuiIsElementEditable(target)) {
87
- this.host.focus({ preventScroll: true });
96
+ this.nativeElement.focus({ preventScroll: true });
88
97
  }
89
98
  }
90
- get host() {
91
- const initial = this.dropdownHost?.nativeElement || this.el;
92
- const focusable = tuiIsNativeKeyboardFocusable(initial)
93
- ? initial
94
- : tuiGetClosestFocusable({ initial, root: this.el });
95
- return this.dropdownHost?.nativeElement || focusable || this.el;
96
- }
97
99
  get editable() {
98
- return tuiIsElementEditable(this.host);
100
+ return tuiIsElementEditable(this.nativeElement);
99
101
  }
100
102
  get focused() {
101
- return tuiIsNativeFocusedIn(this.host) || tuiIsNativeFocusedIn(this.dropdown());
103
+ return (tuiIsNativeFocusedIn(this.nativeElement) ||
104
+ tuiIsNativeFocusedIn(this.dropdown()));
102
105
  }
103
106
  update(open) {
104
107
  if (open && !this.tuiDropdownEnabled) {
@@ -126,18 +129,23 @@ class TuiDropdownOpen {
126
129
  focusable?.focus();
127
130
  }
128
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
129
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownOpen, isStandalone: true, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: { tuiDropdownEnabled: "tuiDropdownEnabled", tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown.arrowDown": "onArrow($event, false)", "keydown.arrowUp": "onArrow($event, true)", "document:keydown.zoneless.capture": "onEsc($event)", "document:keydown.zoneless": "onKeydown($event)", "tuiActiveZoneChange": "0" } }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiObscured }, { directive: i2.TuiActiveZone, inputs: ["tuiActiveZoneParent", "tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange", "tuiActiveZoneChange"] }], ngImport: i0 }); }
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownOpen, isStandalone: true, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: { tuiDropdownEnabled: "tuiDropdownEnabled", tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown.arrowDown": "onArrow($event, false)", "keydown.arrowUp": "onArrow($event, true)", "document:keydown.zoneless.capture": "onEsc($event)", "document:keydown.zoneless": "onKeydown($event)", "tuiActiveZoneChange": "0" } }, providers: [
133
+ TuiDropdownDriver,
134
+ tuiAsDriver(TuiDropdownDriver),
135
+ tuiProvide(TUI_DROPDOWN_HOST, TuiDropdownOpen),
136
+ ], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiObscured }, { directive: i2.TuiActiveZone, inputs: ["tuiActiveZoneParent", "tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange", "tuiActiveZoneChange"] }], ngImport: i0 }); }
130
137
  }
131
- __decorate([
132
- shouldCall(shouldClose)
133
- ], TuiDropdownOpen.prototype, "onEsc", null);
134
138
  export { TuiDropdownOpen };
135
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownOpen, decorators: [{
136
140
  type: Directive,
137
141
  args: [{
138
142
  standalone: true,
139
143
  selector: '[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]',
140
- providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
144
+ providers: [
145
+ TuiDropdownDriver,
146
+ tuiAsDriver(TuiDropdownDriver),
147
+ tuiProvide(TUI_DROPDOWN_HOST, TuiDropdownOpen),
148
+ ],
141
149
  hostDirectives: [
142
150
  TuiObscured,
143
151
  {
@@ -165,5 +173,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
165
173
  type: Input
166
174
  }], tuiDropdownOpenChange: [{
167
175
  type: Output
168
- }], onEsc: [] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUNILGVBQWUsRUFDZixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsR0FDZCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNILHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsNEJBQTRCLEdBQy9CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFE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LENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDOUQsY0FBYyxFQUFFO3dCQUNaLFdBQVc7d0JBQ1g7NEJBQ0ksU0FBUyxFQUFFLGFBQWE7NEJBQ3hCLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDOzRCQUMvQixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzt5QkFDbkM7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSx3QkFBd0I7d0JBQ25DLHFCQUFxQixFQUFFLHdCQUF3Qjt3QkFDL0MsbUJBQW1CLEVBQUUsdUJBQXVCO3dCQUM1QyxxQ0FBcUMsRUFBRSxlQUFlO3dCQUN0RCw2QkFBNkIsRUFBRSxtQkFBbUI7d0JBQ2xELCtHQUErRzt3QkFDL0csdUJBQXVCLEVBQUUsR0FBRztxQkFDL0I7aUJBQ0o7OEJBR29CLFlBQVk7c0JBRDVCLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBYS9ELGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlVLHFCQUFxQjtzQkFEcEMsTUFBTTtnQkErQ0csS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aU9ic2N1cmVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvb2JzY3VyZWQnO1xuaW1wb3J0IHtcbiAgICB0dWlDbG9zZVdhdGNoZXIsXG4gICAgdHVpSWZNYXAsXG4gICAgdHVpV2F0Y2gsXG4gICAgdHVpWm9uZWZ1bGwsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgdHVpSW5qZWN0RWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNFbGVtZW50RWRpdGFibGUsXG4gICAgdHVpSXNIVE1MRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aUlzTmF0aXZlS2V5Ym9hcmRGb2N1c2FibGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlBc0RyaXZlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge3R1aUlzRWRpdGluZ0tleX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3Nob3VsZENhbGx9IGZyb20gJ0B0YWlnYS11aS9ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7ZmlsdGVyLCBmcm9tRXZlbnQsIG1lcmdlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlcn0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuXG5mdW5jdGlvbiBzaG91bGRDbG9zZSh0aGlzOiBUdWlEcm9wZG93bk9wZW4sIGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0eXBlb2YgQ2xvc2VXYXRjaGVyID09PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAvLyA/LiBmb3IgYXV0byBmaWxsIGV2ZW50c1xuICAgICAgICBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCkgPT09ICdlc2NhcGUnICYmXG4gICAgICAgIHRoaXMudHVpRHJvcGRvd25FbmFibGVkICYmXG4gICAgICAgICEhdGhpcy50dWlEcm9wZG93bk9wZW4gJiZcbiAgICAgICAgIXRoaXNbJ2Ryb3Bkb3duJ10oKT8ubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25PcGVuXSxbdHVpRHJvcGRvd25dW3R1aURyb3Bkb3duT3BlbkNoYW5nZV0nLFxuICAgIHByb3ZpZGVyczogW1R1aURyb3Bkb3duRHJpdmVyLCB0dWlBc0RyaXZlcihUdWlEcm9wZG93bkRyaXZlcildLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU9ic2N1cmVkLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aUFjdGl2ZVpvbmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsndHVpQWN0aXZlWm9uZVBhcmVudCddLFxuICAgICAgICAgICAgb3V0cHV0czogWyd0dWlBY3RpdmVab25lQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duKSc6ICdvbkFycm93KCRldmVudCwgZmFsc2UpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXApJzogJ29uQXJyb3coJGV2ZW50LCB0cnVlKScsXG4gICAgICAgICcoZG9jdW1lbnQ6a2V5ZG93bi56b25lbGVzcy5jYXB0dXJlKSc6ICdvbkVzYygkZXZlbnQpJyxcbiAgICAgICAgJyhkb2N1bWVudDprZXlkb3duLnpvbmVsZXNzKSc6ICdvbktleWRvd24oJGV2ZW50KScsXG4gICAgICAgIC8vIFRPRE86IE5lY2Vzc2FyeSBiZWNhdXNlIHN0YXJ0V2l0aChmYWxzZSkgKyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpIGluIFR1aUFjdGl2ZVpvbmUsIHRoaW5rIG9mIGJldHRlciBzb2x1dGlvblxuICAgICAgICAnKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpJzogJzAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duT3BlbiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQENvbnRlbnRDaGlsZCgndHVpRHJvcGRvd25Ib3N0Jywge2Rlc2NlbmRhbnRzOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duSG9zdD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3RpdmUgPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNjdXJlZCA9IGluamVjdChUdWlPYnNjdXJlZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiB0aGlzLmRpcmVjdGl2ZS5yZWYoKT8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpRHJvcGRvd25FbmFibGVkID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aURyb3Bkb3duT3BlbjogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHVpRHJvcGRvd25PcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLy8gVE9ETzogbWFrZSBpdCBwcml2YXRlIHdoZW4gYWxsIGxlZ2FjeSBjb250cm9scyB3aWxsIGJlIGRlbGV0ZWQgZnJvbSBAdGFpZ2EtdWkvbGVnYWN5ICg1LjApXG4gICAgcHVibGljIHJlYWRvbmx5IGRyaXZlciA9IGluamVjdChUdWlEcm9wZG93bkRyaXZlcik7XG4gICAgcHVibGljIHJlYWRvbmx5IHN1YiA9IHRoaXMuZHJpdmVyXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdHVpSWZNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgdHVpQ2xvc2VXYXRjaGVyKCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2JzY3VyZWQudHVpT2JzY3VyZWQucGlwZShmaWx0ZXIoQm9vbGVhbikpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVpvbmUudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKGZpbHRlcigoYSkgPT4gIWEpKSxcbiAgICAgICAgICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWwsICdmb2N1c2luJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmhvc3QuY29udGFpbnModHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuZGlyZWN0aXZlLnJlZigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKCksXG4gICAgICAgICAgICB0dWlXYXRjaCgpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZShmYWxzZSkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHN5bmMgPSB0aGlzLmRyaXZlci5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKG9wZW4pID0+IHtcbiAgICAgICAgaWYgKG9wZW4gIT09IHRoaXMudHVpRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZShvcGVuKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyaXZlKCEhdGhpcy50dWlEcm9wZG93bk9wZW4pO1xuICAgICAgICB0aGlzLnR1aURyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KCEhdGhpcy50dWlEcm9wZG93bk9wZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmICFvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKG9wZW4pO1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKHNob3VsZENsb3NlKVxuICAgIHByb3RlY3RlZCBvbkVzYyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdGFibGUgJiYgdGhpcy5ob3N0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKCF0aGlzLnR1aURyb3Bkb3duT3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgdXA6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudChldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICAhdGhpcy5ob3N0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICF0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCB8fFxuICAgICAgICAgICAgIXRoaXMuZGlyZWN0aXZlLl9jb250ZW50KClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzRHJvcGRvd24odXApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZCAmJlxuICAgICAgICAgICAgdHVpSXNFZGl0aW5nS2V5KGV2ZW50LmtleSkgJiZcbiAgICAgICAgICAgIHRoaXMuZWRpdGFibGUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCAmJlxuICAgICAgICAgICAgdHVpSXNIVE1MRWxlbWVudCh0YXJnZXQpICYmXG4gICAgICAgICAgICAhdHVpSXNFbGVtZW50RWRpdGFibGUodGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsO1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0dWlJc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlKGluaXRpYWwpXG4gICAgICAgICAgICA/IGluaXRpYWxcbiAgICAgICAgICAgIDogdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbCwgcm9vdDogdGhpcy5lbH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCBmb2N1c2FibGUgfHwgdGhpcy5lbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzRWxlbWVudEVkaXRhYmxlKHRoaXMuaG9zdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuaG9zdCkgfHwgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5kcm9wZG93bigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvcGVuICYmICF0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZHJpdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHVpRHJvcGRvd25PcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy50dWlEcm9wZG93bk9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgICAgICAgdGhpcy5kcml2ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJpdmUob3BlbiA9ICEhdGhpcy50dWlEcm9wZG93bk9wZW4gJiYgdGhpcy50dWlEcm9wZG93bkVuYWJsZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNjdXJlZC50dWlPYnNjdXJlZEVuYWJsZWQgPSBvcGVuO1xuICAgICAgICB0aGlzLmRyaXZlci5uZXh0KG9wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNEcm9wZG93bihwcmV2aW91czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCByb290ID0gdGhpcy5kcm9wZG93bigpO1xuXG4gICAgICAgIGlmICghcm9vdCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUodHJ1ZSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvYyA9IHRoaXMuZWwub3duZXJEb2N1bWVudDtcbiAgICAgICAgY29uc3QgY2hpbGQgPSByb290LmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSBwcmV2aW91cyA/IGNoaWxkIDogcm9vdDtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbCwgcHJldmlvdXMsIHJvb3R9KTtcblxuICAgICAgICBjaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==
176
+ }] } });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFDUixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUNILGVBQWUsRUFDZixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsR0FDZCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNILHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsNEJBQTRCLEdBQy9CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixD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QVU7O1NBRDVELGVBQWU7NEZBQWYsZUFBZTtrQkExQjNCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxRUFBcUU7b0JBQy9FLFNBQVMsRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDOUIsVUFBVSxDQUFDLGlCQUFpQixrQkFBa0I7cUJBQ2pEO29CQUNELGNBQWMsRUFBRTt3QkFDWixXQUFXO3dCQUNYOzRCQUNJLFNBQVMsRUFBRSxhQUFhOzRCQUN4QixNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzs0QkFDL0IsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7eUJBQ25DO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxxQkFBcUIsRUFBRSx3QkFBd0I7d0JBQy9DLG1CQUFtQixFQUFFLHVCQUF1Qjt3QkFDNUMscUNBQXFDLEVBQUUsZUFBZTt3QkFDdEQsNkJBQTZCLEVBQUUsbUJBQW1CO3dCQUNsRCwrR0FBK0c7d0JBQy9HLHVCQUF1QixFQUFFLEdBQUc7cUJBQy9CO2lCQUNKOzhCQUdvQixZQUFZO3NCQUQ1QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQWMvRCxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSztnQkFJVSxxQkFBcUI7c0JBRHBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICB0eXBlIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7VHVpT2JzY3VyZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9vYnNjdXJlZCc7XG5pbXBvcnQge1xuICAgIHR1aUNsb3NlV2F0Y2hlcixcbiAgICB0dWlJZk1hcCxcbiAgICB0dWlXYXRjaCxcbiAgICB0dWlab25lZnVsbCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1xuICAgIHR1aUdldEFjdHVhbFRhcmdldCxcbiAgICB0dWlJbmplY3RFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnRFZGl0YWJsZSxcbiAgICB0dWlJc0hUTUxFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R1aUFzRHJpdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHVpSXNFZGl0aW5nS2V5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7ZmlsdGVyLCBmcm9tRXZlbnQsIG1lcmdlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlcn0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fSE9TVH0gZnJvbSAnLi9kcm9wZG93bi5wcm92aWRlcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duXVt0dWlEcm9wZG93bk9wZW5dLFt0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25PcGVuQ2hhbmdlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURyb3Bkb3duRHJpdmVyLFxuICAgICAgICB0dWlBc0RyaXZlcihUdWlEcm9wZG93bkRyaXZlciksXG4gICAgICAgIHR1aVByb3ZpZGUoVFVJX0RST1BET1dOX0hPU1QsIFR1aURyb3Bkb3duT3BlbiksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlPYnNjdXJlZCxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlBY3RpdmVab25lLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ3R1aUFjdGl2ZVpvbmVQYXJlbnQnXSxcbiAgICAgICAgICAgIG91dHB1dHM6IFsndHVpQWN0aXZlWm9uZUNoYW5nZSddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93RG93biknOiAnb25BcnJvdygkZXZlbnQsIGZhbHNlKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwKSc6ICdvbkFycm93KCRldmVudCwgdHJ1ZSknLFxuICAgICAgICAnKGRvY3VtZW50OmtleWRvd24uem9uZWxlc3MuY2FwdHVyZSknOiAnb25Fc2MoJGV2ZW50KScsXG4gICAgICAgICcoZG9jdW1lbnQ6a2V5ZG93bi56b25lbGVzcyknOiAnb25LZXlkb3duKCRldmVudCknLFxuICAgICAgICAvLyBUT0RPOiBOZWNlc3NhcnkgYmVjYXVzZSBzdGFydFdpdGgoZmFsc2UpICsgZGlzdGluY3RVbnRpbENoYW5nZWQoKSBpbiBUdWlBY3RpdmVab25lLCB0aGluayBvZiBiZXR0ZXIgc29sdXRpb25cbiAgICAgICAgJyh0dWlBY3RpdmVab25lQ2hhbmdlKSc6ICcwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bk9wZW4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIEVsZW1lbnRSZWY8RWxlbWVudD4ge1xuICAgIEBDb250ZW50Q2hpbGQoJ3R1aURyb3Bkb3duSG9zdCcsIHtkZXNjZW5kYW50czogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkhvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0aXZlID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JzY3VyZWQgPSBpbmplY3QoVHVpT2JzY3VyZWQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT4gdGhpcy5kaXJlY3RpdmUucmVmKCk/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aURyb3Bkb3duRW5hYmxlZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlEcm9wZG93bk9wZW46IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aURyb3Bkb3duT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8vIFRPRE86IG1ha2UgaXQgcHJpdmF0ZSB3aGVuIGFsbCBsZWdhY3kgY29udHJvbHMgd2lsbCBiZSBkZWxldGVkIGZyb20gQHRhaWdhLXVpL2xlZ2FjeSAoNS4wKVxuICAgIHB1YmxpYyByZWFkb25seSBkcml2ZXIgPSBpbmplY3QoVHVpRHJvcGRvd25Ecml2ZXIpO1xuICAgIHB1YmxpYyByZWFkb25seSBzdWIgPSB0aGlzLmRyaXZlclxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHR1aUlmTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIHR1aUNsb3NlV2F0Y2hlcigpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9ic2N1cmVkLnR1aU9ic2N1cmVkLnBpcGUoZmlsdGVyKEJvb2xlYW4pKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVab25lLnR1aUFjdGl2ZVpvbmVDaGFuZ2UucGlwZShmaWx0ZXIoKGEpID0+ICFhKSksXG4gICAgICAgICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmVsLCAnZm9jdXNpbicpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmRpcmVjdGl2ZS5yZWYoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0dWlab25lZnVsbCgpLFxuICAgICAgICAgICAgdHVpV2F0Y2goKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGUoZmFsc2UpKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzeW5jID0gdGhpcy5kcml2ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChvcGVuKSA9PiB7XG4gICAgICAgIGlmIChvcGVuICE9PSB0aGlzLnR1aURyb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUob3Blbik7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsO1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0dWlJc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlKGluaXRpYWwpXG4gICAgICAgICAgICA/IGluaXRpYWxcbiAgICAgICAgICAgIDogdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbCwgcm9vdDogdGhpcy5lbH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCBmb2N1c2FibGUgfHwgdGhpcy5lbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJpdmUoISF0aGlzLnR1aURyb3Bkb3duT3Blbik7XG4gICAgICAgIHRoaXMudHVpRHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQoISF0aGlzLnR1aURyb3Bkb3duT3Blbik7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgIW9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGUob3Blbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHR5cGVvZiBDbG9zZVdhdGNoZXIgPT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAvLyA/LiBmb3IgYXV0b2ZpbGwgZXZlbnRzXG4gICAgICAgICAgICBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCkgPT09ICdlc2NhcGUnICYmXG4gICAgICAgICAgICB0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCAmJlxuICAgICAgICAgICAgISF0aGlzLnR1aURyb3Bkb3duT3BlbiAmJlxuICAgICAgICAgICAgIXRoaXMuZHJvcGRvd24oKT8ubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRhYmxlICYmIHRoaXMubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSghdGhpcy50dWlEcm9wZG93bk9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXJyb3coZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHVwOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0dWlJc0VsZW1lbnQoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgIXRoaXMubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICAhdGhpcy50dWlEcm9wZG93bkVuYWJsZWQgfHxcbiAgICAgICAgICAgICF0aGlzLmRpcmVjdGl2ZS5fY29udGVudCgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0Ryb3Bkb3duKHVwKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHR1aUdldEFjdHVhbFRhcmdldChldmVudCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiZcbiAgICAgICAgICAgIHR1aUlzRWRpdGluZ0tleShldmVudC5rZXkpICYmXG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlICYmXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgJiZcbiAgICAgICAgICAgIHR1aUlzSFRNTEVsZW1lbnQodGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudEVkaXRhYmxlKHRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNFbGVtZW50RWRpdGFibGUodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5kcm9wZG93bigpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgIXRoaXMudHVpRHJvcGRvd25FbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kcml2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50dWlEcm9wZG93bk9wZW4gPSBvcGVuO1xuICAgICAgICB0aGlzLnR1aURyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICAgICAgICB0aGlzLmRyaXZlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkcml2ZShvcGVuID0gISF0aGlzLnR1aURyb3Bkb3duT3BlbiAmJiB0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2N1cmVkLnR1aU9ic2N1cmVkRW5hYmxlZCA9IG9wZW47XG4gICAgICAgIHRoaXMuZHJpdmVyLm5leHQob3Blbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0Ryb3Bkb3duKHByZXZpb3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmRyb3Bkb3duKCk7XG5cbiAgICAgICAgaWYgKCFyb290KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh0cnVlKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZG9jID0gdGhpcy5lbC5vd25lckRvY3VtZW50O1xuICAgICAgICBjb25zdCBjaGlsZCA9IHJvb3QuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IHByZXZpb3VzID8gY2hpbGQgOiByb290O1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsLCBwcmV2aW91cywgcm9vdH0pO1xuXG4gICAgICAgIGNoaWxkLnJlbW92ZSgpO1xuICAgICAgICBmb2N1c2FibGU/LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
@@ -1,19 +1,22 @@
1
1
  import { coerceArray } from '@angular/cdk/coercion';
2
- import { ChangeDetectorRef, Directive, inject, INJECTOR, Input, signal, TemplateRef, } from '@angular/core';
2
+ import { ChangeDetectorRef, Directive, ElementRef, inject, INJECTOR, Input, signal, TemplateRef, } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { tuiZonefreeScheduler } from '@taiga-ui/cdk/observables';
5
5
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
6
  import { tuiAsRectAccessor, tuiAsVehicle, } from '@taiga-ui/core/classes';
7
7
  import { tuiCheckFixedPosition } from '@taiga-ui/core/utils';
8
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
8
9
  import { PolymorpheusComponent, PolymorpheusTemplate, } from '@taiga-ui/polymorpheus';
9
10
  import { Subject, throttleTime } from 'rxjs';
10
11
  import { TuiDropdownDriver, TuiDropdownDriverDirective } from './dropdown.driver';
11
- import { TUI_DROPDOWN_COMPONENT } from './dropdown.providers';
12
+ import { TUI_DROPDOWN_COMPONENT, TUI_DROPDOWN_HOST } from './dropdown.providers';
12
13
  import { TuiDropdownService } from './dropdown.service';
13
14
  import { TuiDropdownPosition } from './dropdown-position.directive';
15
+ import { TuiDropdownA11y } from './dropdown-a11y.directive';
14
16
  import * as i0 from "@angular/core";
15
17
  import * as i1 from "./dropdown.driver";
16
- import * as i2 from "./dropdown-position.directive";
18
+ import * as i2 from "./dropdown-a11y.directive";
19
+ import * as i3 from "./dropdown-position.directive";
17
20
  class TuiDropdownDirective {
18
21
  constructor() {
19
22
  this.refresh$ = new Subject();
@@ -82,7 +85,8 @@ class TuiDropdownDirective {
82
85
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownDirective, isStandalone: true, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: { tuiDropdown: "tuiDropdown" }, host: { properties: { "class.tui-dropdown-open": "ref()" } }, providers: [
83
86
  tuiAsRectAccessor(TuiDropdownDirective),
84
87
  tuiAsVehicle(TuiDropdownDirective),
85
- ], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: i1.TuiDropdownDriverDirective }, { directive: i2.TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
88
+ tuiProvide(TUI_DROPDOWN_HOST, ElementRef),
89
+ ], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: i1.TuiDropdownDriverDirective }, { directive: i2.TuiDropdownA11y, inputs: ["tuiDropdownRole", "tuiDropdownRole"] }, { directive: i3.TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
86
90
  }
87
91
  export { TuiDropdownDirective };
88
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownDirective, decorators: [{
@@ -93,10 +97,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
93
97
  providers: [
94
98
  tuiAsRectAccessor(TuiDropdownDirective),
95
99
  tuiAsVehicle(TuiDropdownDirective),
100
+ tuiProvide(TUI_DROPDOWN_HOST, ElementRef),
96
101
  ],
97
102
  exportAs: 'tuiDropdown',
98
103
  hostDirectives: [
99
104
  TuiDropdownDriverDirective,
105
+ { directive: TuiDropdownA11y, inputs: ['tuiDropdownRole'] },
100
106
  {
101
107
  directive: TuiDropdownPosition,
102
108
  outputs: ['tuiDropdownDirectionChange'],
@@ -109,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
109
115
  }], propDecorators: { tuiDropdown: [{
110
116
  type: Input
111
117
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUVILGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksR0FHZixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFbEUsTUFtQmEsb0JBQW9CO0lBbkJqQztRQXNCcUIsYUFBUSxHQUFHLElB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QUksSUFBSSxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJELGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBdEZRLG9CQUFvQjttR0FBcEIsb0JBQW9CLHFNQWhCbEI7WUFDUCxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztZQUN2QyxZQUFZLENBQUMsb0JBQW9CLENBQUM7U0FDckM7O1NBYVEsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBbkJoQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0RBQWtEO29CQUM1RCxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCLHNCQUFzQjt3QkFDdkMsWUFBWSxzQkFBc0I7cUJBQ3JDO29CQUNELFFBQVEsRUFBRSxhQUFhO29CQUN2QixjQUFjLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzt5QkFDMUM7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLDJCQUEyQixFQUFFLE9BQU87cUJBQ3ZDO2lCQUNKOzhCQWlDYyxXQUFXO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb2VyY2VBcnJheX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgdHlwZSBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIHR5cGUgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBPbkRlc3Ryb3ksXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aVpvbmVmcmVlU2NoZWR1bGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHlwZSBUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICB0dWlBc1JlY3RBY2Nlc3NvcixcbiAgICB0dWlBc1ZlaGljbGUsXG4gICAgdHlwZSBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHlwZSBUdWlWZWhpY2xlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHlwZSBUdWlQb3J0YWxJdGVtfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUNoZWNrRml4ZWRQb3NpdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgdHlwZSBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7U3ViamVjdCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlciwgVHVpRHJvcGRvd25Ecml2ZXJEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZHJpdmVyJztcbmltcG9ydCB7VFVJX0RST1BET1dOX0NPTVBPTkVOVH0gZnJvbSAnLi9kcm9wZG93bi5wcm92aWRlcnMnO1xuaW1wb3J0IHtUdWlEcm9wZG93blNlcnZpY2V9IGZyb20gJy4vZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duUG9zaXRpb259IGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl06bm90KG5nLWNvbnRhaW5lcik6bm90KG5nLXRlbXBsYXRlKScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNWZWhpY2xlKFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAndHVpRHJvcGRvd24nLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aURyb3Bkb3duRHJpdmVyRGlyZWN0aXZlLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aURyb3Bkb3duUG9zaXRpb24sXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ3R1aURyb3Bkb3duRGlyZWN0aW9uQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MudHVpLWRyb3Bkb3duLW9wZW5dJzogJ3JlZigpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkRpcmVjdGl2ZVxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95LCBUdWlQb3J0YWxJdGVtLCBUdWlSZWN0QWNjZXNzb3IsIFR1aVZlaGljbGVcbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoVHVpRHJvcGRvd25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvLyBUT0RPOiB0aGluayBvZiBhIGJldHRlciBzb2x1dGlvbiBsYXRlclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJpdmVycyA9IGNvZXJjZUFycmF5KFxuICAgICAgICBpbmplY3QoVHVpRHJvcGRvd25Ecml2ZXIsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3ViID0gdGhpcy5yZWZyZXNoJFxuICAgICAgICAucGlwZSh0aHJvdHRsZVRpbWUoMCwgdHVpWm9uZWZyZWVTY2hlZHVsZXIoKSksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmKCk/LmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMucmVmKCk/LmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoXG4gICAgICAgIGluamVjdChUVUlfRFJPUERPV05fQ09NUE9ORU5UKSxcbiAgICAgICAgaW5qZWN0KElOSkVDVE9SKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlZiA9IHNpZ25hbDxDb21wb25lbnRSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgICAvLyBUT0RPKHY1KTogcmVuYW1lIHRvIGBjb250ZW50YFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBwdWJsaWMgcmVhZG9ubHkgX2NvbnRlbnQgPSBzaWduYWw8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+Pj4obnVsbCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdHVpRHJvcGRvd24oY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+Pikge1xuICAgICAgICB0aGlzLl9jb250ZW50LnNldChcbiAgICAgICAgICAgIGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgID8gbmV3IFBvbHltb3JwaGV1c1RlbXBsYXRlKGNvbnRlbnQsIHRoaXMuY2RyKVxuICAgICAgICAgICAgICAgIDogY29udGVudCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2NvbnRlbnQoKSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpOiAnYWJzb2x1dGUnIHwgJ2ZpeGVkJyB7XG4gICAgICAgIHJldHVybiB0dWlDaGVja0ZpeGVkUG9zaXRpb24odGhpcy5lbCkgPyAnZml4ZWQnIDogJ2Fic29sdXRlJztcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogZGVsZXRlXG4gICAgcHVibGljIGdldCBjb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDwoKSA9PiB2b2lkPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudCgpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiBkZWxldGVcbiAgICBwdWJsaWMgc2V0IGNvbnRlbnQoeDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PCgpID0+IHZvaWQ+Pikge1xuICAgICAgICB0aGlzLl9jb250ZW50LnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWYoKSkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50UmVjdCgpOiBET01SZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZShzaG93OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZiA9IHRoaXMucmVmKCk7XG5cbiAgICAgICAgaWYgKHNob3cgJiYgdGhpcy5fY29udGVudCgpICYmICFyZWYpIHtcbiAgICAgICAgICAgIHRoaXMucmVmLnNldCh0aGlzLnNlcnZpY2UuYWRkKHRoaXMuY29tcG9uZW50KSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXNob3cgJiYgcmVmKSB7XG4gICAgICAgICAgICB0aGlzLnJlZi5zZXQobnVsbCk7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UucmVtb3ZlKHJlZik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRyaXZlcnMuZm9yRWFjaCgoZHJpdmVyKSA9PiBkcml2ZXI/Lm5leHQoc2hvdykpO1xuXG4gICAgICAgIC8vIFRPRE86IFJlbW92ZSBpbiB2NSwgb25seSBuZWVkZWQgaW4gQW5ndWxhciAxNlxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUVILGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixZQUFZLEdBR2YsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUNILHFCQUFxQixFQUVyQixvQkFBb0IsR0FDdkIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUMsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMs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QTRCLENBQUM7eUJBQzFDO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRiwyQkFBMkIsRUFBRSxPQUFPO3FCQUN2QztpQkFDSjs4QkFpQ2MsV0FBVztzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29lcmNlQXJyYXl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB0eXBlIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBPbkRlc3Ryb3ksXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aVpvbmVmcmVlU2NoZWR1bGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHlwZSBUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICB0dWlBc1JlY3RBY2Nlc3NvcixcbiAgICB0dWlBc1ZlaGljbGUsXG4gICAgdHlwZSBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHlwZSBUdWlWZWhpY2xlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHlwZSBUdWlQb3J0YWxJdGVtfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUNoZWNrRml4ZWRQb3NpdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHt0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgdHlwZSBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7U3ViamVjdCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlciwgVHVpRHJvcGRvd25Ecml2ZXJEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZHJpdmVyJztcbmltcG9ydCB7VFVJX0RST1BET1dOX0NPTVBPTkVOVCwgVFVJX0RST1BET1dOX0hPU1R9IGZyb20gJy4vZHJvcGRvd24ucHJvdmlkZXJzJztcbmltcG9ydCB7VHVpRHJvcGRvd25TZXJ2aWNlfSBmcm9tICcuL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtUdWlEcm9wZG93blBvc2l0aW9ufSBmcm9tICcuL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duQTExeX0gZnJvbSAnLi9kcm9wZG93bi1hMTF5LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25dOm5vdChuZy1jb250YWluZXIpOm5vdChuZy10ZW1wbGF0ZSknLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93bkRpcmVjdGl2ZSksXG4gICAgICAgIHR1aUFzVmVoaWNsZShUdWlEcm9wZG93bkRpcmVjdGl2ZSksXG4gICAgICAgIHR1aVByb3ZpZGUoVFVJX0RST1BET1dOX0hPU1QsIEVsZW1lbnRSZWYpLFxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd0dWlEcm9wZG93bicsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpRHJvcGRvd25Ecml2ZXJEaXJlY3RpdmUsXG4gICAgICAgIHtkaXJlY3RpdmU6IFR1aURyb3Bkb3duQTExeSwgaW5wdXRzOiBbJ3R1aURyb3Bkb3duUm9sZSddfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlEcm9wZG93blBvc2l0aW9uLFxuICAgICAgICAgICAgb3V0cHV0czogWyd0dWlEcm9wZG93bkRpcmVjdGlvbkNoYW5nZSddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnR1aS1kcm9wZG93bi1vcGVuXSc6ICdyZWYoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25EaXJlY3RpdmVcbiAgICBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSwgVHVpUG9ydGFsSXRlbSwgVHVpUmVjdEFjY2Vzc29yLCBUdWlWZWhpY2xlXG57XG4gICAgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlID0gaW5qZWN0KFR1aURyb3Bkb3duU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLy8gVE9ETzogdGhpbmsgb2YgYSBiZXR0ZXIgc29sdXRpb24gbGF0ZXJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyaXZlcnMgPSBjb2VyY2VBcnJheShcbiAgICAgICAgaW5qZWN0KFR1aURyb3Bkb3duRHJpdmVyLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IHRoaXMucmVmcmVzaCRcbiAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDAsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKCkpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlZigpPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLnJlZigpPy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21wb25lbnQgPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFxuICAgICAgICBpbmplY3QoVFVJX0RST1BET1dOX0NPTVBPTkVOVCksXG4gICAgICAgIGluamVjdChJTkpFQ1RPUiksXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWYgPSBzaWduYWw8Q29tcG9uZW50UmVmPHVua25vd24+IHwgbnVsbD4obnVsbCk7XG4gICAgLy8gVE9ETyh2NSk6IHJlbmFtZSB0byBgY29udGVudGBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgcHVibGljIHJlYWRvbmx5IF9jb250ZW50ID0gc2lnbmFsPFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDwoKSA9PiB2b2lkPj4+KG51bGwpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHR1aURyb3Bkb3duKGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDwoKSA9PiB2b2lkPj4pIHtcbiAgICAgICAgdGhpcy5fY29udGVudC5zZXQoXG4gICAgICAgICAgICBjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgICA/IG5ldyBQb2x5bW9ycGhldXNUZW1wbGF0ZShjb250ZW50LCB0aGlzLmNkcilcbiAgICAgICAgICAgICAgICA6IGNvbnRlbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9jb250ZW50KCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcG9zaXRpb24oKTogJ2Fic29sdXRlJyB8ICdmaXhlZCcge1xuICAgICAgICByZXR1cm4gdHVpQ2hlY2tGaXhlZFBvc2l0aW9uKHRoaXMuZWwpID8gJ2ZpeGVkJyA6ICdhYnNvbHV0ZSc7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IGRlbGV0ZVxuICAgIHB1YmxpYyBnZXQgY29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8KCkgPT4gdm9pZD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQoKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogZGVsZXRlXG4gICAgcHVibGljIHNldCBjb250ZW50KHg6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDwoKSA9PiB2b2lkPj4pIHtcbiAgICAgICAgdGhpcy5fY29udGVudC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVmKCkpIHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUoc2hvdzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCByZWYgPSB0aGlzLnJlZigpO1xuXG4gICAgICAgIGlmIChzaG93ICYmIHRoaXMuX2NvbnRlbnQoKSAmJiAhcmVmKSB7XG4gICAgICAgICAgICB0aGlzLnJlZi5zZXQodGhpcy5zZXJ2aWNlLmFkZCh0aGlzLmNvbXBvbmVudCkpO1xuICAgICAgICB9IGVsc2UgaWYgKCFzaG93ICYmIHJlZikge1xuICAgICAgICAgICAgdGhpcy5yZWYuc2V0KG51bGwpO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnJlbW92ZShyZWYpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kcml2ZXJzLmZvckVhY2goKGRyaXZlcikgPT4gZHJpdmVyPy5uZXh0KHNob3cpKTtcblxuICAgICAgICAvLyBUT0RPOiBSZW1vdmUgaW4gdjUsIG9ubHkgbmVlZGVkIGluIEFuZ3VsYXIgMTZcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIl19
@@ -11,6 +11,7 @@ import { TuiDropdownPortal } from './dropdown-portal.directive';
11
11
  import { TuiDropdownPosition } from './dropdown-position.directive';
12
12
  import { TuiDropdownPositionSided } from './dropdown-position-sided.directive';
13
13
  import { TuiDropdownSelection } from './dropdown-selection.directive';
14
+ import { TuiDropdownA11y } from './dropdown-a11y.directive';
14
15
  export const TuiDropdown = [
15
16
  TuiDropdownOptionsDirective,
16
17
  TuiDropdownDriverDirective,
@@ -25,5 +26,6 @@ export const TuiDropdown = [
25
26
  TuiDropdownPosition,
26
27
  TuiDropdownPositionSided,
27
28
  TuiDropdownSelection,
29
+ TuiDropdownA11y,
28
30
  ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QixvQkFBb0I7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlckRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuaW1wb3J0IHtUdWlEcm9wZG93bkNvbnRleHR9IGZyb20gJy4vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkhvdmVyfSBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duTWFudWFsfSBmcm9tICcuL2Ryb3Bkb3duLW1hbnVhbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bk9wZW59IGZyb20gJy4vZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bk9wZW5MZWdhY3l9IGZyb20gJy4vZHJvcGRvd24tb3Blbi1sZWdhY3kuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25PcHRpb25zRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3J0YWx9IGZyb20gJy4vZHJvcGRvd24tcG9ydGFsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duUG9zaXRpb259IGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3NpdGlvblNpZGVkfSBmcm9tICcuL2Ryb3Bkb3duLXBvc2l0aW9uLXNpZGVkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duU2VsZWN0aW9ufSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVHVpRHJvcGRvd24gPSBbXG4gICAgVHVpRHJvcGRvd25PcHRpb25zRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duRHJpdmVyRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICBUdWlEcm9wZG93bk9wZW5MZWdhY3ksXG4gICAgVHVpRHJvcGRvd25Qb3J0YWwsXG4gICAgVHVpRHJvcGRvd25NYW51YWwsXG4gICAgVHVpRHJvcGRvd25Ib3ZlcixcbiAgICBUdWlEcm9wZG93bkNvbnRleHQsXG4gICAgVHVpRHJvcGRvd25Qb3NpdGlvbixcbiAgICBUdWlEcm9wZG93blBvc2l0aW9uU2lkZWQsXG4gICAgVHVpRHJvcGRvd25TZWxlY3Rpb24sXG5dIGFzIGNvbnN0O1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLGVBQWU7Q0FDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlckRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuaW1wb3J0IHtUdWlEcm9wZG93bkNvbnRleHR9IGZyb20gJy4vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkhvdmVyfSBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duTWFudWFsfSBmcm9tICcuL2Ryb3Bkb3duLW1hbnVhbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bk9wZW59IGZyb20gJy4vZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bk9wZW5MZWdhY3l9IGZyb20gJy4vZHJvcGRvd24tb3Blbi1sZWdhY3kuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25PcHRpb25zRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3J0YWx9IGZyb20gJy4vZHJvcGRvd24tcG9ydGFsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duUG9zaXRpb259IGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3NpdGlvblNpZGVkfSBmcm9tICcuL2Ryb3Bkb3duLXBvc2l0aW9uLXNpZGVkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duU2VsZWN0aW9ufSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkExMXl9IGZyb20gJy4vZHJvcGRvd24tYTExeS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVHVpRHJvcGRvd24gPSBbXG4gICAgVHVpRHJvcGRvd25PcHRpb25zRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duRHJpdmVyRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICBUdWlEcm9wZG93bk9wZW5MZWdhY3ksXG4gICAgVHVpRHJvcGRvd25Qb3J0YWwsXG4gICAgVHVpRHJvcGRvd25NYW51YWwsXG4gICAgVHVpRHJvcGRvd25Ib3ZlcixcbiAgICBUdWlEcm9wZG93bkNvbnRleHQsXG4gICAgVHVpRHJvcGRvd25Qb3NpdGlvbixcbiAgICBUdWlEcm9wZG93blBvc2l0aW9uU2lkZWQsXG4gICAgVHVpRHJvcGRvd25TZWxlY3Rpb24sXG4gICAgVHVpRHJvcGRvd25BMTF5LFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -7,4 +7,5 @@ export const TUI_DROPDOWN_COMPONENT = new InjectionToken(ngDevMode ? 'TUI_DROPDO
7
7
  factory: () => TuiDropdownComponent,
8
8
  });
9
9
  export const TUI_DROPDOWN_CONTEXT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_CONTEXT' : '');
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXhELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELFNBQVMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDekM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CO0NBQ3RDLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUNsRCxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCB0eXBlIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdG8gZGlzcGxheSBhIGRyb3Bkb3duXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfRFJPUERPV05fQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPFR5cGU8YW55Pj4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9EUk9QRE9XTl9DT01QT05FTlQnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUdWlEcm9wZG93bkNvbXBvbmVudCxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9EUk9QRE9XTl9DT05URVhUID0gbmV3IEluamVjdGlvblRva2VuPFJlY29yZDxhbnksIGFueT4+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfRFJPUERPV05fQ09OVEVYVCcgOiAnJyxcbik7XG4iXX0=
10
+ export const TUI_DROPDOWN_HOST = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_HOST' : '');
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUNwRCxTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3pDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG9CQUFvQjtDQUN0QyxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMxQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRvIGRpc3BsYXkgYSBkcm9wZG93blxuICovXG5leHBvcnQgY29uc3QgVFVJX0RST1BET1dOX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUeXBlPGFueT4+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfRFJPUERPV05fQ09NUE9ORU5UJyA6ICcnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gVHVpRHJvcGRvd25Db21wb25lbnQsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfRFJPUERPV05fQ09OVEVYVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZWNvcmQ8YW55LCBhbnk+PihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0RST1BET1dOX0NPTlRFWFQnIDogJycsXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0RST1BET1dOX0hPU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48RWxlbWVudFJlZjxFbGVtZW50Pj4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9EUk9QRE9XTl9IT1NUJyA6ICcnLFxuKTtcbiJdfQ==
@@ -5,6 +5,7 @@ export * from './dropdown.directive';
5
5
  export * from './dropdown.driver';
6
6
  export * from './dropdown.providers';
7
7
  export * from './dropdown.service';
8
+ export * from './dropdown-a11y.directive';
8
9
  export * from './dropdown-context.directive';
9
10
  export * from './dropdown-hover.directive';
10
11
  export * from './dropdown-hover.options';
@@ -19,4 +20,4 @@ export * from './dropdown-position-sided.directive';
19
20
  export * from './dropdown-selection.directive';
20
21
  export * from './dropdowns.component';
21
22
  export * from './with-dropdown-open.directive';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLmJpbmRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uZHJpdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24ucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWNvbnRleHQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24taG92ZXIub3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWxpbWl0LXdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tbWFudWFsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW9wZW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tb3Blbi1sZWdhY3kuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1wb3J0YWwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24tc2lkZWQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3ducy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWRyb3Bkb3duLW9wZW4uZGlyZWN0aXZlJztcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uYmluZGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tYTExeS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1jb250ZXh0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1saW1pdC13aWR0aCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1hbnVhbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1vcGVuLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW9wZW4tbGVnYWN5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tcG9ydGFsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLXBvc2l0aW9uLXNpZGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1kcm9wZG93bi1vcGVuLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -295,6 +295,11 @@ class TuiDataListComponent {
295
295
  .map(({ value }) => (isSignal(value) ? value() : value))
296
296
  .filter(tuiIsPresent);
297
297
  }
298
+ get role() {
299
+ return this.el.parentElement?.closest('[role="menu"],[role="listbox"]')
300
+ ? null
301
+ : this.el.role;
302
+ }
298
303
  onFocusIn(relatedTarget, currentTarget) {
299
304
  if (!currentTarget.contains(relatedTarget) && !this.origin) {
300
305
  this.origin = relatedTarget;
@@ -304,7 +309,7 @@ class TuiDataListComponent {
304
309
  return Array.from(this.el.querySelectorAll('[tuiOption]'));
305
310
  }
306
311
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDataListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
307
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDataListComponent, isStandalone: true, selector: "tui-data-list", inputs: { emptyContent: "emptyContent", size: "size" }, host: { attributes: { "role": "listbox" }, listeners: { "focusin": "onFocusIn($event.relatedTarget, $event.currentTarget)", "mousedown.prevent": "(0)", "wheel.zoneless.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)", "keydown.tab": "handleFocusLossIfNecessary()", "keydown.shift.tab": "handleFocusLossIfNecessary()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target, 1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target, -1)" }, properties: { "attr.data-size": "size" } }, providers: [
312
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDataListComponent, isStandalone: true, selector: "tui-data-list", inputs: { emptyContent: "emptyContent", size: "size" }, host: { attributes: { "role": "listbox" }, listeners: { "focusin": "onFocusIn($event.relatedTarget, $event.currentTarget)", "mousedown.prevent": "(0)", "wheel.zoneless.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)", "keydown.tab": "handleFocusLossIfNecessary()", "keydown.shift.tab": "handleFocusLossIfNecessary()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target, 1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target, -1)" }, properties: { "attr.role": "role", "attr.data-size": "size" } }, providers: [
308
313
  tuiAsDataListAccessor(TuiDataListComponent),
309
314
  {
310
315
  provide: TUI_OPTION_CONTENT,
@@ -336,6 +341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
336
341
  },
337
342
  ], host: {
338
343
  role: 'listbox',
344
+ '[attr.role]': 'role',
339
345
  '[attr.data-size]': 'size',
340
346
  '(focusin)': 'onFocusIn($event.relatedTarget, $event.currentTarget)',
341
347
  '(mousedown.prevent)': '(0)',