vc-layout 3.0.3 → 3.0.4

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 (75) hide show
  1. package/fesm2022/vc-layout.mjs +573 -354
  2. package/fesm2022/vc-layout.mjs.map +1 -1
  3. package/lib/components/ai-assistant/ai-assistant-container.component.d.ts +25 -0
  4. package/lib/components/ai-assistant/assistant-state.config.d.ts +11 -0
  5. package/lib/components/header/ai-assistant/ai-assistant.component.d.ts +12 -0
  6. package/lib/components/header/business-cycle/business-cycle.component.d.ts +1 -0
  7. package/lib/components/header/header-container/header-container.component.d.ts +5 -3
  8. package/lib/components/header/header.module.d.ts +11 -9
  9. package/lib/components/product-list/module-list/module-list.component.d.ts +0 -10
  10. package/lib/constants/assistant.constants.d.ts +2 -0
  11. package/lib/shared/pipe/pipes.module.d.ts +3 -2
  12. package/lib/shared/pipe/safe-url.pipe.d.ts +10 -0
  13. package/lib/shared/services/local-storage.service.d.ts +8 -0
  14. package/package.json +3 -5
  15. package/public-api.d.ts +1 -0
  16. package/esm2022/lib/components/global-alert/global-alert/global-alert.component.mjs +0 -191
  17. package/esm2022/lib/components/global-alert/global-alert.module.mjs +0 -18
  18. package/esm2022/lib/components/header/business-cycle/business-cycle.component.mjs +0 -275
  19. package/esm2022/lib/components/header/create-workflow/create-workflow.component.mjs +0 -21
  20. package/esm2022/lib/components/header/header-container/header-container.component.mjs +0 -129
  21. package/esm2022/lib/components/header/header.module.mjs +0 -71
  22. package/esm2022/lib/components/header/queue/queue.component.mjs +0 -59
  23. package/esm2022/lib/components/header/search/search.component.mjs +0 -136
  24. package/esm2022/lib/components/header/support/support.component.mjs +0 -31
  25. package/esm2022/lib/components/header/user-details/user-details.component.mjs +0 -34
  26. package/esm2022/lib/components/product-list/module-list/module-list.component.mjs +0 -255
  27. package/esm2022/lib/components/product-list/preference-list/preference-list.component.mjs +0 -97
  28. package/esm2022/lib/components/product-list/product-list-container/product-list-container.component.mjs +0 -42
  29. package/esm2022/lib/components/product-list/product-list.module.mjs +0 -31
  30. package/esm2022/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.mjs +0 -106
  31. package/esm2022/lib/components/sub-menu/sub-menu.module.mjs +0 -19
  32. package/esm2022/lib/configurations.mjs +0 -6
  33. package/esm2022/lib/constants/alerts.constant.mjs +0 -7
  34. package/esm2022/lib/constants/api.constant.mjs +0 -7
  35. package/esm2022/lib/constants/app-url.constant.mjs +0 -22
  36. package/esm2022/lib/constants/assets.constants.mjs +0 -35
  37. package/esm2022/lib/constants/business-cycle.constant.mjs +0 -42
  38. package/esm2022/lib/constants/product-list.constant.mjs +0 -124
  39. package/esm2022/lib/shared/pipe/check-create-permission.pipe.mjs +0 -17
  40. package/esm2022/lib/shared/pipe/date-format.pipe.mjs +0 -35
  41. package/esm2022/lib/shared/pipe/get-file-url.pipe.mjs +0 -22
  42. package/esm2022/lib/shared/pipe/get-module-icon.pipe.mjs +0 -22
  43. package/esm2022/lib/shared/pipe/pipes.module.mjs +0 -37
  44. package/esm2022/lib/shared/services/RBAC.service.mjs +0 -57
  45. package/esm2022/lib/shared/services/api.service.mjs +0 -127
  46. package/esm2022/lib/shared/services/business-cycle.service.mjs +0 -123
  47. package/esm2022/lib/shared/services/layout.service.mjs +0 -41
  48. package/esm2022/lib/shared/services/product-list.service.mjs +0 -82
  49. package/esm2022/lib/shared/ui-kit/avatar/avatar/avatar.component.mjs +0 -43
  50. package/esm2022/lib/shared/ui-kit/avatar/avatar.module.mjs +0 -19
  51. package/esm2022/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.mjs +0 -39
  52. package/esm2022/lib/shared/ui-kit/formgroup/click-outside.directive.mjs +0 -29
  53. package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +0 -28
  54. package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +0 -32
  55. package/esm2022/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +0 -30
  56. package/esm2022/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +0 -14
  57. package/esm2022/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.mjs +0 -102
  58. package/esm2022/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +0 -35
  59. package/esm2022/lib/shared/ui-kit/formgroup/formgroup.module.mjs +0 -65
  60. package/esm2022/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.mjs +0 -19
  61. package/esm2022/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +0 -24
  62. package/esm2022/lib/shared/ui-kit/page-loader/page-loader.component.mjs +0 -27
  63. package/esm2022/lib/shared/ui-kit/popover/popover-event.directive.mjs +0 -28
  64. package/esm2022/lib/shared/ui-kit/popover/popover-longpress.directive.mjs +0 -48
  65. package/esm2022/lib/shared/ui-kit/popover/popover.component.mjs +0 -141
  66. package/esm2022/lib/shared/ui-kit/popover/popover.directive.mjs +0 -82
  67. package/esm2022/lib/shared/ui-kit/popover/popover.module.mjs +0 -23
  68. package/esm2022/lib/shared/ui-kit/popover/popover.service.mjs +0 -15
  69. package/esm2022/lib/shared/ui-kit/tooltip/tooltip.directive.mjs +0 -156
  70. package/esm2022/lib/shared/ui-kit/tooltip/tooltip.module.mjs +0 -18
  71. package/esm2022/lib/vc-layout.component.mjs +0 -19
  72. package/esm2022/lib/vc-layout.module.mjs +0 -24
  73. package/esm2022/lib/vc-layout.service.mjs +0 -14
  74. package/esm2022/public-api.mjs +0 -14
  75. package/esm2022/vc-layout.mjs +0 -5
