@design-system-rte/angular 0.13.0 → 0.15.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 (61) hide show
  1. package/esm2022/lib/components/badge/badge.component.mjs +3 -3
  2. package/esm2022/lib/components/badge/badge.directive.mjs +3 -3
  3. package/esm2022/lib/components/banner/banner.component.mjs +5 -5
  4. package/esm2022/lib/components/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +38 -0
  5. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +12 -14
  6. package/esm2022/lib/components/button/button.component.mjs +14 -19
  7. package/esm2022/lib/components/checkbox/checkbox.component.mjs +4 -5
  8. package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +5 -6
  9. package/esm2022/lib/components/chip/chip.component.mjs +3 -3
  10. package/esm2022/lib/components/divider/divider.component.mjs +5 -5
  11. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +41 -0
  12. package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu.component.mjs +44 -0
  13. package/esm2022/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.mjs +39 -0
  14. package/esm2022/lib/components/dropdown/dropdown.directive.mjs +147 -0
  15. package/esm2022/lib/components/dropdown/dropdown.module.mjs +19 -0
  16. package/esm2022/lib/components/dropdown/dropdown.utils.mjs +40 -0
  17. package/esm2022/lib/components/dropdown/index.mjs +8 -0
  18. package/esm2022/lib/components/grid/col/col.directive.mjs +3 -3
  19. package/esm2022/lib/components/grid/grid.directive.mjs +3 -3
  20. package/esm2022/lib/components/icon/icon.component.mjs +3 -3
  21. package/esm2022/lib/components/icon/icon.service.mjs +3 -3
  22. package/esm2022/lib/components/icon-button/icon-button.component.mjs +5 -5
  23. package/esm2022/lib/components/icon-button-toggle/icon-button-toggle.component.mjs +3 -3
  24. package/esm2022/lib/components/link/link.component.mjs +7 -5
  25. package/esm2022/lib/components/popover/popover.component.mjs +5 -5
  26. package/esm2022/lib/components/popover/popover.directive.mjs +3 -3
  27. package/esm2022/lib/components/radio-button/radio-button.component.mjs +3 -3
  28. package/esm2022/lib/components/radio-button-group/radio-button-group.component.mjs +3 -3
  29. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +3 -3
  30. package/esm2022/lib/components/split-button/split-button.component.mjs +33 -7
  31. package/esm2022/lib/components/switch/switch.component.mjs +3 -3
  32. package/esm2022/lib/components/text-input/text-input.component.mjs +3 -3
  33. package/esm2022/lib/components/textarea/textarea.component.mjs +4 -4
  34. package/esm2022/lib/components/tooltip/tooltip.component.mjs +3 -3
  35. package/esm2022/lib/components/tooltip/tooltip.directive.mjs +20 -5
  36. package/esm2022/lib/services/dropdown.service.mjs +81 -0
  37. package/esm2022/lib/services/overlay.service.mjs +3 -3
  38. package/fesm2022/design-system-rte-angular.mjs +571 -134
  39. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  40. package/lib/components/badge/badge.directive.d.ts +1 -1
  41. package/lib/components/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +16 -0
  42. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +2 -2
  43. package/lib/components/button/button.component.d.ts +4 -12
  44. package/lib/components/checkbox/checkbox.component.d.ts +1 -2
  45. package/lib/components/checkbox-group/checkbox-group.component.d.ts +1 -2
  46. package/lib/components/chip/chip.component.d.ts +1 -1
  47. package/lib/components/dropdown/dropdown-item/dropdown-item.component.d.ts +25 -0
  48. package/lib/components/dropdown/dropdown-menu/dropdown-menu.component.d.ts +20 -0
  49. package/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.d.ts +14 -0
  50. package/lib/components/dropdown/dropdown.directive.d.ts +49 -0
  51. package/lib/components/dropdown/dropdown.module.d.ts +10 -0
  52. package/lib/components/dropdown/dropdown.utils.d.ts +4 -0
  53. package/lib/components/dropdown/index.d.ts +5 -0
  54. package/lib/components/icon-button/icon-button.component.d.ts +2 -2
  55. package/lib/components/icon-button-toggle/icon-button-toggle.component.d.ts +2 -2
  56. package/lib/components/link/link.component.d.ts +3 -1
  57. package/lib/components/split-button/split-button.component.d.ts +12 -5
  58. package/lib/components/text-input/text-input.component.d.ts +3 -3
  59. package/lib/components/tooltip/tooltip.directive.d.ts +2 -1
  60. package/lib/services/dropdown.service.d.ts +27 -0
  61. package/package.json +4 -4
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectorRef, Directive, ElementRef, HostListener, inject, input, Renderer2, ViewContainerRef, } from "@angular/core";
2
2
  import { TOOLTIP_GAP, TOOLTIP_GAP_ARROW } from "@design-system-rte/core/components/tooltip/tooltip.constants";
