adb-shared 6.0.2 → 6.0.3

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 (97) hide show
  1. package/esm2022/adb-shared.mjs +4 -4
  2. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-footer.component.mjs +48 -48
  3. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.component.mjs +112 -112
  4. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.mjs +58 -66
  5. package/esm2022/lib/components/adb-artportalen-nav/environment.service.mjs +16 -16
  6. package/esm2022/lib/components/adb-artportalen-nav/navigation.model.mjs +1 -1
  7. package/esm2022/lib/components/adb-buttons/adb-buttons.module.mjs +19 -19
  8. package/esm2022/lib/components/adb-buttons/help-button.component.mjs +35 -35
  9. package/esm2022/lib/components/adb-confirm-modal/adb-confirm-modal.mjs +29 -29
  10. package/esm2022/lib/components/adb-confirm-modal/adb-modal.module.mjs +23 -23
  11. package/esm2022/lib/components/adb-confirm-modal/adb-modal.service.mjs +46 -46
  12. package/esm2022/lib/components/adb-dropdown/adb-dropdown.directive.mjs +100 -100
  13. package/esm2022/lib/components/adb-dropdown/adb-dropdown.module.mjs +24 -24
  14. package/esm2022/lib/components/adb-dropdown/adb-dropdown.service.mjs +10 -10
  15. package/esm2022/lib/components/adb-dropdown/adb-dropdown2.directive.mjs +119 -119
  16. package/esm2022/lib/components/adb-header/adb-header.module.mjs +49 -57
  17. package/esm2022/lib/components/adb-header/adb-nav.component.mjs +115 -115
  18. package/esm2022/lib/components/adb-header/environment.service.mjs +16 -16
  19. package/esm2022/lib/components/adb-header/navigation.model.mjs +1 -1
  20. package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.component.mjs +84 -65
  21. package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.module.mjs +19 -19
  22. package/esm2022/lib/components/adb-toast/adb-toast.mjs +25 -25
  23. package/esm2022/lib/components/adb-toast/adb-toast.module.mjs +23 -23
  24. package/esm2022/lib/components/adb-toast/adb-toast.service.mjs +55 -55
  25. package/esm2022/lib/components/date-picker/adb-date-picker.component.mjs +177 -177
  26. package/esm2022/lib/components/date-picker/adb-date-picker.directive.mjs +220 -220
  27. package/esm2022/lib/components/date-picker/adb-date-picker.module.mjs +25 -25
  28. package/esm2022/lib/components/date-picker/adb-date-picker.service.mjs +10 -10
  29. package/esm2022/lib/components/pagers/infinite-scroll.component.mjs +47 -47
  30. package/esm2022/lib/components/pagers/pager-base.directive.mjs +57 -57
  31. package/esm2022/lib/components/pagers/pager-inline.mjs +49 -49
  32. package/esm2022/lib/components/pagers/pager.mjs +53 -53
  33. package/esm2022/lib/components/pagers/pagers.module.mjs +26 -26
  34. package/esm2022/lib/directives/click-outside.directive.mjs +28 -28
  35. package/esm2022/lib/directives/directives.module.mjs +21 -21
  36. package/esm2022/lib/directives/file-upload.directive.mjs +36 -36
  37. package/esm2022/lib/directives/focus.directive.mjs +34 -34
  38. package/esm2022/lib/directives/redlist-badge-class.directive.mjs +44 -44
  39. package/esm2022/lib/directives/risk-class.directive.mjs +37 -37
  40. package/esm2022/lib/pipes/date.pipe.mjs +22 -22
  41. package/esm2022/lib/pipes/emptyValue.pipe.mjs +22 -22
  42. package/esm2022/lib/pipes/highlight-html.pipe.mjs +46 -46
  43. package/esm2022/lib/pipes/highlight.pipe.mjs +46 -46
  44. package/esm2022/lib/pipes/number-spacing.pipe.mjs +21 -21
  45. package/esm2022/lib/pipes/pipes.module.mjs +22 -22
  46. package/esm2022/lib/pipes/rich.pipe.mjs +36 -36
  47. package/esm2022/public-api.mjs +41 -41
  48. package/fesm2022/adb-shared.mjs +1817 -1815
  49. package/fesm2022/adb-shared.mjs.map +1 -1
  50. package/index.d.ts +5 -5
  51. package/lib/components/adb-artportalen-nav/adb-artportalen-footer.component.d.ts +23 -23
  52. package/lib/components/adb-artportalen-nav/adb-artportalen-nav.component.d.ts +41 -41
  53. package/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.d.ts +16 -17
  54. package/lib/components/adb-artportalen-nav/environment.service.d.ts +7 -7
  55. package/lib/components/adb-artportalen-nav/navigation.model.d.ts +18 -18
  56. package/lib/components/adb-buttons/adb-buttons.module.d.ts +9 -9
  57. package/lib/components/adb-buttons/help-button.component.d.ts +13 -13
  58. package/lib/components/adb-confirm-modal/adb-confirm-modal.d.ts +20 -20
  59. package/lib/components/adb-confirm-modal/adb-modal.module.d.ts +10 -10
  60. package/lib/components/adb-confirm-modal/adb-modal.service.d.ts +18 -18
  61. package/lib/components/adb-dropdown/adb-dropdown.directive.d.ts +21 -21
  62. package/lib/components/adb-dropdown/adb-dropdown.module.d.ts +11 -11
  63. package/lib/components/adb-dropdown/adb-dropdown.service.d.ts +7 -7
  64. package/lib/components/adb-dropdown/adb-dropdown2.directive.d.ts +23 -23
  65. package/lib/components/adb-header/adb-header.module.d.ts +15 -16
  66. package/lib/components/adb-header/adb-nav.component.d.ts +41 -41
  67. package/lib/components/adb-header/environment.service.d.ts +7 -7
  68. package/lib/components/adb-header/navigation.model.d.ts +29 -29
  69. package/lib/components/adb-rich-editor/adb-rich-editor.component.d.ts +24 -22
  70. package/lib/components/adb-rich-editor/adb-rich-editor.module.d.ts +9 -9
  71. package/lib/components/adb-toast/adb-toast.d.ts +11 -11
  72. package/lib/components/adb-toast/adb-toast.module.d.ts +10 -10
  73. package/lib/components/adb-toast/adb-toast.service.d.ts +36 -36
  74. package/lib/components/date-picker/adb-date-picker.component.d.ts +64 -64
  75. package/lib/components/date-picker/adb-date-picker.directive.d.ts +47 -47
  76. package/lib/components/date-picker/adb-date-picker.module.d.ts +12 -12
  77. package/lib/components/date-picker/adb-date-picker.service.d.ts +8 -8
  78. package/lib/components/pagers/infinite-scroll.component.d.ts +15 -15
  79. package/lib/components/pagers/pager-base.directive.d.ts +16 -16
  80. package/lib/components/pagers/pager-inline.d.ts +16 -16
  81. package/lib/components/pagers/pager.d.ts +22 -22
  82. package/lib/components/pagers/pagers.module.d.ts +11 -11
  83. package/lib/directives/click-outside.directive.d.ts +10 -10
  84. package/lib/directives/directives.module.d.ts +11 -11
  85. package/lib/directives/file-upload.directive.d.ts +12 -12
  86. package/lib/directives/focus.directive.d.ts +11 -11
  87. package/lib/directives/redlist-badge-class.directive.d.ts +7 -7
  88. package/lib/directives/risk-class.directive.d.ts +7 -7
  89. package/lib/pipes/date.pipe.d.ts +10 -10
  90. package/lib/pipes/emptyValue.pipe.d.ts +7 -7
  91. package/lib/pipes/highlight-html.pipe.d.ts +10 -10
  92. package/lib/pipes/highlight.pipe.d.ts +9 -9
  93. package/lib/pipes/number-spacing.pipe.d.ts +7 -7
  94. package/lib/pipes/pipes.module.d.ts +12 -12
  95. package/lib/pipes/rich.pipe.d.ts +11 -11
  96. package/package.json +5 -5
  97. package/public-api.d.ts +38 -38