@@ -1,48 +0,0 @@
1
- import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./popover.service";
4
- export class PopoverLongpressDirective {
5
- constructor(popoverService) {
6
- this.popoverService = popoverService;
7
- this.longPressPopover = new EventEmitter();
8
- }
9
- mousedown(event) {
10
- alert('Tong');
11
- this.currentTime = Date.now();
12
- //
13
- this.timer = setInterval(() => {
14
- if (Date.now() - this.currentTime > 1000) {
15
- this.longPressPopover.emit();
16
- clearInterval(this.timer);
17
- this.getEventPosition(event);
18
- alert('Ting tong');
19
- }
20
- }, 10);
21
- }
22
- mouseup() {
23
- clearInterval(this.timer);
24
- this.currentTime = undefined;
25
- //
26
- }
27
- getEventPosition(event) {
28
- this.popoverService.positionX = event.clientX;
29
- this.popoverService.positionY = event.clientY;
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverLongpressDirective, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverLongpressDirective, selector: "[appPopoverLongpress]", outputs: { longPressPopover: "longPressPopover" }, host: { listeners: { "mousedown": "mousedown($event)", "mouseup": "mouseup()" } }, ngImport: i0 }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverLongpressDirective, decorators: [{
35
- type: Directive,
36
- args: [{
37
- selector: '[appPopoverLongpress]',
38
- }]
39
- }], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { longPressPopover: [{
40
- type: Output
41
- }], mousedown: [{
42
- type: HostListener,
43
- args: ['mousedown', ['$event']]
44
- }], mouseup: [{
45
- type: HostListener,
46
- args: ['mouseup']
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1sb25ncHJlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXItbG9uZ3ByZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNOUUsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFEeEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNBLENBQUM7SUFDZixTQUFTLENBQUMsS0FBVTtRQUN6RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM5QixHQUFHO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUN3QixPQUFPO1FBQzlCLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsR0FBRztJQUNMLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDOytHQTVCVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQztxR0FNVyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRWdDLFNBQVM7c0JBQS9DLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWFaLE9BQU87c0JBQS9CLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuL3BvcG92ZXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBQb3BvdmVyTG9uZ3ByZXNzXScsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJMb25ncHJlc3NEaXJlY3RpdmUge1xuICBnZXRUaW1lOiBhbnk7XG4gIGN1cnJlbnRUaW1lOiBhbnk7XG5cbiAgdGltZXI6IGFueTtcbiAgQE91dHB1dCgpIGxvbmdQcmVzc1BvcG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UpIHt9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pIG1vdXNlZG93bihldmVudDogYW55KSB7XG4gICAgYWxlcnQoJ1RvbmcnKTtcbiAgICB0aGlzLmN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAvLyBcbiAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKERhdGUubm93KCkgLSB0aGlzLmN1cnJlbnRUaW1lID4gMTAwMCkge1xuICAgICAgICB0aGlzLmxvbmdQcmVzc1BvcG92ZXIuZW1pdCgpO1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xuICAgICAgICB0aGlzLmdldEV2ZW50UG9zaXRpb24oZXZlbnQpO1xuICAgICAgICBhbGVydCgnVGluZyB0b25nJyk7XG4gICAgICB9XG4gICAgfSwgMTApO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKSBtb3VzZXVwKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgdGhpcy5jdXJyZW50VGltZSA9IHVuZGVmaW5lZDtcbiAgICAvLyBcbiAgfVxuICBnZXRFdmVudFBvc2l0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWCA9IGV2ZW50LmNsaWVudFg7XG4gICAgdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblkgPSBldmVudC5jbGllbnRZO1xuICB9XG59XG4iXX0=
@@ -1,141 +0,0 @@
1
- import { Component, Input, ViewChild, EventEmitter, Output, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./popover.service";
4
- import * as i2 from "@angular/common";
5
- export class PopoverComponent {
6
- constructor(popoverService) {
7
- this.popoverService = popoverService;
8
- this.popoverContainer = false;
9
- this.closedOnOverlay = new EventEmitter();
10
- this.showPopover = false;
11
- }
12
- ngOnInit() { }
13
- popover() {
14
- this.popoverContainer = false;
15
- this.popoverContainer = true;
16
- setTimeout(() => {
17
- this.getPosition();
18
- this.showPopover = true;
19
- }, 10);
20
- return false;
21
- }
22
- popoverEvent() {
23
- this.popoverContainer = false;
24
- this.popoverContainer = true;
25
- setTimeout(() => {
26
- // this.getPosition();
27
- this.positionX = this.popoverService.positionX;
28
- this.positionY = this.popoverService.positionY;
29
- this.showPopover = true;
30
- }, 10);
31
- return false;
32
- }
33
- closePopover(top) {
34
- if (!this.dontCloseonClick || top === 'top') {
35
- this.popoverContainer = false;
36
- this.showPopover = false;
37
- }
38
- }
39
- close() {
40
- this.popoverContainer = false;
41
- this.showPopover = false;
42
- }
43
- clickedPopover() {
44
- this.getPosition();
45
- }
46
- getPosition() {
47
- // setTimeout(() => {
48
- const elementPositionn = this.popoverService.elementPosition;
49
- this.popoverHeight = this.popoverRatio.nativeElement.offsetHeight;
50
- this.popoverWidth = this.popoverRatio.nativeElement.offsetWidth;
51
- if (this.popoverService.elementDirection === 'left') {
52
- this.leftValue = elementPositionn.left;
53
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
54
- window.outerHeight - 200) {
55
- this.topValue = elementPositionn.top - this.popoverHeight;
56
- }
57
- else {
58
- this.topValue = elementPositionn.top + elementPositionn.height;
59
- }
60
- }
61
- if (this.popoverService.elementDirection === 'right') {
62
- this.leftValue =
63
- elementPositionn.left + elementPositionn.width - this.popoverWidth;
64
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
65
- window.outerHeight - 200) {
66
- this.topValue = elementPositionn.top - this.popoverHeight;
67
- }
68
- else {
69
- this.topValue = elementPositionn.top + elementPositionn.height;
70
- }
71
- }
72
- if (this.popoverService.elementDirection === 'top') {
73
- this.leftValue = elementPositionn.left + elementPositionn.width;
74
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
75
- window.outerHeight - 200) {
76
- this.topValue = elementPositionn.top - this.popoverHeight;
77
- }
78
- else {
79
- this.topValue = elementPositionn.top - this.popoverHeight;
80
- }
81
- }
82
- if (this.popoverService.elementDirection === 'bottom') {
83
- this.leftValue = elementPositionn.left + elementPositionn.width;
84
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
85
- window.outerHeight - 200) {
86
- this.topValue = elementPositionn.top - this.popoverHeight;
87
- }
88
- else {
89
- this.topValue = elementPositionn.top + elementPositionn.height;
90
- }
91
- }
92
- if (this.popoverService.elementDirection === 'self-position') {
93
- this.leftValue =
94
- elementPositionn.left +
95
- elementPositionn.width / 2 -
96
- this.popoverWidth / 2;
97
- this.topValue = elementPositionn.top - 15;
98
- }
99
- if (this.popoverService.elementDirection === 'top-center') {
100
- this.leftValue =
101
- elementPositionn.left +
102
- elementPositionn.width / 2 -
103
- this.popoverWidth / 2;
104
- // this.topValue = elementPositionn.top - this.popoverHeight;
105
- if (elementPositionn.top + elementPositionn.height + this.popoverHeight >
106
- window.outerHeight) {
107
- this.topValue = elementPositionn.top + elementPositionn.height;
108
- }
109
- else {
110
- this.topValue = elementPositionn.top - this.popoverHeight;
111
- }
112
- }
113
- if (this.popoverService.elementDirection === 'center') {
114
- this.leftValue =
115
- elementPositionn.left +
116
- elementPositionn.width / 2 -
117
- this.popoverWidth / 2;
118
- this.topValue = elementPositionn.top + elementPositionn.height;
119
- }
120
- this.positionX = this.leftValue;
121
- this.positionY = this.topValue;
122
- // }, 10);
123
- }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PopoverComponent, selector: "vui-popover", inputs: { dontCloseonClick: "dontCloseonClick" }, outputs: { closedOnOverlay: "closedOnOverlay" }, viewQueries: [{ propertyName: "popoverRatio", first: true, predicate: ["popoverRatio"], descendants: true }, { propertyName: "popoverContent", first: true, predicate: ["popoverContent"], descendants: true }], ngImport: i0, template: "<div\n class=\"vc-overlay\"\n *ngIf=\"popoverContainer\"\n (click)=\"closePopover('top'); this.closedOnOverlay.emit()\"\n></div>\n<div\n class=\"action\"\n [class.active]=\"showPopover\"\n *ngIf=\"popoverContainer\"\n [style.top.px]=\"positionY\"\n [style.left.px]=\"positionX\"\n #popoverRatio\n id=\"popoverRatio\"\n>\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.vc-overlay{z-index:12;cursor:initial}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
126
- }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverComponent, decorators: [{
128
- type: Component,
129
- args: [{ selector: 'vui-popover', template: "<div\n class=\"vc-overlay\"\n *ngIf=\"popoverContainer\"\n (click)=\"closePopover('top'); this.closedOnOverlay.emit()\"\n></div>\n<div\n class=\"action\"\n [class.active]=\"showPopover\"\n *ngIf=\"popoverContainer\"\n [style.top.px]=\"positionY\"\n [style.left.px]=\"positionX\"\n #popoverRatio\n id=\"popoverRatio\"\n>\n <div (click)=\"closePopover(); clickedPopover()\" #popoverContent>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".action{position:fixed;z-index:13;display:inline-block;opacity:0}.action.active{opacity:1}.vc-overlay{z-index:12;cursor:initial}\n"] }]
130
- }], ctorParameters: function () { return [{ type: i1.PopoverService }]; }, propDecorators: { dontCloseonClick: [{
131
- type: Input
132
- }], popoverRatio: [{
133
- type: ViewChild,
134
- args: ['popoverRatio']
135
- }], popoverContent: [{
136
- type: ViewChild,
137
- args: ['popoverContent']
138
- }], closedOnOverlay: [{
139
- type: Output
140
- }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVF2QixNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQW1CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpqRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHZixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0MsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFEZ0MsQ0FBQztJQVFyRCxRQUFRLEtBQVUsQ0FBQztJQUNuQixPQUFPO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixVQUFVLENBQUMsR0FB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dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2dWktcG9wb3ZlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wb3Zlci5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZG9udENsb3Nlb25DbGljayE6IGJvb2xlYW47XG4gIHBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgncG9wb3ZlclJhdGlvJykgcG9wb3ZlclJhdGlvITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgncG9wb3ZlckNvbnRlbnQnKSBwb3BvdmVyQ29udGVudCE6IEVsZW1lbnRSZWY7XG4gIEBPdXRwdXQoKSBjbG9zZWRPbk92ZXJsYXkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UpIHt9XG4gIHNob3dQb3BvdmVyID0gZmFsc2U7XG4gIGxlZnRWYWx1ZTogYW55O1xuICB0b3BWYWx1ZTogYW55O1xuICBwb3BvdmVySGVpZ2h0OiBhbnk7XG4gIHBvcG92ZXJXaWR0aDogYW55O1xuICBwb3NpdGlvblghOiBudW1iZXI7XG4gIHBvc2l0aW9uWSE6IG51bWJlcjtcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuICBwb3BvdmVyKCkge1xuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IGZhbHNlO1xuICAgIHRoaXMucG9wb3ZlckNvbnRhaW5lciA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldFBvc2l0aW9uKCk7XG4gICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcbiAgICB9LCAxMCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHBvcG92ZXJFdmVudCgpIHtcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gdGhpcy5nZXRQb3NpdGlvbigpO1xuICAgICAgdGhpcy5wb3NpdGlvblggPSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWDtcbiAgICAgIHRoaXMucG9zaXRpb25ZID0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblk7XG4gICAgICB0aGlzLnNob3dQb3BvdmVyID0gdHJ1ZTtcbiAgICB9LCAxMCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNsb3NlUG9wb3Zlcih0b3A/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZG9udENsb3Nlb25DbGljayB8fCB0b3AgPT09ICd0b3AnKSB7XG4gICAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2hvd1BvcG92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLnBvcG92ZXJDb250YWluZXIgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dQb3BvdmVyID0gZmFsc2U7XG4gIH1cbiAgY2xpY2tlZFBvcG92ZXIoKSB7XG4gICAgdGhpcy5nZXRQb3NpdGlvbigpO1xuICB9XG4gIGdldFBvc2l0aW9uKCkge1xuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbm4gPSB0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnRQb3NpdGlvbjtcbiAgICB0aGlzLnBvcG92ZXJIZWlnaHQgPSB0aGlzLnBvcG92ZXJSYXRpby5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICB0aGlzLnBvcG92ZXJXaWR0aCA9IHRoaXMucG9wb3ZlclJhdGlvLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ2xlZnQnKSB7XG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdDtcbiAgICAgIGlmIChcbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlckhlaWdodCA+XG4gICAgICAgIHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAncmlnaHQnKSB7XG4gICAgICB0aGlzLmxlZnRWYWx1ZSA9XG4gICAgICAgIGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLSB0aGlzLnBvcG92ZXJXaWR0aDtcbiAgICAgIGlmIChcbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlckhlaWdodCA+XG4gICAgICAgIHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAndG9wJykge1xuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoO1xuICAgICAgaWYgKFxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID5cbiAgICAgICAgd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAnYm90dG9tJykge1xuICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoO1xuICAgICAgaWYgKFxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVySGVpZ2h0ID5cbiAgICAgICAgd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVySGVpZ2h0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnREaXJlY3Rpb24gPT09ICdzZWxmLXBvc2l0aW9uJykge1xuICAgICAgdGhpcy5sZWZ0VmFsdWUgPVxuICAgICAgICBlbGVtZW50UG9zaXRpb25uLmxlZnQgK1xuICAgICAgICBlbGVtZW50UG9zaXRpb25uLndpZHRoIC8gMiAtXG4gICAgICAgIHRoaXMucG9wb3ZlcldpZHRoIC8gMjtcbiAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xuICAgIH1cbiAgICBpZiAodGhpcy5wb3BvdmVyU2VydmljZS5lbGVtZW50RGlyZWN0aW9uID09PSAndG9wLWNlbnRlcicpIHtcbiAgICAgIHRoaXMubGVmdFZhbHVlID1cbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICtcbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLVxuICAgICAgICB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XG4gICAgICAvLyB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJIZWlnaHQ7XG4gICAgICBpZiAoXG4gICAgICAgIGVsZW1lbnRQb3NpdGlvbm4udG9wICsgZWxlbWVudFBvc2l0aW9ubi5oZWlnaHQgKyB0aGlzLnBvcG92ZXJIZWlnaHQgPlxuICAgICAgICB3aW5kb3cub3V0ZXJIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlckhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9PT0gJ2NlbnRlcicpIHtcbiAgICAgIHRoaXMubGVmdFZhbHVlID1cbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICtcbiAgICAgICAgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLVxuICAgICAgICB0aGlzLnBvcG92ZXJXaWR0aCAvIDI7XG4gICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcbiAgICB9XG4gICAgdGhpcy5wb3NpdGlvblggPSB0aGlzLmxlZnRWYWx1ZTtcbiAgICB0aGlzLnBvc2l0aW9uWSA9IHRoaXMudG9wVmFsdWU7XG4gICAgLy8gfSwgMTApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwidmMtb3ZlcmxheVwiXG4gICpuZ0lmPVwicG9wb3ZlckNvbnRhaW5lclwiXG4gIChjbGljayk9XCJjbG9zZVBvcG92ZXIoJ3RvcCcpOyB0aGlzLmNsb3NlZE9uT3ZlcmxheS5lbWl0KClcIlxuPjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImFjdGlvblwiXG4gIFtjbGFzcy5hY3RpdmVdPVwic2hvd1BvcG92ZXJcIlxuICAqbmdJZj1cInBvcG92ZXJDb250YWluZXJcIlxuICBbc3R5bGUudG9wLnB4XT1cInBvc2l0aW9uWVwiXG4gIFtzdHlsZS5sZWZ0LnB4XT1cInBvc2l0aW9uWFwiXG4gICNwb3BvdmVyUmF0aW9cbiAgaWQ9XCJwb3BvdmVyUmF0aW9cIlxuPlxuICA8ZGl2IChjbGljayk9XCJjbG9zZVBvcG92ZXIoKTsgY2xpY2tlZFBvcG92ZXIoKVwiICNwb3BvdmVyQ29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,82 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./popover.service";
4
- export class PopoverDirective {
5
- constructor(elRef, popoverService) {
6
- this.elRef = elRef;
7
- this.popoverService = popoverService;
8
- }
9
- click() {
10
- this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
11
- this.popoverService.elementDirection = this.position;
12
- // this.getPosition();
13
- }
14
- getPosition() {
15
- setTimeout(() => {
16
- // this.popoverService.elementPosition = this.elRef.nativeElement.getBoundingClientRect();
17
- const elementPositionn = this.elRef.nativeElement.getBoundingClientRect();
18
- if (this.position === 'left') {
19
- this.leftValue = elementPositionn.left;
20
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
21
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
22
- }
23
- else {
24
- this.topValue = elementPositionn.top + elementPositionn.height;
25
- }
26
- }
27
- if (this.position === 'right') {
28
- this.leftValue = elementPositionn.left + elementPositionn.width - this.popoverService.popoverWidth;
29
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
30
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
31
- }
32
- else {
33
- this.topValue = elementPositionn.top + elementPositionn.height;
34
- }
35
- }
36
- if (this.position === 'top') {
37
- this.leftValue = elementPositionn.left + elementPositionn.width;
38
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
39
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
40
- }
41
- else {
42
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
43
- }
44
- }
45
- if (this.position === 'bottom') {
46
- this.leftValue = elementPositionn.left + elementPositionn.width;
47
- if (elementPositionn.top + elementPositionn.height + this.popoverService.popoverHeight > window.outerHeight - 200) {
48
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
49
- }
50
- else {
51
- this.topValue = elementPositionn.top + elementPositionn.height;
52
- }
53
- }
54
- if (this.position === 'self-position') {
55
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
56
- this.topValue = elementPositionn.top - 15;
57
- }
58
- if (this.position === 'top-center') {
59
- this.leftValue = elementPositionn.left + elementPositionn.width / 2 - this.popoverService.popoverWidth / 2;
60
- this.topValue = elementPositionn.top - this.popoverService.popoverHeight;
61
- }
62
- this.popoverService.positionX = this.leftValue;
63
- this.popoverService.positionY = this.topValue;
64
- }, 10);
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.PopoverService }], target: i0.ɵɵFactoryTarget.Directive }); }
67
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PopoverDirective, selector: "[appPopover]", inputs: { refrence: "refrence", position: "position" }, host: { listeners: { "click": "click()" } }, ngImport: i0 }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverDirective, decorators: [{
70
- type: Directive,
71
- args: [{
72
- selector: '[appPopover]',
73
- }]
74
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopoverService }]; }, propDecorators: { refrence: [{
75
- type: Input
76
- }], position: [{
77
- type: Input
78
- }], click: [{
79
- type: HostListener,
80
- args: ['click']
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0UsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFvQixLQUFpQixFQUFVLGNBQThCO1FBQXpELFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBQzFELEtBQUs7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDckQsc0JBQXNCO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLDBGQUEwRjtZQUMxRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDMUUsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZDLElBQUksZ0JBQWdCLENBQUMsR0FBRyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtvQkFDakgsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FB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QUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQzthQUMxRTtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOytHQTVEVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7OEhBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlpQixLQUFLO3NCQUEzQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwUG9wb3Zlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyRGlyZWN0aXZlIHtcbiAgZHluYW1pY0NvbXBvbmVudDogYW55O1xuICBASW5wdXQoKSByZWZyZW5jZTogYW55O1xuICBASW5wdXQoKSBwb3NpdGlvbiE6IHN0cmluZztcbiAgbGVmdFZhbHVlOiBhbnk7XG4gIHRvcFZhbHVlOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcG9wb3ZlclNlcnZpY2U6IFBvcG92ZXJTZXJ2aWNlKSB7fVxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIGNsaWNrKCkge1xuICAgIHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudFBvc2l0aW9uID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMucG9wb3ZlclNlcnZpY2UuZWxlbWVudERpcmVjdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgLy8gdGhpcy5nZXRQb3NpdGlvbigpO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyB0aGlzLnBvcG92ZXJTZXJ2aWNlLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbm4gPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0O1xuICAgICAgICBpZiAoZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodCA+IHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMCkge1xuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGg7XG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcpIHtcbiAgICAgICAgdGhpcy5sZWZ0VmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLmxlZnQgKyBlbGVtZW50UG9zaXRpb25uLndpZHRoO1xuICAgICAgICBpZiAoZWxlbWVudFBvc2l0aW9ubi50b3AgKyBlbGVtZW50UG9zaXRpb25uLmhlaWdodCArIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodCA+IHdpbmRvdy5vdXRlckhlaWdodCAtIDIwMCkge1xuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIHRoaXMucG9wb3ZlclNlcnZpY2UucG9wb3ZlckhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJykge1xuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGg7XG4gICAgICAgIGlmIChlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0ICsgdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0ID4gd2luZG93Lm91dGVySGVpZ2h0IC0gMjAwKSB7XG4gICAgICAgICAgdGhpcy50b3BWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4udG9wIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVySGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCArIGVsZW1lbnRQb3NpdGlvbm4uaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ3NlbGYtcG9zaXRpb24nKSB7XG4gICAgICAgIHRoaXMubGVmdFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi5sZWZ0ICsgZWxlbWVudFBvc2l0aW9ubi53aWR0aCAvIDIgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJXaWR0aCAvIDI7XG4gICAgICAgIHRoaXMudG9wVmFsdWUgPSBlbGVtZW50UG9zaXRpb25uLnRvcCAtIDE1O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICd0b3AtY2VudGVyJykge1xuICAgICAgICB0aGlzLmxlZnRWYWx1ZSA9IGVsZW1lbnRQb3NpdGlvbm4ubGVmdCArIGVsZW1lbnRQb3NpdGlvbm4ud2lkdGggLyAyIC0gdGhpcy5wb3BvdmVyU2VydmljZS5wb3BvdmVyV2lkdGggLyAyO1xuICAgICAgICB0aGlzLnRvcFZhbHVlID0gZWxlbWVudFBvc2l0aW9ubi50b3AgLSB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvcG92ZXJIZWlnaHQ7XG4gICAgICB9XG4gICAgICB0aGlzLnBvcG92ZXJTZXJ2aWNlLnBvc2l0aW9uWCA9IHRoaXMubGVmdFZhbHVlO1xuICAgICAgdGhpcy5wb3BvdmVyU2VydmljZS5wb3NpdGlvblkgPSB0aGlzLnRvcFZhbHVlO1xuICAgIH0sIDEwKTtcbiAgfVxufVxuIl19
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { PopoverComponent } from './popover.component';
4
- import { PopoverDirective } from './popover.directive';
5
- import { PopoverEventDirective } from './popover-event.directive';
6
- import { PopoverLongpressDirective } from './popover-longpress.directive';
7
- import { PopoverService } from './popover.service';
8
- import * as i0 from "@angular/core";
9
- export class PopoverModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective], imports: [CommonModule], exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, providers: [PopoverService], imports: [CommonModule] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- declarations: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],
18
- imports: [CommonModule],
19
- exports: [PopoverComponent, PopoverDirective, PopoverEventDirective, PopoverLongpressDirective],
20
- providers: [PopoverService],
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVFuRCxNQUFNLE9BQU8sYUFBYTsrR0FBYixhQUFhO2dIQUFiLGFBQWEsaUJBTFQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLGFBQ3pGLFlBQVksYUFDWixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUI7Z0hBR25GLGFBQWEsYUFGYixDQUFDLGNBQWMsQ0FBQyxZQUZqQixZQUFZOzs0RkFJWCxhQUFhO2tCQU56QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO29CQUNwRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO29CQUMvRixTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3BvdmVyRXZlbnREaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItZXZlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJMb25ncHJlc3NEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItbG9uZ3ByZXNzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSB9IGZyb20gJy4vcG9wb3Zlci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckRpcmVjdGl2ZSwgUG9wb3ZlckV2ZW50RGlyZWN0aXZlLCBQb3BvdmVyTG9uZ3ByZXNzRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyRGlyZWN0aXZlLCBQb3BvdmVyRXZlbnREaXJlY3RpdmUsIFBvcG92ZXJMb25ncHJlc3NEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtQb3BvdmVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJNb2R1bGUge31cbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PopoverService {
4
- constructor() {
5
- }
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, providedIn: 'root' }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopoverService, decorators: [{
10
- type: Injectable,
11
- args: [{
12
- providedIn: 'root',
13
- }]
14
- }], ctorParameters: function () { return []; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvc2hhcmVkL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sY0FBYztJQU96QjtJQUVBLENBQUM7K0dBVFUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyU2VydmljZSB7XG4gIHBvc2l0aW9uWCE6IG51bWJlcjtcbiAgcG9zaXRpb25ZITogbnVtYmVyO1xuICBwb3BvdmVySGVpZ2h0OiBhbnk7XG4gIHBvcG92ZXJXaWR0aDogYW55O1xuICBlbGVtZW50UG9zaXRpb246IGFueTtcbiAgZWxlbWVudERpcmVjdGlvbjogYW55O1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBcbiAgfVxufVxuIl19
@@ -1,156 +0,0 @@
1
- import { Directive, Input, HostListener, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ToolTipDirective {
4
- constructor(el, renderer) {
5
- this.el = el;
6
- this.renderer = renderer;
7
- this.showTooltip = true;
8
- this.offset = 8;
9
- }
10
- ngOnInit() { }
11
- onMouseEnter() {
12
- this.hide();
13
- this.show();
14
- }
15
- onMouseOver() {
16
- this.hide();
17
- this.show();
18
- }
19
- onMouseLeave() {
20
- this.hide();
21
- }
22
- onMouseOut() {
23
- this.hide();
24
- }
25
- onClick() {
26
- this.hide();
27
- }
28
- show() {
29
- if (!this.showTooltip) {
30
- return;
31
- }
32
- this.create();
33
- const element = this.el.nativeElement;
34
- if (this.tooltipMandatory === true) {
35
- this.setPosition();
36
- this.renderer.addClass(this.tooltip, 'fl-tooltip-show');
37
- }
38
- else {
39
- if (element.scrollWidth * element.scrollHeight >
40
- element.offsetWidth * element.offsetHeight) {
41
- this.setPosition();
42
- this.renderer.addClass(this.tooltip, 'fl-tooltip-show');
43
- }
44
- }
45
- }
46
- hide() {
47
- if (document.body.contains(this.tooltip)) {
48
- if (this.renderer) {
49
- this.renderer.removeChild(document.body, document.getElementById('tooltip'));
50
- }
51
- }
52
- }
53
- create() {
54
- this.tooltip = this.renderer.createElement('span');
55
- this.tooltip.setAttribute('id', 'tooltip');
56
- this.tooltip.innerHTML = this.tooltipTitle;
57
- this.renderer.appendChild(document.body, this.tooltip);
58
- this.renderer.addClass(this.tooltip, 'fl-tooltip');
59
- this.renderer.addClass(this.tooltip, `fl-tooltip-${this.placement}`);
60
- this.renderer.addClass(this.tooltip, `${this.type}`);
61
- if (this.animate) {
62
- this.renderer.addClass(this.tooltip, `animate-${this.placement}`);
63
- }
64
- }
65
- setPosition() {
66
- const hostPos = this.el.nativeElement.getBoundingClientRect();
67
- const tooltipPos = this.tooltip.getBoundingClientRect();
68
- const scrollPos = window.pageYOffset ||
69
- document.documentElement.scrollTop ||
70
- document.body.scrollTop ||
71
- 0;
72
- const w = window.innerWidth;
73
- const h = window.innerHeight;
74
- let top;
75
- let left;
76
- if (this.placement === 'top') {
77
- top = hostPos.top - tooltipPos.height - this.offset;
78
- left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
79
- }
80
- if (this.placement === 'bottom') {
81
- if (hostPos.top + tooltipPos.height > h) {
82
- top = hostPos.top - tooltipPos.height;
83
- left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
84
- this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom`);
85
- this.renderer.addClass(this.tooltip, `fl-tooltip-top`);
86
- }
87
- else {
88
- top = hostPos.bottom + this.offset;
89
- left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;
90
- }
91
- }
92
- if (this.placement === 'left') {
93
- top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
94
- left = hostPos.left - tooltipPos.width - this.offset;
95
- }
96
- if (this.placement === 'right') {
97
- top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;
98
- left = hostPos.right + this.offset;
99
- }
100
- if (this.placement === 'bottom-right') {
101
- top = hostPos.bottom + this.offset;
102
- left = hostPos.left - (tooltipPos.width - 28);
103
- }
104
- if (this.placement === 'bottom-left') {
105
- if (hostPos.top + tooltipPos.height > h - 30) {
106
- top = hostPos.top - tooltipPos.height;
107
- left = hostPos.left;
108
- this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom-left`);
109
- this.renderer.addClass(this.tooltip, `fl-tooltip-top-left`);
110
- }
111
- else {
112
- top = hostPos.bottom + this.offset;
113
- left = hostPos.left;
114
- }
115
- }
116
- this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);
117
- this.renderer.setStyle(this.tooltip, 'left', `${left}px`);
118
- }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolTipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
120
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolTipDirective, selector: "[arTooltip]", inputs: { tooltipTitle: ["arTooltip", "tooltipTitle"], placement: "placement", type: "type", tooltipMandatory: "tooltipMandatory", showTooltip: "showTooltip", animate: "animate" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseover": "onMouseOver()", "mouseleave": "onMouseLeave()", "mouseout": "onMouseOut()", "click": "onClick()" } }, ngImport: i0 }); }
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolTipDirective, decorators: [{
123
- type: Directive,
124
- args: [{
125
- selector: '[arTooltip]',
126
- }]
127
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { tooltipTitle: [{
128
- type: Input,
129
- args: ['arTooltip']
130
- }], placement: [{
131
- type: Input
132
- }], type: [{
133
- type: Input
134
- }], tooltipMandatory: [{
135
- type: Input
136
- }], showTooltip: [{
137
- type: Input
138
- }], animate: [{
139
- type: Input
140
- }], onMouseEnter: [{
141
- type: HostListener,
142
- args: ['mouseenter']
143
- }], onMouseOver: [{
144
- type: HostListener,
145
- args: ['mouseover']
146
- }], onMouseLeave: [{
147
- type: HostListener,
148
- args: ['mouseleave']
149
- }], onMouseOut: [{
150
- type: HostListener,
151
- args: ['mouseout']
152
- }], onClick: [{
153
- type: HostListener,
154
- args: ['click']
155
- }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUx0RCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUc1QixXQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXVELENBQUM7SUFDbkUsUUFBUSxLQUFJLENBQUM7SUFDZSxZQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDMEIsV0FBVztRQUNwQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRTJCLFlBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUN5QixVQUFVO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDc0IsT0FBTztRQUM1QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RD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cEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7K0dBaklVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO2lCQUN4Qjt5SEFFcUIsWUFBWTtzQkFBL0IsS0FBSzt1QkFBQyxXQUFXO2dCQUNULFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFNc0IsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQUlDLFdBQVc7c0JBQXJDLFlBQVk7dUJBQUMsV0FBVztnQkFLRyxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBR0EsVUFBVTtzQkFBbkMsWUFBWTt1QkFBQyxVQUFVO2dCQUdELE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgUmVuZGVyZXIyLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thclRvb2x0aXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgVG9vbFRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnYXJUb29sdGlwJykgdG9vbHRpcFRpdGxlITogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZW1lbnQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6IGFueTtcbiAgQElucHV0KCkgdG9vbHRpcE1hbmRhdG9yeSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNob3dUb29sdGlwID0gdHJ1ZTtcbiAgQElucHV0KCkgYW5pbWF0ZSE6IGJvb2xlYW47XG4gIHRvb2x0aXAhOiBIVE1MRWxlbWVudDtcbiAgb2Zmc2V0ID0gODtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG4gIG5nT25Jbml0KCkge31cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpIG9uTW91c2VFbnRlcigpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgICB0aGlzLnNob3coKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKSBvbk1vdXNlT3ZlcigpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgICB0aGlzLnNob3coKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdXQnKSBvbk1vdXNlT3V0KCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25DbGljaygpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuICBzaG93KCkge1xuICAgIGlmICghdGhpcy5zaG93VG9vbHRpcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZSgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMudG9vbHRpcE1hbmRhdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdmbC10b29sdGlwLXNob3cnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICBlbGVtZW50LnNjcm9sbFdpZHRoICogZWxlbWVudC5zY3JvbGxIZWlnaHQgPlxuICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoICogZWxlbWVudC5vZmZzZXRIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnZmwtdG9vbHRpcC1zaG93Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICBpZiAoZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLnRvb2x0aXApKSB7XG4gICAgICBpZiAodGhpcy5yZW5kZXJlcikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2x0aXAnKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZSgpIHtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICB0aGlzLnRvb2x0aXAuc2V0QXR0cmlidXRlKCdpZCcsICd0b29sdGlwJyk7XG4gICAgdGhpcy50b29sdGlwLmlubmVySFRNTCA9IHRoaXMudG9vbHRpcFRpdGxlO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2ZsLXRvb2x0aXAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYGZsLXRvb2x0aXAtJHt0aGlzLnBsYWNlbWVudH1gKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgYCR7dGhpcy50eXBlfWApO1xuICAgIGlmICh0aGlzLmFuaW1hdGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgYW5pbWF0ZS0ke3RoaXMucGxhY2VtZW50fWApO1xuICAgIH1cbiAgfVxuXG4gIHNldFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IGhvc3RQb3MgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdG9vbHRpcFBvcyA9IHRoaXMudG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzY3JvbGxQb3MgPVxuICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IHx8XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8XG4gICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fFxuICAgICAgMDtcbiAgICBjb25zdCB3ID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3QgaCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBsZXQgdG9wO1xuICAgIGxldCBsZWZ0O1xuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wIC0gdG9vbHRpcFBvcy5oZWlnaHQgLSB0aGlzLm9mZnNldDtcbiAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICBpZiAoaG9zdFBvcy50b3AgKyB0b29sdGlwUG9zLmhlaWdodCA+IGgpIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCArIChob3N0UG9zLndpZHRoIC0gdG9vbHRpcFBvcy53aWR0aCkgLyAyO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgYGZsLXRvb2x0aXAtYm90dG9tYCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgZmwtdG9vbHRpcC10b3BgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XG4gICAgICAgIGxlZnQgPSBob3N0UG9zLmxlZnQgKyAoaG9zdFBvcy53aWR0aCAtIHRvb2x0aXBQb3Mud2lkdGgpIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgdG9wID0gaG9zdFBvcy50b3AgKyAoaG9zdFBvcy5oZWlnaHQgLSB0b29sdGlwUG9zLmhlaWdodCkgLyAyO1xuICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdCAtIHRvb2x0aXBQb3Mud2lkdGggLSB0aGlzLm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MudG9wICsgKGhvc3RQb3MuaGVpZ2h0IC0gdG9vbHRpcFBvcy5oZWlnaHQpIC8gMjtcbiAgICAgIGxlZnQgPSBob3N0UG9zLnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1yaWdodCcpIHtcbiAgICAgIHRvcCA9IGhvc3RQb3MuYm90dG9tICsgdGhpcy5vZmZzZXQ7XG4gICAgICBsZWZ0ID0gaG9zdFBvcy5sZWZ0IC0gKHRvb2x0aXBQb3Mud2lkdGggLSAyOCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbS1sZWZ0Jykge1xuICAgICAgaWYgKGhvc3RQb3MudG9wICsgdG9vbHRpcFBvcy5oZWlnaHQgPiBoIC0gMzApIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy50b3AgLSB0b29sdGlwUG9zLmhlaWdodDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsIGBmbC10b29sdGlwLWJvdHRvbS1sZWZ0YCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCBgZmwtdG9vbHRpcC10b3AtbGVmdGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9wID0gaG9zdFBvcy5ib3R0b20gKyB0aGlzLm9mZnNldDtcbiAgICAgICAgbGVmdCA9IGhvc3RQb3MubGVmdDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3AgKyBzY3JvbGxQb3N9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ToolTipDirective } from './tooltip.directive';
4
- import * as i0 from "@angular/core";
5
- export class TooltipModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, declarations: [ToolTipDirective], imports: [CommonModule], exports: [ToolTipDirective] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [ToolTipDirective],
14
- imports: [CommonModule],
15
- exports: [ToolTipDirective],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9zaGFyZWQvdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxhQUFhOytHQUFiLGFBQWE7Z0hBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsYUFDckIsWUFBWSxhQUNaLGdCQUFnQjtnSEFFZixhQUFhLFlBSGQsWUFBWTs7NEZBR1gsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRvb2xUaXBEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVG9vbFRpcERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbVG9vbFRpcERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBNb2R1bGUge31cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class VcLayoutComponent {
4
- constructor() {
5
- this.baseUrl = '';
6
- this.setBaseUrl();
7
- }
8
- ngOnInit() { }
9
- setBaseUrl() {
10
- this.baseUrl = window.location.origin;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VcLayoutComponent, selector: "vc-layout", ngImport: i0, template: ` <p>vc-layout works!</p> `, isInline: true }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'vc-layout', template: ` <p>vc-layout works!</p> ` }]
18
- }], ctorParameters: function () { return []; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3ZjLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QjtRQURPLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVYLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDOytHQVZVLGlCQUFpQjttR0FBakIsaUJBQWlCLGlEQUhsQiwyQkFBMkI7OzRGQUcxQixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVyxZQUNYLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZjLWxheW91dCcsXG4gIHRlbXBsYXRlOiBgIDxwPnZjLWxheW91dCB3b3JrcyE8L3A+IGAsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFZjTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGJhc2VVcmw6IHN0cmluZyA9ICcnO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNldEJhc2VVcmwoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBwcml2YXRlIHNldEJhc2VVcmwoKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgfVxufVxuIl19
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { VcLayoutComponent } from './vc-layout.component';
3
- import { Configurations } from './configurations';
4
- import * as i0 from "@angular/core";
5
- export class VcLayoutModule {
6
- static forRoot(environmentConfig) {
7
- return {
8
- ngModule: VcLayoutModule,
9
- providers: [{ provide: Configurations, useValue: environmentConfig }],
10
- };
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, declarations: [VcLayoutComponent], exports: [VcLayoutComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VcLayoutModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- declarations: [VcLayoutComponent],
20
- imports: [],
21
- exports: [VcLayoutComponent],
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmMtbGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL3ZjLWxheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU9sRCxNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQUMsT0FBTyxDQUNuQixpQkFBaUM7UUFFakMsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUN0RSxDQUFDO0lBQ0osQ0FBQzsrR0FSVSxjQUFjO2dIQUFkLGNBQWMsaUJBSlYsaUJBQWlCLGFBRXRCLGlCQUFpQjtnSEFFaEIsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZjTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi92Yy1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1ZjTGF5b3V0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtWY0xheW91dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFZjTGF5b3V0TW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGVudmlyb25tZW50Q29uZmlnOiBDb25maWd1cmF0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZjTGF5b3V0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBWY0xheW91dE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9XSxcbiAgICB9O1xuICB9XG59XG4iXX0=