3
3
  import { getAutoPlacement, getCoordinates } from "@design-system-rte/core/components/utils/auto-placement";
4
+ import { FOCUSABLE_ELEMENTS_QUERY } from "@design-system-rte/core/constants/dom/dom.constants";
4
5
  import { OverlayService } from "../../services/overlay.service";
5
6
  import { TooltipComponent } from "./tooltip.component";
6
7
  import * as i0 from "@angular/core";
@@ -22,6 +23,7 @@ export class TooltipDirective {
22
23
  this.rteTooltipPosition = input("auto");
23
24
  this.rteTooltipAlignment = input("center");
24
25
  this.rteTooltipArrow = input(true);
26
+ this.rteTooltipShouldFocusTrigger = input(true);
25
27
  this.tooltipRef = null;
26
28
  this.elementRef = inject(ElementRef);
27
29
  this.viewContainerRef = inject(ViewContainerRef);
@@ -29,12 +31,25 @@ export class TooltipDirective {
29
31
  this.cdr = inject(ChangeDetectorRef);
30
32
  this.overlayService = inject(OverlayService);
31
33
  this.hostElement = this.elementRef.nativeElement;
32
- this.hostElement.setAttribute("tabindex", "0");
33
34
  }
34
35
  ngAfterViewInit() {
36
+ if (!this.rteTooltipShouldFocusTrigger()) {
37
+ this.renderer.setAttribute(this.hostElement, "tabindex", "-1");
38
+ const focusableTrigger = this.hostElement.querySelectorAll(FOCUSABLE_ELEMENTS_QUERY)[0];
39
+ focusableTrigger.addEventListener("focus", () => this.onFocus());
40
+ focusableTrigger.addEventListener("blur", () => this.onBlur());
41
+ }
42
+ else {
43
+ this.renderer.setAttribute(this.hostElement, "tabindex", "0");
44
+ }
35
45
  window.addEventListener("scroll", this.positionTooltip.bind(this));
36
46
  }
37
47
  ngOnDestroy() {
48
+ if (!this.rteTooltipShouldFocusTrigger()) {
49
+ const focusableTrigger = this.hostElement.querySelectorAll(FOCUSABLE_ELEMENTS_QUERY)[0];
50
+ focusableTrigger.removeEventListener("focus", () => this.onFocus());
51
+ focusableTrigger.removeEventListener("blur", () => this.onBlur());
52
+ }
38
53
  window.removeEventListener("scroll", this.positionTooltip.bind(this));
39
54
  }
40
55
  showTooltip() {
@@ -79,10 +94,10 @@ export class TooltipDirective {
79
94
  }, 200);
80
95
  }