@@ -1,100 +1,100 @@
1
- import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./adb-dropdown.service";
4
- export class AdbDropdownDirective {
5
- constructor(elementRef, adbDropdownService) {
6
- this.elementRef = elementRef;
7
- this.adbDropdownService = adbDropdownService;
8
- this.adbDropdown = new EventEmitter();
9
- this.insideClick = false;
10
- this.dataToggle = "dropdown";
11
- this.haspPopup = true;
12
- this.expanded = false;
13
- this.id = this.getId();
14
- this.dropId = this.getId();
15
- }
16
- onClick() {
17
- this.adbDropdownService.currentMenuId = this.id;
18
- const node = this.elementRef.nativeElement.parentNode;
19
- const toggleButton = node.querySelector('.dropdown-toggle');
20
- let style = `transform:translate3d(0px, ${toggleButton?.clientHeight + 1}px, 0px);`;
21
- const menu = node.querySelector('.dropdown-menu');
22
- if (menu) {
23
- this.adbDropdownService.currentMenu = this.elementRef.nativeElement;
24
- if (menu.classList?.contains('dropdown-menu-end')) {
25
- style = style + 'inset: 0px 0px auto auto;';
26
- }
27
- menu.setAttribute('style', style);
28
- menu.setAttribute('id', this.dropId);
29
- if (menu.classList.contains('show')) {
30
- menu.classList.remove('show');
31
- this.expanded = false;
32
- }
33
- else {
34
- this.adbDropdown.emit();
35
- menu.classList.add('show');
36
- this.expanded = true;
37
- }
38
- }
39
- }
40
- onCheckOutSideClick(target) {
41
- if (this.adbDropdownService.currentMenuId === this.id) {
42
- const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
43
- const clickedInside = parent.contains(target);
44
- if (!clickedInside) {
45
- const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
46
- parent?.classList.remove('show');
47
- this.expanded = false;
48
- }
49
- }
50
- else {
51
- const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
52
- parent?.classList.remove('show');
53
- this.expanded = false;
54
- }
55
- }
56
- close() {
57
- const node = this.elementRef.nativeElement.parentNode;
58
- const menu = node.querySelector('.dropdown-menu');
59
- menu.classList.remove('show');
60
- this.expanded = false;
61
- }
62
- getId() {
63
- return '' + Math.floor(Math.random() * Date.now());
64
- }
65
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownDirective, deps: [{ token: i0.ElementRef }, { token: i1.AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive }); }
66
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded", "attr.aria-controls": "this.dropId" } }, exportAs: ["adbDropdown"], ngImport: i0 }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownDirective, decorators: [{
69
- type: Directive,
70
- args: [{
71
- selector: '[adbDropdown]',
72
- exportAs: 'adbDropdown'
73
- }]
74
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AdbDropdownService }]; }, propDecorators: { adbDropdown: [{
75
- type: Output
76
- }], insideClick: [{
77
- type: Input
78
- }], id: [{
79
- type: HostBinding,
80
- args: ['id']
81
- }], dataToggle: [{
82
- type: HostBinding,
83
- args: ['attr.data-toggle']
84
- }], haspPopup: [{
85
- type: HostBinding,
86
- args: ['attr.aria-haspopup']
87
- }], expanded: [{
88
- type: HostBinding,
89
- args: ['attr.aria-expanded']
90
- }], dropId: [{
91
- type: HostBinding,
92
- args: ['attr.aria-controls']
93
- }], onClick: [{
94
- type: HostListener,
95
- args: ['click']
96
- }], onCheckOutSideClick: [{
97
- type: HostListener,
98
- args: ['document:click', ['$event.target']]
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU85RyxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ksVUFBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUt4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNN0IsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUd4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFqQmIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQXFCRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLEdBQUcsOEJBQThCLFlBQVksRUFBRSxZQUFZLEdBQUcsQ0FBQyxX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YUFBYTtpQkFDMUI7a0lBVWEsV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLEVBQUU7c0JBREQsV0FBVzt1QkFBQyxJQUFJO2dCQUlqQixVQUFVO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCO2dCQUkvQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxRQUFRO3NCQURQLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxNQUFNO3NCQURMLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkEwQnJCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWRiRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSBcIi4vYWRiLWRyb3Bkb3duLnNlcnZpY2VcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYWRiRHJvcGRvd25dJyxcclxuICAgIGV4cG9ydEFzOiAnYWRiRHJvcGRvd24nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEcm9wZG93bkRpcmVjdGl2ZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgYWRiRHJvcGRvd25TZXJ2aWNlOiBBZGJEcm9wZG93blNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmlkID0gdGhpcy5nZXRJZCgpO1xyXG4gICAgICAgIHRoaXMuZHJvcElkID0gdGhpcy5nZXRJZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSBhZGJEcm9wZG93biA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBJbnB1dCgpIGluc2lkZUNsaWNrID0gZmFsc2U7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdpZCcpXHJcbiAgICBpZDogc3RyaW5nO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRvZ2dsZScpXHJcbiAgICBkYXRhVG9nZ2xlID0gXCJkcm9wZG93blwiO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcclxuICAgIGhhc3BQb3B1cCA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxyXG4gICAgZXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jb250cm9scycpXHJcbiAgICBkcm9wSWQ6c3RyaW5nO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgY29uc3QgdG9nZ2xlQnV0dG9uID0gbm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tdG9nZ2xlJyk7XHJcbiAgICAgICAgbGV0IHN0eWxlID0gYHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsICR7dG9nZ2xlQnV0dG9uPy5jbGllbnRIZWlnaHQgKyAxfXB4LCAwcHgpO2A7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICBpZiAobWVudSkge1xyXG4gICAgICAgICAgICB0aGlzLmFkYkRyb3Bkb3duU2VydmljZS5jdXJyZW50TWVudSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAobWVudS5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdkcm9wZG93bi1tZW51LWVuZCcpKSB7XHJcbiAgICAgICAgICAgICAgICBzdHlsZSA9IHN0eWxlICsgJ2luc2V0OiAwcHggMHB4IGF1dG8gYXV0bzsnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlKTtcclxuICAgICAgICAgICAgbWVudS5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5kcm9wSWQpO1xyXG4gICAgICAgICAgICBpZiAobWVudS5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgICAgICAgICAgbWVudS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkYkRyb3Bkb3duLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIG1lbnUuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2hlY2tPdXRTaWRlQ2xpY2sodGFyZ2V0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9PT0gdGhpcy5pZCkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluc2lkZUNsaWNrP3RoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU6dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBwYXJlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICBtZW51LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJZCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnJyArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpXHJcbiAgICB9XHJcbn0iXX0=
1
+ import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./adb-dropdown.service";
4
+ export class AdbDropdownDirective {
5
+ constructor(elementRef, adbDropdownService) {
6
+ this.elementRef = elementRef;
7
+ this.adbDropdownService = adbDropdownService;
8
+ this.adbDropdown = new EventEmitter();
9
+ this.insideClick = false;
10
+ this.dataToggle = "dropdown";
11
+ this.haspPopup = true;
12
+ this.expanded = false;
13
+ this.id = this.getId();
14
+ this.dropId = this.getId();
15
+ }
16
+ onClick() {
17
+ this.adbDropdownService.currentMenuId = this.id;
18
+ const node = this.elementRef.nativeElement.parentNode;
19
+ const toggleButton = node.querySelector('.dropdown-toggle');
20
+ let style = `transform:translate3d(0px, ${toggleButton?.clientHeight + 1}px, 0px);`;
21
+ const menu = node.querySelector('.dropdown-menu');
22
+ if (menu) {
23
+ this.adbDropdownService.currentMenu = this.elementRef.nativeElement;
24
+ if (menu.classList?.contains('dropdown-menu-end')) {
25
+ style = style + 'inset: 0px 0px auto auto;';
26
+ }
27
+ menu.setAttribute('style', style);
28
+ menu.setAttribute('id', this.dropId);
29
+ if (menu.classList.contains('show')) {
30
+ menu.classList.remove('show');
31
+ this.expanded = false;
32
+ }
33
+ else {
34
+ this.adbDropdown.emit();
35
+ menu.classList.add('show');
36
+ this.expanded = true;
37
+ }
38
+ }
39
+ }
40
+ onCheckOutSideClick(target) {
41
+ if (this.adbDropdownService.currentMenuId === this.id) {
42
+ const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
43
+ const clickedInside = parent.contains(target);
44
+ if (!clickedInside) {
45
+ const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
46
+ parent?.classList.remove('show');
47
+ this.expanded = false;
48
+ }
49
+ }
50
+ else {
51
+ const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
52
+ parent?.classList.remove('show');
53
+ this.expanded = false;
54
+ }
55
+ }
56
+ close() {
57
+ const node = this.elementRef.nativeElement.parentNode;
58
+ const menu = node.querySelector('.dropdown-menu');
59
+ menu.classList.remove('show');
60
+ this.expanded = false;
61
+ }
62
+ getId() {
63
+ return '' + Math.floor(Math.random() * Date.now());
64
+ }
65
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownDirective, deps: [{ token: i0.ElementRef }, { token: i1.AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: AdbDropdownDirective, selector: "[adbDropdown]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded", "attr.aria-controls": "this.dropId" } }, exportAs: ["adbDropdown"], ngImport: i0 }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownDirective, decorators: [{
69
+ type: Directive,
70
+ args: [{
71
+ selector: '[adbDropdown]',
72
+ exportAs: 'adbDropdown'
73
+ }]
74
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AdbDropdownService }], propDecorators: { adbDropdown: [{
75
+ type: Output
76
+ }], insideClick: [{
77
+ type: Input
78
+ }], id: [{
79
+ type: HostBinding,
80
+ args: ['id']
81
+ }], dataToggle: [{
82
+ type: HostBinding,
83
+ args: ['attr.data-toggle']
84
+ }], haspPopup: [{
85
+ type: HostBinding,
86
+ args: ['attr.aria-haspopup']
87
+ }], expanded: [{
88
+ type: HostBinding,
89
+ args: ['attr.aria-expanded']
90
+ }], dropId: [{
91
+ type: HostBinding,
92
+ args: ['attr.aria-controls']
93
+ }], onClick: [{
94
+ type: HostListener,
95
+ args: ['click']
96
+ }], onCheckOutSideClick: [{
97
+ type: HostListener,
98
+ args: ['document:click', ['$event.target']]
99
+ }] } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU85RyxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ksVUFBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUt4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNN0IsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUd4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFqQmIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQXFCRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUQsSUFBSSxLQUFLLEdBQUcsOEJBQThCLFlBQVksRUFBRSxZQUFZLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDcEYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQ3BFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLEdBQUcsS0FBSyxHQUFHLDJCQUEyQixDQUFDO1lBQ2hELENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxNQUFXO1FBQzNCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUN2RyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUN4RixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hGLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVPLEtBQUs7UUFDVCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUN0RCxDQUFDO2lJQTlFUSxvQkFBb0I7cUhBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7aUJBQzFCO2dIQVVhLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0UsV0FBVztzQkFBbkIsS0FBSztnQkFHTixFQUFFO3NCQURELFdBQVc7dUJBQUMsSUFBSTtnQkFJakIsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFJL0IsU0FBUztzQkFEUixXQUFXO3VCQUFDLG9CQUFvQjtnQkFJakMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFJakMsTUFBTTtzQkFETCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFJakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBMEJyQixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFkYkRyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuL2FkYi1kcm9wZG93bi5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2FkYkRyb3Bkb3duXScsXHJcbiAgICBleHBvcnRBczogJ2FkYkRyb3Bkb3duJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRiRHJvcGRvd25EaXJlY3RpdmUge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIGFkYkRyb3Bkb3duU2VydmljZTogQWRiRHJvcGRvd25TZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgICAgICB0aGlzLmRyb3BJZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgYWRiRHJvcGRvd24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBASW5wdXQoKSBpbnNpZGVDbGljayA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnaWQnKVxyXG4gICAgaWQ6IHN0cmluZztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10b2dnbGUnKVxyXG4gICAgZGF0YVRvZ2dsZSA9IFwiZHJvcGRvd25cIjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXHJcbiAgICBoYXNwUG9wdXAgPSB0cnVlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcclxuICAgIGV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxyXG4gICAgZHJvcElkOnN0cmluZztcclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWRiRHJvcGRvd25TZXJ2aWNlLmN1cnJlbnRNZW51SWQgPSB0aGlzLmlkO1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xyXG4gICAgICAgIGNvbnN0IHRvZ2dsZUJ1dHRvbiA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpO1xyXG4gICAgICAgIGxldCBzdHlsZSA9IGB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LCAke3RvZ2dsZUJ1dHRvbj8uY2xpZW50SGVpZ2h0ICsgMX1weCwgMHB4KTtgO1xyXG4gICAgICAgIGNvbnN0IG1lbnUgPSBub2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgaWYgKG1lbnUpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgaWYgKG1lbnUuY2xhc3NMaXN0Py5jb250YWlucygnZHJvcGRvd24tbWVudS1lbmQnKSkge1xyXG4gICAgICAgICAgICAgICAgc3R5bGUgPSBzdHlsZSArICdpbnNldDogMHB4IDBweCBhdXRvIGF1dG87JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtZW51LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZSk7XHJcbiAgICAgICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMuZHJvcElkKTtcclxuICAgICAgICAgICAgaWYgKG1lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykpIHtcclxuICAgICAgICAgICAgICAgIG1lbnUuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hZGJEcm9wZG93bi5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICBtZW51LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgICBvbkNoZWNrT3V0U2lkZUNsaWNrKHRhcmdldDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWRiRHJvcGRvd25TZXJ2aWNlLmN1cnJlbnRNZW51SWQgPT09IHRoaXMuaWQpIHtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5pbnNpZGVDbGljaz90aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlOnRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gcGFyZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xyXG4gICAgICAgICAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgIHBhcmVudD8uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO1xyXG4gICAgICAgIGNvbnN0IG1lbnUgPSBub2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgbWVudS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJycgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKVxyXG4gICAgfVxyXG59Il19
@@ -1,24 +1,24 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { TranslateModule } from "@ngx-translate/core";
4
- import { AdbDirectivesModule } from "../../directives/directives.module";
5
- import { AdbDropdownDirective } from "./adb-dropdown.directive";
6
- import { AdbDropdownService } from "./adb-dropdown.service";
7
- import { AdbDropdown2Directive } from "./adb-dropdown2.directive";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ngx-translate/core";
10
- export class AdbDropdownModule {
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownModule, declarations: [AdbDropdownDirective, AdbDropdown2Directive], imports: [CommonModule, i1.TranslateModule, AdbDirectivesModule], exports: [AdbDropdownDirective, AdbDropdown2Directive] }); }
13
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownModule, providers: [AdbDropdownService], imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],
19
- declarations: [AdbDropdownDirective, AdbDropdown2Directive],
20
- exports: [AdbDropdownDirective, AdbDropdown2Directive],
21
- providers: [AdbDropdownService]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVFsRSxNQUFNLE9BQU8saUJBQWlCO2tJQUFqQixpQkFBaUI7bUlBQWpCLGlCQUFpQixpQkFKWCxvQkFBb0IsRUFBRSxxQkFBcUIsYUFEaEQsWUFBWSxzQkFBOEIsbUJBQW1CLGFBRTdELG9CQUFvQixFQUFFLHFCQUFxQjttSUFHNUMsaUJBQWlCLGFBRmYsQ0FBQyxrQkFBa0IsQ0FBQyxZQUhyQixZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQjs7NEZBSzlELGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQixDQUFDO29CQUN4RSxZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQztvQkFDM0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUscUJBQXFCLENBQUM7b0JBQ3RELFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBBZGJEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgQWRiRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tIFwiLi9hZGItZHJvcGRvd24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEFkYkRyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuL2FkYi1kcm9wZG93bi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFkYkRyb3Bkb3duMkRpcmVjdGl2ZSB9IGZyb20gXCIuL2FkYi1kcm9wZG93bjIuZGlyZWN0aXZlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksIEFkYkRpcmVjdGl2ZXNNb2R1bGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQWRiRHJvcGRvd25EaXJlY3RpdmUsIEFkYkRyb3Bkb3duMkRpcmVjdGl2ZV0sXHJcbiAgICBleHBvcnRzOiBbQWRiRHJvcGRvd25EaXJlY3RpdmUsIEFkYkRyb3Bkb3duMkRpcmVjdGl2ZV0sXHJcbiAgICBwcm92aWRlcnM6IFtBZGJEcm9wZG93blNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEcm9wZG93bk1vZHVsZSB7IH0iXX0=
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { TranslateModule } from "@ngx-translate/core";
4
+ import { AdbDirectivesModule } from "../../directives/directives.module";
5
+ import { AdbDropdownDirective } from "./adb-dropdown.directive";
6
+ import { AdbDropdownService } from "./adb-dropdown.service";
7
+ import { AdbDropdown2Directive } from "./adb-dropdown2.directive";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngx-translate/core";
10
+ export class AdbDropdownModule {
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownModule, declarations: [AdbDropdownDirective, AdbDropdown2Directive], imports: [CommonModule, i1.TranslateModule, AdbDirectivesModule], exports: [AdbDropdownDirective, AdbDropdown2Directive] }); }
13
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownModule, providers: [AdbDropdownService], imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule] }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [CommonModule, TranslateModule.forChild(), AdbDirectivesModule],
19
+ declarations: [AdbDropdownDirective, AdbDropdown2Directive],
20
+ exports: [AdbDropdownDirective, AdbDropdown2Directive],
21
+ providers: [AdbDropdownService]
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9hZGItZHJvcGRvd24vYWRiLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVFsRSxNQUFNLE9BQU8saUJBQWlCO2lJQUFqQixpQkFBaUI7a0lBQWpCLGlCQUFpQixpQkFKWCxvQkFBb0IsRUFBRSxxQkFBcUIsYUFEaEQsWUFBWSxzQkFBOEIsbUJBQW1CLGFBRTdELG9CQUFvQixFQUFFLHFCQUFxQjtrSUFHNUMsaUJBQWlCLGFBRmYsQ0FBQyxrQkFBa0IsQ0FBQyxZQUhyQixZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQjs7MkZBSzlELGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQixDQUFDO29CQUN4RSxZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQztvQkFDM0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUscUJBQXFCLENBQUM7b0JBQ3RELFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBBZGJEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgQWRiRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tIFwiLi9hZGItZHJvcGRvd24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEFkYkRyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuL2FkYi1kcm9wZG93bi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFkYkRyb3Bkb3duMkRpcmVjdGl2ZSB9IGZyb20gXCIuL2FkYi1kcm9wZG93bjIuZGlyZWN0aXZlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksIEFkYkRpcmVjdGl2ZXNNb2R1bGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQWRiRHJvcGRvd25EaXJlY3RpdmUsIEFkYkRyb3Bkb3duMkRpcmVjdGl2ZV0sXHJcbiAgICBleHBvcnRzOiBbQWRiRHJvcGRvd25EaXJlY3RpdmUsIEFkYkRyb3Bkb3duMkRpcmVjdGl2ZV0sXHJcbiAgICBwcm92aWRlcnM6IFtBZGJEcm9wZG93blNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEcm9wZG93bk1vZHVsZSB7IH0iXX0=
@@ -1,10 +1,10 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class AdbDropdownService {
4
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownService }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdownService, decorators: [{
8
- type: Injectable
9
- }] });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWRyb3Bkb3duL2FkYi1kcm9wZG93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxrQkFBa0I7a0lBQWxCLGtCQUFrQjtzSUFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZGJEcm9wZG93blNlcnZpY2Uge1xyXG4gICAgY3VycmVudE1lbnU6IGFueTtcclxuICAgIGN1cnJlbnRNZW51SWQ6IHN0cmluZztcclxufSJdfQ==
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AdbDropdownService {
4
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownService }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdownService, decorators: [{
8
+ type: Injectable
9
+ }] });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWRyb3Bkb3duL2FkYi1kcm9wZG93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxrQkFBa0I7aUlBQWxCLGtCQUFrQjtxSUFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZGJEcm9wZG93blNlcnZpY2Uge1xyXG4gICAgY3VycmVudE1lbnU6IGFueTtcclxuICAgIGN1cnJlbnRNZW51SWQ6IHN0cmluZztcclxufSJdfQ==
@@ -1,119 +1,119 @@
1
- import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./adb-dropdown.service";
4
- export class AdbDropdown2Directive {
5
- constructor(elementRef, adbDropdownService) {
6
- this.elementRef = elementRef;
7
- this.adbDropdownService = adbDropdownService;
8
- this.adbDropdown = new EventEmitter();
9
- this.insideClick = false;
10
- this.dataToggle = "dropdown";
11
- this.haspPopup = true;
12
- this.expanded = false;
13
- this.id = this.getId();
14
- this.dropId = this.getId();
15
- }
16
- onClick() {
17
- this.adbDropdownService.currentMenuId = this.id;
18
- const node = this.elementRef.nativeElement.parentNode;
19
- const menu = node.querySelector('.dropdown-menu');
20
- if (menu) {
21
- this.adbDropdownService.currentMenu = this.elementRef.nativeElement;
22
- this.setMenuPosition(node, menu);
23
- menu.setAttribute('id', this.dropId);
24
- if (menu.classList.contains('show')) {
25
- menu.classList.remove('show');
26
- this.expanded = false;
27
- }
28
- else {
29
- this.adbDropdown.emit();
30
- menu.classList.add('show');
31
- this.expanded = true;
32
- }
33
- }
34
- }
35
- onCheckOutSideClick(target) {
36
- if (this.adbDropdownService.currentMenuId === this.id) {
37
- const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
38
- const clickedInside = parent.contains(target);
39
- if (!clickedInside) {
40
- const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
41
- parent?.classList.remove('show');
42
- this.expanded = false;
43
- }
44
- }
45
- else {
46
- const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
47
- parent?.classList.remove('show');
48
- this.expanded = false;
49
- }
50
- }
51
- onWindowScroll() {
52
- const node = this.elementRef.nativeElement.parentNode;
53
- const menu = node.querySelector('.dropdown-menu');
54
- if (menu.classList?.contains('show')) {
55
- this.setMenuPosition(node, menu);
56
- }
57
- }
58
- setMenuPosition(dropdownNode, menu) {
59
- const toggleButton = dropdownNode.querySelector('.dropdown-toggle');
60
- menu.setAttribute('style', 'visibility:hidden');
61
- menu.setAttribute('style', 'display:block');
62
- const menuWidth = menu.offsetWidth;
63
- menu.setAttribute('style', 'visibility:visible');
64
- menu.setAttribute('style', 'display:none');
65
- const buttonRect = toggleButton.getBoundingClientRect();
66
- let menuPosition = `top:${buttonRect.bottom}px;left:${buttonRect.left}px;position:fixed;`;
67
- if (menu.classList?.contains('dropdown-menu-end')) {
68
- menuPosition = `top:${buttonRect.bottom}px;left:${buttonRect.right - menuWidth}px;position:fixed;`;
69
- }
70
- menu.setAttribute('style', menuPosition);
71
- }
72
- close() {
73
- const node = this.elementRef.nativeElement.parentNode;
74
- const menu = node.querySelector('.dropdown-menu');
75
- menu.classList.remove('show');
76
- this.expanded = false;
77
- }
78
- getId() {
79
- return '' + Math.floor(Math.random() * Date.now());
80
- }
81
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdown2Directive, deps: [{ token: i0.ElementRef }, { token: i1.AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AdbDropdown2Directive, selector: "[adbDropdown2]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)", "window:scroll": "onWindowScroll()" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded", "attr.aria-controls": "this.dropId" } }, exportAs: ["adbDropdown"], ngImport: i0 }); }
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDropdown2Directive, decorators: [{
85
- type: Directive,
86
- args: [{
87
- selector: '[adbDropdown2]',
88
- exportAs: 'adbDropdown'
89
- }]
90
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AdbDropdownService }]; }, propDecorators: { adbDropdown: [{
91
- type: Output
92
- }], insideClick: [{
93
- type: Input
94
- }], id: [{
95
- type: HostBinding,
96
- args: ['id']
97
- }], dataToggle: [{
98
- type: HostBinding,
99
- args: ['attr.data-toggle']
100
- }], haspPopup: [{
101
- type: HostBinding,
102
- args: ['attr.aria-haspopup']
103
- }], expanded: [{
104
- type: HostBinding,
105
- args: ['attr.aria-expanded']
106
- }], dropId: [{
107
- type: HostBinding,
108
- args: ['attr.aria-controls']
109
- }], onClick: [{
110
- type: HostListener,
111
- args: ['click']
112
- }], onCheckOutSideClick: [{
113
- type: HostListener,
114
- args: ['document:click', ['$event.target']]
115
- }], onWindowScroll: [{
116
- type: HostListener,
117
- args: ['window:scroll']
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duMi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWRyb3Bkb3duL2FkYi1kcm9wZG93bjIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzlHLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsWUFDWSxVQUFzQixFQUN0QixrQkFBc0M7UUFEdEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBS3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQU03QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBR3hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFHakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQWpCYixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBcUJELE9BQU87UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFX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TUFBTTtzQkFETCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFJakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBcUJyQixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBa0JqRCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWRiRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSBcIi4vYWRiLWRyb3Bkb3duLnNlcnZpY2VcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbYWRiRHJvcGRvd24yXScsXHJcbiAgICBleHBvcnRBczogJ2FkYkRyb3Bkb3duJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRiRHJvcGRvd24yRGlyZWN0aXZlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGJEcm9wZG93blNlcnZpY2U6IEFkYkRyb3Bkb3duU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICAgICAgdGhpcy5kcm9wSWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIGFkYkRyb3Bkb3duID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQElucHV0KCkgaW5zaWRlQ2xpY2sgPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2lkJylcclxuICAgIGlkOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdG9nZ2xlJylcclxuICAgIGRhdGFUb2dnbGUgPSBcImRyb3Bkb3duXCI7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxyXG4gICAgaGFzcFBvcHVwID0gdHJ1ZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXHJcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJylcclxuICAgIGRyb3BJZDogc3RyaW5nO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICBpZiAobWVudSkge1xyXG4gICAgICAgICAgICB0aGlzLmFkYkRyb3Bkb3duU2VydmljZS5jdXJyZW50TWVudSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldE1lbnVQb3NpdGlvbihub2RlLCBtZW51KTtcclxuICAgICAgICAgICAgbWVudS5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5kcm9wSWQpO1xyXG4gICAgICAgICAgICBpZiAobWVudS5jbGFzc0xpc3QuY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgICAgICAgICAgbWVudS5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkYkRyb3Bkb3duLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIG1lbnUuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2hlY2tPdXRTaWRlQ2xpY2sodGFyZ2V0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hZGJEcm9wZG93blNlcnZpY2UuY3VycmVudE1lbnVJZCA9PT0gdGhpcy5pZCkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluc2lkZUNsaWNrID8gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZSA6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gcGFyZW50LmNvbnRhaW5zKHRhcmdldCk7XHJcbiAgICAgICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xyXG4gICAgICAgICAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgIHBhcmVudD8uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxyXG4gICAgb25XaW5kb3dTY3JvbGwoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICBpZiAobWVudS5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdzaG93JykpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRNZW51UG9zaXRpb24obm9kZSwgbWVudSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0TWVudVBvc2l0aW9uKGRyb3Bkb3duTm9kZTogYW55LCBtZW51OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0b2dnbGVCdXR0b24gPSBkcm9wZG93bk5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpO1xyXG4gICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdzdHlsZScsICd2aXNpYmlsaXR5OmhpZGRlbicpO1xyXG4gICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OmJsb2NrJyk7XHJcbiAgICAgICAgY29uc3QgbWVudVdpZHRoID0gbWVudS5vZmZzZXRXaWR0aDtcclxuICAgICAgICBtZW51LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAndmlzaWJpbGl0eTp2aXNpYmxlJyk7XHJcbiAgICAgICAgbWVudS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6bm9uZScpO1xyXG4gICAgICAgIGNvbnN0IGJ1dHRvblJlY3QgPSB0b2dnbGVCdXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgbGV0IG1lbnVQb3NpdGlvbiA9IGB0b3A6JHtidXR0b25SZWN0LmJvdHRvbX1weDtsZWZ0OiR7YnV0dG9uUmVjdC5sZWZ0fXB4O3Bvc2l0aW9uOmZpeGVkO2A7XHJcbiAgICAgICAgaWYgKG1lbnUuY2xhc3NMaXN0Py5jb250YWlucygnZHJvcGRvd24tbWVudS1lbmQnKSkge1xyXG4gICAgICAgICAgICBtZW51UG9zaXRpb24gPSBgdG9wOiR7YnV0dG9uUmVjdC5ib3R0b219cHg7bGVmdDoke2J1dHRvblJlY3QucmlnaHQtbWVudVdpZHRofXB4O3Bvc2l0aW9uOmZpeGVkO2A7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdzdHlsZScsIG1lbnVQb3NpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgY29uc3QgbWVudSA9IG5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICBtZW51LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJZCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnJyArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpXHJcbiAgICB9XHJcbn0iXX0=
1
+ import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./adb-dropdown.service";
4
+ export class AdbDropdown2Directive {
5
+ constructor(elementRef, adbDropdownService) {
6
+ this.elementRef = elementRef;
7
+ this.adbDropdownService = adbDropdownService;
8
+ this.adbDropdown = new EventEmitter();
9
+ this.insideClick = false;
10
+ this.dataToggle = "dropdown";
11
+ this.haspPopup = true;
12
+ this.expanded = false;
13
+ this.id = this.getId();
14
+ this.dropId = this.getId();
15
+ }
16
+ onClick() {
17
+ this.adbDropdownService.currentMenuId = this.id;
18
+ const node = this.elementRef.nativeElement.parentNode;
19
+ const menu = node.querySelector('.dropdown-menu');
20
+ if (menu) {
21
+ this.adbDropdownService.currentMenu = this.elementRef.nativeElement;
22
+ this.setMenuPosition(node, menu);
23
+ menu.setAttribute('id', this.dropId);
24
+ if (menu.classList.contains('show')) {
25
+ menu.classList.remove('show');
26
+ this.expanded = false;
27
+ }
28
+ else {
29
+ this.adbDropdown.emit();
30
+ menu.classList.add('show');
31
+ this.expanded = true;
32
+ }
33
+ }
34
+ }
35
+ onCheckOutSideClick(target) {
36
+ if (this.adbDropdownService.currentMenuId === this.id) {
37
+ const parent = this.insideClick ? this.elementRef.nativeElement.parentNode : this.elementRef.nativeElement;
38
+ const clickedInside = parent.contains(target);
39
+ if (!clickedInside) {
40
+ const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
41
+ parent?.classList.remove('show');
42
+ this.expanded = false;
43
+ }
44
+ }
45
+ else {
46
+ const parent = this.elementRef.nativeElement.parentNode.querySelector('.dropdown-menu');
47
+ parent?.classList.remove('show');
48
+ this.expanded = false;
49
+ }
50
+ }
51
+ onWindowScroll() {
52
+ const node = this.elementRef.nativeElement.parentNode;
53
+ const menu = node.querySelector('.dropdown-menu');
54
+ if (menu.classList?.contains('show')) {
55
+ this.setMenuPosition(node, menu);
56
+ }
57
+ }
58
+ setMenuPosition(dropdownNode, menu) {
59
+ const toggleButton = dropdownNode.querySelector('.dropdown-toggle');
60
+ menu.setAttribute('style', 'visibility:hidden');
61
+ menu.setAttribute('style', 'display:block');
62
+ const menuWidth = menu.offsetWidth;
63
+ menu.setAttribute('style', 'visibility:visible');
64
+ menu.setAttribute('style', 'display:none');
65
+ const buttonRect = toggleButton.getBoundingClientRect();
66
+ let menuPosition = `top:${buttonRect.bottom}px;left:${buttonRect.left}px;position:fixed;`;
67
+ if (menu.classList?.contains('dropdown-menu-end')) {
68
+ menuPosition = `top:${buttonRect.bottom}px;left:${buttonRect.right - menuWidth}px;position:fixed;`;
69
+ }
70
+ menu.setAttribute('style', menuPosition);
71
+ }
72
+ close() {
73
+ const node = this.elementRef.nativeElement.parentNode;
74
+ const menu = node.querySelector('.dropdown-menu');
75
+ menu.classList.remove('show');
76
+ this.expanded = false;
77
+ }
78
+ getId() {
79
+ return '' + Math.floor(Math.random() * Date.now());
80
+ }
81
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdown2Directive, deps: [{ token: i0.ElementRef }, { token: i1.AdbDropdownService }], target: i0.ɵɵFactoryTarget.Directive }); }
82
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: AdbDropdown2Directive, selector: "[adbDropdown2]", inputs: { insideClick: "insideClick" }, outputs: { adbDropdown: "adbDropdown" }, host: { listeners: { "click": "onClick()", "document:click": "onCheckOutSideClick($event.target)", "window:scroll": "onWindowScroll()" }, properties: { "id": "this.id", "attr.data-toggle": "this.dataToggle", "attr.aria-haspopup": "this.haspPopup", "attr.aria-expanded": "this.expanded", "attr.aria-controls": "this.dropId" } }, exportAs: ["adbDropdown"], ngImport: i0 }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDropdown2Directive, decorators: [{
85
+ type: Directive,
86
+ args: [{
87
+ selector: '[adbDropdown2]',
88
+ exportAs: 'adbDropdown'
89
+ }]
90
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AdbDropdownService }], propDecorators: { adbDropdown: [{
91
+ type: Output
92
+ }], insideClick: [{
93
+ type: Input
94
+ }], id: [{
95
+ type: HostBinding,
96
+ args: ['id']
97
+ }], dataToggle: [{
98
+ type: HostBinding,
99
+ args: ['attr.data-toggle']
100
+ }], haspPopup: [{
101
+ type: HostBinding,
102
+ args: ['attr.aria-haspopup']
103
+ }], expanded: [{
104
+ type: HostBinding,
105
+ args: ['attr.aria-expanded']
106
+ }], dropId: [{
107
+ type: HostBinding,
108
+ args: ['attr.aria-controls']
109
+ }], onClick: [{
110
+ type: HostListener,
111
+ args: ['click']
112
+ }], onCheckOutSideClick: [{
113
+ type: HostListener,
114
+ args: ['document:click', ['$event.target']]
115
+ }], onWindowScroll: [{
116
+ type: HostListener,
117
+ args: ['window:scroll']
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRyb3Bkb3duMi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvYWRiLWRyb3Bkb3duL2FkYi1kcm9wZG93bjIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzlHLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUIsWUFDWSxVQUFzQixFQUN0QixrQkFBc0M7UUFEdEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBS3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQU03QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBR3hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFHakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQWpCYixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBcUJELE9BQU87UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGtCQUFrQixDQUFD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O2dCQUkvQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxRQUFRO3NCQURQLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxNQUFNO3NCQURMLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUlqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFxQnJCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFrQmpELGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBZGJEcm9wZG93blNlcnZpY2UgfSBmcm9tIFwiLi9hZGItZHJvcGRvd24uc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1thZGJEcm9wZG93bjJdJyxcclxuICAgIGV4cG9ydEFzOiAnYWRiRHJvcGRvd24nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEcm9wZG93bjJEaXJlY3RpdmUge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIGFkYkRyb3Bkb3duU2VydmljZTogQWRiRHJvcGRvd25TZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgICAgICB0aGlzLmRyb3BJZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgYWRiRHJvcGRvd24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBASW5wdXQoKSBpbnNpZGVDbGljayA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnaWQnKVxyXG4gICAgaWQ6IHN0cmluZztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10b2dnbGUnKVxyXG4gICAgZGF0YVRvZ2dsZSA9IFwiZHJvcGRvd25cIjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXHJcbiAgICBoYXNwUG9wdXAgPSB0cnVlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcclxuICAgIGV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxyXG4gICAgZHJvcElkOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gICAgb25DbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFkYkRyb3Bkb3duU2VydmljZS5jdXJyZW50TWVudUlkID0gdGhpcy5pZDtcclxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcclxuICAgICAgICBjb25zdCBtZW51ID0gbm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xyXG4gICAgICAgIGlmIChtZW51KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRiRHJvcGRvd25TZXJ2aWNlLmN1cnJlbnRNZW51ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0TWVudVBvc2l0aW9uKG5vZGUsIG1lbnUpO1xyXG4gICAgICAgICAgICBtZW51LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmRyb3BJZCk7XHJcbiAgICAgICAgICAgIGlmIChtZW51LmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XHJcbiAgICAgICAgICAgICAgICBtZW51LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRiRHJvcGRvd24uZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgbWVudS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gICAgb25DaGVja091dFNpZGVDbGljayh0YXJnZXQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFkYkRyb3Bkb3duU2VydmljZS5jdXJyZW50TWVudUlkID09PSB0aGlzLmlkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuaW5zaWRlQ2xpY2sgPyB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlIDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBwYXJlbnQuY29udGFpbnModGFyZ2V0KTtcclxuICAgICAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgICAgICBwYXJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcclxuICAgICAgICAgICAgcGFyZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXHJcbiAgICBvbldpbmRvd1Njcm9sbCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcclxuICAgICAgICBjb25zdCBtZW51ID0gbm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xyXG4gICAgICAgIGlmIChtZW51LmNsYXNzTGlzdD8uY29udGFpbnMoJ3Nob3cnKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldE1lbnVQb3NpdGlvbihub2RlLCBtZW51KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRNZW51UG9zaXRpb24oZHJvcGRvd25Ob2RlOiBhbnksIG1lbnU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRvZ2dsZUJ1dHRvbiA9IGRyb3Bkb3duTm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tdG9nZ2xlJyk7XHJcbiAgICAgICAgbWVudS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3Zpc2liaWxpdHk6aGlkZGVuJyk7XHJcbiAgICAgICAgbWVudS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6YmxvY2snKTtcclxuICAgICAgICBjb25zdCBtZW51V2lkdGggPSBtZW51Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIG1lbnUuc2V0QXR0cmlidXRlKCdzdHlsZScsICd2aXNpYmlsaXR5OnZpc2libGUnKTtcclxuICAgICAgICBtZW51LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTpub25lJyk7XHJcbiAgICAgICAgY29uc3QgYnV0dG9uUmVjdCA9IHRvZ2dsZUJ1dHRvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBsZXQgbWVudVBvc2l0aW9uID0gYHRvcDoke2J1dHRvblJlY3QuYm90dG9tfXB4O2xlZnQ6JHtidXR0b25SZWN0LmxlZnR9cHg7cG9zaXRpb246Zml4ZWQ7YDtcclxuICAgICAgICBpZiAobWVudS5jbGFzc0xpc3Q/LmNvbnRhaW5zKCdkcm9wZG93bi1tZW51LWVuZCcpKSB7XHJcbiAgICAgICAgICAgIG1lbnVQb3NpdGlvbiA9IGB0b3A6JHtidXR0b25SZWN0LmJvdHRvbX1weDtsZWZ0OiR7YnV0dG9uUmVjdC5yaWdodC1tZW51V2lkdGh9cHg7cG9zaXRpb246Zml4ZWQ7YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWVudS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgbWVudVBvc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcclxuICAgICAgICBjb25zdCBtZW51ID0gbm9kZS5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xyXG4gICAgICAgIG1lbnUuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuICcnICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSlcclxuICAgIH1cclxufSJdfQ==