81
96
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: TooltipDirective, isStandalone: true, selector: "[rteTooltip]", inputs: { rteTooltip: { classPropertyName: "rteTooltip", publicName: "rteTooltip", isSignal: true, isRequired: true, transformFunction: null }, rteTooltipPosition: { classPropertyName: "rteTooltipPosition", publicName: "rteTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipAlignment: { classPropertyName: "rteTooltipAlignment", publicName: "rteTooltipAlignment", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipArrow: { classPropertyName: "rteTooltipArrow", publicName: "rteTooltipArrow", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: TooltipDirective, isStandalone: true, selector: "[rteTooltip]", inputs: { rteTooltip: { classPropertyName: "rteTooltip", publicName: "rteTooltip", isSignal: true, isRequired: true, transformFunction: null }, rteTooltipPosition: { classPropertyName: "rteTooltipPosition", publicName: "rteTooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipAlignment: { classPropertyName: "rteTooltipAlignment", publicName: "rteTooltipAlignment", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipArrow: { classPropertyName: "rteTooltipArrow", publicName: "rteTooltipArrow", isSignal: true, isRequired: false, transformFunction: null }, rteTooltipShouldFocusTrigger: { classPropertyName: "rteTooltipShouldFocusTrigger", publicName: "rteTooltipShouldFocusTrigger", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 }); }
84
99
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TooltipDirective, decorators: [{
86
101
  type: Directive,
87
102
  args: [{
88
103
  selector: "[rteTooltip]",
@@ -101,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
101
116
  type: HostListener,
102
117
  args: ["blur"]
103
118
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFFM0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU12RCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0IzQixZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDtRQWxDUyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyx3QkFBbUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7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QU0xQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFNckIsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUT09MVElQX0dBUCwgVE9PTFRJUF9HQVBfQVJST1cgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXRBdXRvUGxhY2VtZW50LCBnZXRDb29yZGluYXRlcyB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3V0aWxzL2F1dG8tcGxhY2VtZW50XCI7XG5cbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL292ZXJsYXkuc2VydmljZVwiO1xuXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSBcIi4vdG9vbHRpcC5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltydGVUb29sdGlwXVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgcnRlVG9vbHRpcCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgcnRlVG9vbHRpcFBvc2l0aW9uID0gaW5wdXQoXCJhdXRvXCIpO1xuICByZWFkb25seSBydGVUb29sdGlwQWxpZ25tZW50ID0gaW5wdXQoXCJjZW50ZXJcIik7XG4gIHJlYWRvbmx5IHJ0ZVRvb2x0aXBBcnJvdyA9IGlucHV0KHRydWUpO1xuXG4gIHByaXZhdGUgdG9vbHRpcFJlZjogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIilcbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIpXG4gIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiZm9jdXNcIilcbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwiYmx1clwiKVxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5vdmVybGF5U2VydmljZSA9IGluamVjdChPdmVybGF5U2VydmljZSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCIwXCIpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMucG9zaXRpb25Ub29sdGlwLmJpbmQodGhpcykpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5wb3NpdGlvblRvb2x0aXAuYmluZCh0aGlzKSk7XG4gIH1cblxuICBzaG93VG9vbHRpcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICB0aGlzLnRvb2x0aXBSZWYuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlKFRvb2x0aXBDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgdGhpcy5hc3NpZ25EaXJlY3RpdmVUb0NvbXBvbmVudCgpO1xuICAgIHRoaXMucG9zaXRpb25Ub29sdGlwKCk7XG4gIH1cblxuICBwcml2YXRlIGFzc2lnbkRpcmVjdGl2ZVRvQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGNvbnN0IHBvc2l0aW9uID1cbiAgICAgICAgdGhpcy5ydGVUb29sdGlwUG9zaXRpb24oKSA9PT0gXCJhdXRvXCJcbiAgICAgICAgICA/IGdldEF1dG9QbGFjZW1lbnQoXG4gICAgICAgICAgICAgIHRoaXMuaG9zdEVsZW1lbnQsXG4gICAgICAgICAgICAgIHRvb2x0aXBFbGVtZW50LFxuICAgICAgICAgICAgICBcInRvcFwiLFxuICAgICAgICAgICAgICB0aGlzLnJ0ZVRvb2x0aXBBcnJvdygpID8gVE9PTFRJUF9HQVBfQVJST1cgOiBUT09MVElQX0dBUCxcbiAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHRoaXMucnRlVG9vbHRpcFBvc2l0aW9uKCk7XG5cbiAgICAgIHRoaXMudG9vbHRpcFJlZi5zZXRJbnB1dChcImxhYmVsXCIsIHRoaXMucnRlVG9vbHRpcCgpKTtcbiAgICAgIHRoaXMudG9vbHRpcFJlZi5zZXRJbnB1dChcInBvc2l0aW9uXCIsIHBvc2l0aW9uKTtcbiAgICAgIHRoaXMudG9vbHRpcFJlZi5zZXRJbnB1dChcImFsaWdubWVudFwiLCB0aGlzLnJ0ZVRvb2x0aXBBbGlnbm1lbnQoKSk7XG4gICAgICB0aGlzLnRvb2x0aXBSZWYuc2V0SW5wdXQoXCJhcnJvd1wiLCB0aGlzLnJ0ZVRvb2x0aXBBcnJvdygpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvc2l0aW9uVG9vbHRpcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRoaXMudG9vbHRpcFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICBjb25zdCBwb3NpdGlvbnMgPSBnZXRDb29yZGluYXRlcyhcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnBvc2l0aW9uKCksXG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQsXG4gICAgICAgIHRvb2x0aXBFbGVtZW50LFxuICAgICAgICB0aGlzLnJ0ZVRvb2x0aXBBcnJvdygpID8gVE9PTFRJUF9HQVBfQVJST1cgOiBUT09MVElQX0dBUCxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgXCJwb3NpdGlvblwiLCBcInJlbGF0aXZlXCIpO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRvb2x0aXBFbGVtZW50LCBcInRvcFwiLCBgJHtwb3NpdGlvbnMudG9wfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRvb2x0aXBFbGVtZW50LCBcImxlZnRcIiwgYCR7cG9zaXRpb25zLmxlZnR9cHhgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZGVUb29sdGlwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodG9vbHRpcEVsZW1lbnQsIFwib3BhY2l0eVwiLCBcIjBcIik7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICAgICAgdGhpcy50b29sdGlwUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYgPSBudWxsO1xuICAgICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICB9LCAyMDApO1xuICAgIH1cbiAgfVxufVxuIl19
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFL0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU12RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDtRQW5DUyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyx3QkFBbUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENB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TUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRPT0xUSVBfR0FQLCBUT09MVElQX0dBUF9BUlJPVyB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldEF1dG9QbGFjZW1lbnQsIGdldENvb3JkaW5hdGVzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdXRpbHMvYXV0by1wbGFjZW1lbnRcIjtcbmltcG9ydCB7IEZPQ1VTQUJMRV9FTEVNRU5UU19RVUVSWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMvZG9tL2RvbS5jb25zdGFudHNcIjtcblxuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvb3ZlcmxheS5zZXJ2aWNlXCI7XG5cbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZVRvb2x0aXBdXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBydGVUb29sdGlwID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSBydGVUb29sdGlwUG9zaXRpb24gPSBpbnB1dChcImF1dG9cIik7XG4gIHJlYWRvbmx5IHJ0ZVRvb2x0aXBBbGlnbm1lbnQgPSBpbnB1dChcImNlbnRlclwiKTtcbiAgcmVhZG9ubHkgcnRlVG9vbHRpcEFycm93ID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IHJ0ZVRvb2x0aXBTaG91bGRGb2N1c1RyaWdnZXIgPSBpbnB1dCh0cnVlKTtcblxuICBwcml2YXRlIHRvb2x0aXBSZWY6IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogT3ZlcmxheVNlcnZpY2U7XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXG4gIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiKVxuICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImZvY3VzXCIpXG4gIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93VG9vbHRpcCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImJsdXJcIilcbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMub3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheVNlcnZpY2UpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMucnRlVG9vbHRpcFNob3VsZEZvY3VzVHJpZ2dlcigpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RFbGVtZW50LCBcInRhYmluZGV4XCIsIFwiLTFcIik7XG4gICAgICBjb25zdCBmb2N1c2FibGVUcmlnZ2VyID0gdGhpcy5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKEZPQ1VTQUJMRV9FTEVNRU5UU19RVUVSWSlbMF07XG4gICAgICBmb2N1c2FibGVUcmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCAoKSA9PiB0aGlzLm9uRm9jdXMoKSk7XG4gICAgICBmb2N1c2FibGVUcmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsICgpID0+IHRoaXMub25CbHVyKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RFbGVtZW50LCBcInRhYmluZGV4XCIsIFwiMFwiKTtcbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5wb3NpdGlvblRvb2x0aXAuYmluZCh0aGlzKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAoIXRoaXMucnRlVG9vbHRpcFNob3VsZEZvY3VzVHJpZ2dlcigpKSB7XG4gICAgICBjb25zdCBmb2N1c2FibGVUcmlnZ2VyID0gdGhpcy5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKEZPQ1VTQUJMRV9FTEVNRU5UU19RVUVSWSlbMF07XG4gICAgICBmb2N1c2FibGVUcmlnZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCAoKSA9PiB0aGlzLm9uRm9jdXMoKSk7XG4gICAgICBmb2N1c2FibGVUcmlnZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJibHVyXCIsICgpID0+IHRoaXMub25CbHVyKCkpO1xuICAgIH1cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLnBvc2l0aW9uVG9vbHRpcC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHNob3dUb29sdGlwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgIHRoaXMudG9vbHRpcFJlZi5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUoVG9vbHRpcENvbXBvbmVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLmFzc2lnbkRpcmVjdGl2ZVRvQ29tcG9uZW50KCk7XG4gICAgdGhpcy5wb3NpdGlvblRvb2x0aXAoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduRGlyZWN0aXZlVG9Db21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9vbHRpcFJlZikge1xuICAgICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLnRvb2x0aXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblxuICAgICAgY29uc3QgcG9zaXRpb24gPVxuICAgICAgICB0aGlzLnJ0ZVRvb2x0aXBQb3NpdGlvbigpID09PSBcImF1dG9cIlxuICAgICAgICAgID8gZ2V0QXV0b1BsYWNlbWVudChcbiAgICAgICAgICAgICAgdGhpcy5ob3N0RWxlbWVudCxcbiAgICAgICAgICAgICAgdG9vbHRpcEVsZW1lbnQsXG4gICAgICAgICAgICAgIFwidG9wXCIsXG4gICAgICAgICAgICAgIHRoaXMucnRlVG9vbHRpcEFycm93KCkgPyBUT09MVElQX0dBUF9BUlJPVyA6IFRPT0xUSVBfR0FQLFxuICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogdGhpcy5ydGVUb29sdGlwUG9zaXRpb24oKTtcblxuICAgICAgdGhpcy50b29sdGlwUmVmLnNldElucHV0KFwibGFiZWxcIiwgdGhpcy5ydGVUb29sdGlwKCkpO1xuICAgICAgdGhpcy50b29sdGlwUmVmLnNldElucHV0KFwicG9zaXRpb25cIiwgcG9zaXRpb24pO1xuICAgICAgdGhpcy50b29sdGlwUmVmLnNldElucHV0KFwiYWxpZ25tZW50XCIsIHRoaXMucnRlVG9vbHRpcEFsaWdubWVudCgpKTtcbiAgICAgIHRoaXMudG9vbHRpcFJlZi5zZXRJbnB1dChcImFycm93XCIsIHRoaXMucnRlVG9vbHRpcEFycm93KCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Ub29sdGlwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdGhpcy50b29sdGlwUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldENvb3JkaW5hdGVzKFxuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UucG9zaXRpb24oKSxcbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudCxcbiAgICAgICAgdG9vbHRpcEVsZW1lbnQsXG4gICAgICAgIHRoaXMucnRlVG9vbHRpcEFycm93KCkgPyBUT09MVElQX0dBUF9BUlJPVyA6IFRPT0xUSVBfR0FQLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBcInBvc2l0aW9uXCIsIFwicmVsYXRpdmVcIik7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodG9vbHRpcEVsZW1lbnQsIFwidG9wXCIsIGAke3Bvc2l0aW9ucy50b3B9cHhgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodG9vbHRpcEVsZW1lbnQsIFwibGVmdFwiLCBgJHtwb3NpdGlvbnMubGVmdH1weGApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGlkZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9vbHRpcFJlZikge1xuICAgICAgY29uc3QgdG9vbHRpcEVsZW1lbnQgPSB0aGlzLnRvb2x0aXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sdGlwRWxlbWVudCwgXCJvcGFjaXR5XCIsIFwiMFwiKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuZGVzdHJveSgpO1xuICAgICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { ARROW_DOWN_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ESCAPE_KEY, } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
3
+ import { BehaviorSubject } from "rxjs";
4
+ import { map } from "rxjs/operators";
5
+ import * as i0 from "@angular/core";
6
+ export class DropdownService {
7
+ constructor() {
8
+ this.initialState = {
9
+ activeMenuId: "",
10
+ };
11
+ this.state$ = new BehaviorSubject(this.initialState);
12
+ this.activeMenuId$ = this.state$.pipe(map((state) => state?.activeMenuId));
13
+ }
14
+ openMenu(menuId) {
15
+ this.state$.next({
16
+ activeMenuId: menuId,
17
+ });
18
+ }
19
+ closeAllMenus() {
20
+ this.state$.next(null);
21
+ }
22
+ isMenuActive(menuId) {
23
+ return this.activeMenuId$.pipe(map((activeId) => activeId === menuId));
24
+ }
25
+ reset() {
26
+ this.state$.next(this.initialState);
27
+ console.log("🔵 Dropdown Service - State Reset");
28
+ }
29
+ handleKeyboardInput(key, options) {
30
+ if ([ARROW_DOWN_KEY, ARROW_UP_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(key)) {
31
+ this.handleKeyboardNavigation(key, options);
32
+ }
33
+ if (key === ESCAPE_KEY) {
34
+ this.closeAllMenus();
35
+ }
36
+ }
37
+ handleKeyboardNavigation(key, options) {
38
+ const { menuElement } = options;
39
+ const nativeElement = menuElement?.nativeElement;
40
+ switch (key) {
41
+ case ARROW_DOWN_KEY:
42
+ this.focusNextElement(nativeElement);
43
+ break;
44
+ case ARROW_UP_KEY:
45
+ this.focusPreviousElement(nativeElement);
46
+ break;
47
+ }
48
+ }
49
+ focusNextElement(element) {
50
+ if (!element)
51
+ return;
52
+ const focusableElements = this.getFocusableElements(element);
53
+ const currentIndex = focusableElements.indexOf(document.activeElement);
54
+ const nextIndex = currentIndex + 1 < focusableElements.length ? currentIndex + 1 : 0;
55
+ focusableElements[nextIndex]?.focus();
56
+ }
57
+ focusPreviousElement(element) {
58
+ if (!element)
59
+ return;
60
+ const focusableElements = this.getFocusableElements(element);
61
+ const currentIndex = focusableElements.indexOf(document.activeElement);
62
+ const previousIndex = currentIndex ? currentIndex - 1 : focusableElements.length - 1;
63
+ focusableElements[previousIndex]?.focus();
64
+ }
65
+ getFocusableElements(element) {
66
+ const menuId = element.dataset["menuId"];
67
+ return Array.from(element.querySelectorAll("li")).filter((el) => {
68
+ const closestMenu = el.closest("[data-menu-id]");
69
+ return closestMenu?.dataset["menuId"] === menuId;
70
+ });
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownService, providedIn: "root" }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownService, decorators: [{
76
+ type: Injectable,
77
+ args: [{
78
+ providedIn: "root", // Makes the service a singleton
79
+ }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLXJ0ZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9kcm9wZG93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEdBQ1gsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFlckMsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFJbUIsaUJBQVksR0FBa0I7WUFDN0MsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUVGLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBdUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTdELGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztLQXlFaEY7SUF2RUMsUUFBUSxDQUFDLE1BQWM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFB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QU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQ0FBZ0M7aUJBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBBUlJPV19ET1dOX0tFWSxcbiAgQVJST1dfTEVGVF9LRVksXG4gIEFSUk9XX1JJR0hUX0tFWSxcbiAgQVJST1dfVVBfS0VZLFxuICBFU0NBUEVfS0VZLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleWJvYXJkSGFuZGxpbmdPcHRpb25zIHtcbiAgbWVudUVsZW1lbnQ6IEVsZW1lbnRSZWYgfCBudWxsO1xuICBtZW51SWQ6IHN0cmluZztcbiAgaXRlbUluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duU3RhdGUge1xuICBhY3RpdmVNZW51SWQ6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIiwgLy8gTWFrZXMgdGhlIHNlcnZpY2UgYSBzaW5nbGV0b25cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsU3RhdGU6IERyb3Bkb3duU3RhdGUgPSB7XG4gICAgYWN0aXZlTWVudUlkOiBcIlwiLFxuICB9O1xuXG4gIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHJvcGRvd25TdGF0ZSB8IG51bGw+KHRoaXMuaW5pdGlhbFN0YXRlKTtcblxuICByZWFkb25seSBhY3RpdmVNZW51SWQkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHN0YXRlKSA9PiBzdGF0ZT8uYWN0aXZlTWVudUlkKSk7XG5cbiAgb3Blbk1lbnUobWVudUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KHtcbiAgICAgIGFjdGl2ZU1lbnVJZDogbWVudUlkLFxuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VBbGxNZW51cygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgaXNNZW51QWN0aXZlKG1lbnVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlTWVudUlkJC5waXBlKG1hcCgoYWN0aXZlSWQpID0+IGFjdGl2ZUlkID09PSBtZW51SWQpKTtcbiAgfVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5pbml0aWFsU3RhdGUpO1xuICAgIGNvbnNvbGUubG9nKFwi8J+UtSBEcm9wZG93biBTZXJ2aWNlIC0gU3RhdGUgUmVzZXRcIik7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZElucHV0KGtleTogc3RyaW5nLCBvcHRpb25zOiBLZXlib2FyZEhhbmRsaW5nT3B0aW9ucyk6IHZvaWQge1xuICAgIGlmIChbQVJST1dfRE9XTl9LRVksIEFSUk9XX1VQX0tFWSwgQVJST1dfTEVGVF9LRVksIEFSUk9XX1JJR0hUX0tFWV0uaW5jbHVkZXMoa2V5KSkge1xuICAgICAgdGhpcy5oYW5kbGVLZXlib2FyZE5hdmlnYXRpb24oa2V5LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSBFU0NBUEVfS0VZKSB7XG4gICAgICB0aGlzLmNsb3NlQWxsTWVudXMoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZE5hdmlnYXRpb24oa2V5OiBzdHJpbmcsIG9wdGlvbnM6IEtleWJvYXJkSGFuZGxpbmdPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgeyBtZW51RWxlbWVudCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gbWVudUVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSBBUlJPV19ET1dOX0tFWTpcbiAgICAgICAgdGhpcy5mb2N1c05leHRFbGVtZW50KG5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBBUlJPV19VUF9LRVk6XG4gICAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0VsZW1lbnQobmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybjtcblxuICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRGb2N1c2FibGVFbGVtZW50cyhlbGVtZW50KTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCArIDEgPCBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggPyBjdXJyZW50SW5kZXggKyAxIDogMDtcblxuICAgIGZvY3VzYWJsZUVsZW1lbnRzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghZWxlbWVudCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSB0aGlzLmdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGN1cnJlbnRJbmRleCA/IGN1cnJlbnRJbmRleCAtIDEgOiBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxO1xuXG4gICAgZm9jdXNhYmxlRWxlbWVudHNbcHJldmlvdXNJbmRleF0/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgbWVudUlkID0gZWxlbWVudC5kYXRhc2V0W1wibWVudUlkXCJdO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcImxpXCIpKS5maWx0ZXIoKGVsKSA9PiB7XG4gICAgICBjb25zdCBjbG9zZXN0TWVudSA9IGVsLmNsb3Nlc3QoXCJbZGF0YS1tZW51LWlkXVwiKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHJldHVybiBjbG9zZXN0TWVudT8uZGF0YXNldFtcIm1lbnVJZFwiXSA9PT0gbWVudUlkO1xuICAgIH0pIGFzIEhUTUxFbGVtZW50W107XG4gIH1cbn1cbiJdfQ==
@@ -33,10 +33,10 @@ export class OverlayService {
33
33
  this.overlayRoot = undefined;
34
34
  }
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlayService, providedIn: "root" }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayService, providedIn: "root" }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OverlayService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{ providedIn: "root" }]
42
42
  }], ctorParameters: () => [] });