bhushan-popup-manager 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,64 @@
1
+ # PopupManager
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
+
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
12
+
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
+
15
+ ```bash
16
+ ng generate --help
17
+ ```
18
+
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build popup-manager
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+
35
+ ```bash
36
+ cd dist/popup-manager
37
+ ```
38
+
39
+ 2. Run the `npm publish` command to publish your library to the npm registry:
40
+ ```bash
41
+ npm publish
42
+ ```
43
+
44
+ ## Running unit tests
45
+
46
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
47
+
48
+ ```bash
49
+ ng test
50
+ ```
51
+
52
+ ## Running end-to-end tests
53
+
54
+ For end-to-end (e2e) testing, run:
55
+
56
+ ```bash
57
+ ng e2e
58
+ ```
59
+
60
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
61
+
62
+ ## Additional Resources
63
+
64
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,271 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, HostListener, Input, Directive } from '@angular/core';
3
+
4
+ class PopupManager {
5
+ popups = new Map();
6
+ register(id, popup) { this.popups.set(id, popup); }
7
+ unRegister(id) { this.popups.delete(id); }
8
+ get(id) { return this.popups.get(id); }
9
+ toggle(id, triggerElement) {
10
+ const popup = this.popups.get(id);
11
+ if (!popup) {
12
+ return;
13
+ }
14
+ popup.togglePopup(triggerElement);
15
+ }
16
+ hide(id) {
17
+ const popup = this.popups.get(id);
18
+ if (!popup) {
19
+ return;
20
+ }
21
+ popup.hideElement();
22
+ }
23
+ show(id) {
24
+ const popup = this.popups.get(id);
25
+ if (!popup) {
26
+ return;
27
+ }
28
+ popup.showElement();
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PopupManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PopupManager, providedIn: 'root' });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PopupManager, decorators: [{
34
+ type: Injectable,
35
+ args: [{
36
+ providedIn: 'root',
37
+ }]
38
+ }] });
39
+
40
+ class PopupTrigger {
41
+ elementRef;
42
+ popupService;
43
+ renderer;
44
+ popupTrigger;
45
+ customInput;
46
+ constructor(elementRef, popupService, renderer) {
47
+ this.elementRef = elementRef;
48
+ this.popupService = popupService;
49
+ this.renderer = renderer;
50
+ }
51
+ ngOnInit() {
52
+ this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');
53
+ }
54
+ click() {
55
+ this.popupService.toggle(this.popupTrigger, this.elementRef.nativeElement);
56
+ }
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PopupTrigger, deps: [{ token: i0.ElementRef }, { token: PopupManager }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
58
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: PopupTrigger, isStandalone: true, selector: "[bhushan-library-popupTrigger]", inputs: { popupTrigger: "popupTrigger", customInput: "customInput" }, host: { listeners: { "click": "click()" } }, ngImport: i0 });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: PopupTrigger, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ selector: '[bhushan-library-popupTrigger]',
64
+ }]
65
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: PopupManager }, { type: i0.Renderer2 }], propDecorators: { popupTrigger: [{
66
+ type: Input
67
+ }], customInput: [{
68
+ type: Input
69
+ }], click: [{
70
+ type: HostListener,
71
+ args: ['click']
72
+ }] } });
73
+
74
+ var PopupPositions;
75
+ (function (PopupPositions) {
76
+ PopupPositions["CENTER"] = "center";
77
+ PopupPositions["TOP"] = "top";
78
+ PopupPositions["BOTTOM"] = "bottom";
79
+ PopupPositions["LEFT"] = "left";
80
+ PopupPositions["RIGHT"] = "right";
81
+ PopupPositions["TOP_LEFT"] = "top-left";
82
+ PopupPositions["TOP_RIGHT"] = "top-right";
83
+ PopupPositions["BOTTOM_LEFT"] = "bottom-left";
84
+ PopupPositions["BOTTOM_RIGHT"] = "bottom-right";
85
+ })(PopupPositions || (PopupPositions = {}));
86
+
87
+ class Popup {
88
+ elementRef;
89
+ renderer;
90
+ popupService;
91
+ constructor(elementRef, renderer, popupService) {
92
+ this.elementRef = elementRef;
93
+ this.renderer = renderer;
94
+ this.popupService = popupService;
95
+ }
96
+ popup;
97
+ top;
98
+ bottom;
99
+ left;
100
+ right;
101
+ position = PopupPositions.CENTER;
102
+ popupStyle;
103
+ isOpen = false;
104
+ triggerElement;
105
+ showPopupClass = 'popup-fade-enter';
106
+ hidePopupClass = 'popup-fade-leave';
107
+ clickedInside = false;
108
+ ngOnInit() {
109
+ this.hide();
110
+ this.popupService.register(this.popup, this);
111
+ this.applyCommonStyle();
112
+ if (this.position) {
113
+ this.applySpecificPosition();
114
+ }
115
+ else {
116
+ this.applyPosition();
117
+ }
118
+ if (this.popupStyle) {
119
+ this.applyCustomStyle();
120
+ }
121
+ }
122
+ click(event) {
123
+ const target = event.target;
124
+ const clickedInsidePopup = this.elementRef.nativeElement.contains(target);
125
+ const clickedInsideTrigger = this.triggerElement?.contains(target) ?? false;
126
+ if (!clickedInsidePopup && !clickedInsideTrigger) {
127
+ this.hideElement();
128
+ }
129
+ }
130
+ ngOnChanges(changes) {
131
+ if (changes['popupStyle']) {
132
+ console.log('changed');
133
+ }
134
+ }
135
+ togglePopup(triggerElement) {
136
+ this.triggerElement = triggerElement;
137
+ this.isOpen = !this.isOpen;
138
+ this.isOpen ? this.showElement() : this.hideElement();
139
+ }
140
+ showElement() {
141
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');
142
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'block');
143
+ this.renderer.setStyle(this.elementRef.nativeElement, 'z-index', '10000');
144
+ this.renderer.removeClass(this.elementRef.nativeElement, this.hidePopupClass);
145
+ this.renderer.addClass(this.elementRef.nativeElement, this.showPopupClass);
146
+ }
147
+ hideElement() {
148
+ this.isOpen = false;
149
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
150
+ this.renderer.removeClass(this.elementRef.nativeElement, this.showPopupClass);
151
+ this.renderer.addClass(this.elementRef.nativeElement, this.hidePopupClass);
152
+ }
153
+ hide() {
154
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
155
+ this.renderer.removeClass(this.elementRef.nativeElement, this.showPopupClass);
156
+ this.renderer.addClass(this.elementRef.nativeElement, this.hidePopupClass);
157
+ }
158
+ applyPosition() {
159
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');
160
+ if (this.top) {
161
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', this.top);
162
+ }
163
+ if (this.bottom) {
164
+ this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', this.bottom);
165
+ }
166
+ if (this.left) {
167
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', this.left);
168
+ }
169
+ if (this.right) {
170
+ this.renderer.setStyle(this.elementRef.nativeElement, 'right', this.right);
171
+ }
172
+ }
173
+ applySpecificPosition() {
174
+ switch (this.position) {
175
+ case PopupPositions.CENTER:
176
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
177
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', '50%');
178
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', '50%');
179
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translate(-50%, -50%)');
180
+ break;
181
+ case PopupPositions.TOP:
182
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
183
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', '0');
184
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', '50%');
185
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateX(-50%)');
186
+ break;
187
+ case PopupPositions.BOTTOM:
188
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
189
+ this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '0');
190
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', '50%');
191
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateX(-50%)');
192
+ break;
193
+ case PopupPositions.LEFT:
194
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
195
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', '50%');
196
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', '0');
197
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateY(-50%)');
198
+ break;
199
+ case PopupPositions.RIGHT:
200
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
201
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', '50%');
202
+ this.renderer.setStyle(this.elementRef.nativeElement, 'right', '0');
203
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateY(-50%)');
204
+ break;
205
+ case PopupPositions.TOP_LEFT:
206
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
207
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', '0');
208
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', '0');
209
+ break;
210
+ case PopupPositions.TOP_RIGHT:
211
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
212
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', '0');
213
+ this.renderer.setStyle(this.elementRef.nativeElement, 'right', '0');
214
+ break;
215
+ case PopupPositions.BOTTOM_LEFT:
216
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
217
+ this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '0');
218
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', '0');
219
+ break;
220
+ case PopupPositions.BOTTOM_RIGHT:
221
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');
222
+ this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '0');
223
+ this.renderer.setStyle(this.elementRef.nativeElement, 'right', '0');
224
+ break;
225
+ }
226
+ }
227
+ applyCustomStyle() {
228
+ if (this.popupStyle) {
229
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'style', this.popupStyle);
230
+ }
231
+ }
232
+ applyCommonStyle() {
233
+ this.renderer.setStyle(this.elementRef.nativeElement, 'z-index', '1000');
234
+ this.renderer.setStyle(this.elementRef.nativeElement, 'box-shadow', '0 10px 25px rgba(0, 0, 0, 0.15)');
235
+ }
236
+ ngOnDestroy() {
237
+ this.popupService.unRegister(this.popup);
238
+ }
239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: Popup, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PopupManager }], target: i0.ɵɵFactoryTarget.Directive });
240
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: Popup, isStandalone: true, selector: "[bhushan-library-popup]", inputs: { popup: "popup", top: "top", bottom: "bottom", left: "left", right: "right", position: "position", popupStyle: "popupStyle" }, host: { listeners: { "document:click": "click($event)" } }, usesOnChanges: true, ngImport: i0 });
241
+ }
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: Popup, decorators: [{
243
+ type: Directive,
244
+ args: [{
245
+ selector: '[bhushan-library-popup]',
246
+ }]
247
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: PopupManager }], propDecorators: { popup: [{
248
+ type: Input
249
+ }], top: [{
250
+ type: Input
251
+ }], bottom: [{
252
+ type: Input
253
+ }], left: [{
254
+ type: Input
255
+ }], right: [{
256
+ type: Input
257
+ }], position: [{
258
+ type: Input
259
+ }], popupStyle: [{
260
+ type: Input
261
+ }], click: [{
262
+ type: HostListener,
263
+ args: ['document:click', ['$event']]
264
+ }] } });
265
+
266
+ /**
267
+ * Generated bundle index. Do not edit.
268
+ */
269
+
270
+ export { Popup, PopupManager, PopupPositions, PopupTrigger };
271
+ //# sourceMappingURL=bhushan-popup-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bhushan-popup-manager.mjs","sources":["../../../projects/popup-manager/src/lib/services/popup-manager.ts","../../../projects/popup-manager/src/lib/directives/popup-trigger.ts","../../../projects/popup-manager/src/lib/enums/popup-positions.ts","../../../projects/popup-manager/src/lib/directives/popup.ts","../../../projects/popup-manager/src/bhushan-popup-manager.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Popup } from '../directives/popup';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PopupManager {\n\n private popups = new Map<string, Popup>();\n register(id: string, popup: Popup): void { this.popups.set(id, popup) }\n\n unRegister(id: string): void { this.popups.delete(id) }\n\n get(id: string): any { return this.popups.get(id) }\n\n toggle(id: string, triggerElement: HTMLElement): void {\n\n const popup = this.popups.get(id);\n\n if (!popup) {\n return;\n }\n\n popup.togglePopup(triggerElement);\n }\n\n hide(id: string): void {\n const popup = this.popups.get(id);\n if (!popup) { return }\n popup.hideElement();\n }\n\n show(id: string): void {\n const popup = this.popups.get(id);\n if (!popup) { return }\n popup.showElement();\n }\n}\n","import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\nimport { PopupManager } from '../services/popup-manager';\n\n@Directive({\n selector: '[bhushan-library-popupTrigger]',\n})\nexport class PopupTrigger implements OnInit {\n\n @Input()\n popupTrigger!: string;\n\n @Input()\n customInput!: string;\n\n constructor(\n private elementRef: ElementRef,\n private popupService: PopupManager,\n private renderer: Renderer2\n ) { }\n\n ngOnInit(): void {\n this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer')\n }\n\n\n @HostListener('click')\n click(): any {\n this.popupService.toggle(\n this.popupTrigger,\n this.elementRef.nativeElement\n );\n }\n\n}\n","export enum PopupPositions {\n CENTER = 'center',\n TOP = 'top',\n BOTTOM = 'bottom',\n LEFT = 'left',\n RIGHT = 'right',\n TOP_LEFT = 'top-left',\n TOP_RIGHT = 'top-right',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right'\n}\n","import { Directive, ElementRef, HostListener, Input, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core';\nimport { PopupManager } from '../services/popup-manager';\nimport { PopupPositions } from '../enums/popup-positions';\n\n@Directive({\n selector: '[bhushan-library-popup]',\n})\nexport class Popup implements OnInit, OnDestroy, OnChanges {\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private popupService: PopupManager\n ) { }\n\n @Input()\n popup!: string;\n\n @Input()\n top!: string;\n\n @Input()\n bottom!: string;\n\n @Input()\n left!: string;\n\n @Input()\n right!: string;\n\n@Input()\nposition: PopupPositions = PopupPositions.CENTER;\n\n @Input()\n popupStyle!: string;\n\n isOpen = false;\n private triggerElement!: HTMLElement;\n showPopupClass: string = 'popup-fade-enter'\n hidePopupClass: string = 'popup-fade-leave'\n clickedInside: boolean = false\n\n\n\n ngOnInit(): void {\n this.hide();\n this.popupService.register(this.popup, this);\n this.applyCommonStyle();\n if (this.position) {\n this.applySpecificPosition()\n } else {\n this.applyPosition();\n }\n\n if (this.popupStyle) {\n this.applyCustomStyle();\n }\n }\n\n @HostListener('document:click', ['$event'])\n click(event: MouseEvent): void {\n\n const target = event.target as Node;\n\n const clickedInsidePopup = this.elementRef.nativeElement.contains(target);\n\n const clickedInsideTrigger = this.triggerElement?.contains(target) ?? false;\n\n if (!clickedInsidePopup && !clickedInsideTrigger) {\n this.hideElement();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['popupStyle']) {\n console.log('changed')\n }\n }\n\n\n togglePopup(triggerElement: HTMLElement): void {\n this.triggerElement = triggerElement;\n this.isOpen = !this.isOpen;\n this.isOpen ? this.showElement() : this.hideElement();\n }\n\n showElement() {\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'block');\n this.renderer.setStyle(this.elementRef.nativeElement, 'z-index', '10000');\n this.renderer.removeClass(this.elementRef.nativeElement, this.hidePopupClass)\n this.renderer.addClass(this.elementRef.nativeElement, this.showPopupClass)\n }\n\n hideElement() {\n this.isOpen = false;\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');\n this.renderer.removeClass(this.elementRef.nativeElement, this.showPopupClass)\n this.renderer.addClass(this.elementRef.nativeElement, this.hidePopupClass)\n }\n\n private hide(): void {\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');\n this.renderer.removeClass(this.elementRef.nativeElement, this.showPopupClass)\n this.renderer.addClass(this.elementRef.nativeElement, this.hidePopupClass)\n }\n\n applyPosition(): void {\n\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'position',\n 'absolute'\n );\n\n if (this.top) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'top',\n this.top\n );\n }\n\n if (this.bottom) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'bottom',\n this.bottom\n );\n }\n\n if (this.left) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'left',\n this.left\n );\n }\n\n if (this.right) {\n this.renderer.setStyle(\n this.elementRef.nativeElement,\n 'right',\n this.right\n );\n }\n\n\n }\n\n applySpecificPosition(): void {\n\n switch (this.position) {\n\n case PopupPositions.CENTER:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', '50%');\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', '50%');\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translate(-50%, -50%)');\n break;\n\n case PopupPositions.TOP:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', '50%');\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateX(-50%)');\n break;\n\n case PopupPositions.BOTTOM:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', '50%');\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateX(-50%)');\n break;\n\n case PopupPositions.LEFT:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', '50%');\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateY(-50%)');\n break;\n\n case PopupPositions.RIGHT:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', '50%');\n this.renderer.setStyle(this.elementRef.nativeElement, 'right', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'transform', 'translateY(-50%)');\n break;\n\n case PopupPositions.TOP_LEFT:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', '0');\n break;\n\n case PopupPositions.TOP_RIGHT:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'right', '0');\n break;\n\n case PopupPositions.BOTTOM_LEFT:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', '0');\n break;\n\n case PopupPositions.BOTTOM_RIGHT:\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'fixed');\n this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '0');\n this.renderer.setStyle(this.elementRef.nativeElement, 'right', '0');\n break;\n }\n\n }\n\n applyCustomStyle(): void {\n if (this.popupStyle) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'style',\n this.popupStyle\n );\n }\n }\n\n applyCommonStyle(): void {\n this.renderer.setStyle(this.elementRef.nativeElement, 'z-index', '1000');\n this.renderer.setStyle(this.elementRef.nativeElement, 'box-shadow', '0 10px 25px rgba(0, 0, 0, 0.15)');\n }\n\n ngOnDestroy(): void {\n this.popupService.unRegister(this.popup);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.PopupManager"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "bhushan-popup-manager",
3
+ "version": "1.0.0",
4
+ "peerDependencies": {
5
+ "@angular/common": "^21.2.0",
6
+ "@angular/core": "^21.2.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/bhushan-popup-manager.mjs",
13
+ "typings": "types/bhushan-popup-manager.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./types/bhushan-popup-manager.d.ts",
20
+ "default": "./fesm2022/bhushan-popup-manager.mjs"
21
+ }
22
+ },
23
+ "type": "module"
24
+ }
@@ -0,0 +1,74 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, OnDestroy, OnChanges, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
3
+
4
+ declare enum PopupPositions {
5
+ CENTER = "center",
6
+ TOP = "top",
7
+ BOTTOM = "bottom",
8
+ LEFT = "left",
9
+ RIGHT = "right",
10
+ TOP_LEFT = "top-left",
11
+ TOP_RIGHT = "top-right",
12
+ BOTTOM_LEFT = "bottom-left",
13
+ BOTTOM_RIGHT = "bottom-right"
14
+ }
15
+
16
+ declare class Popup implements OnInit, OnDestroy, OnChanges {
17
+ private elementRef;
18
+ private renderer;
19
+ private popupService;
20
+ constructor(elementRef: ElementRef, renderer: Renderer2, popupService: PopupManager);
21
+ popup: string;
22
+ top: string;
23
+ bottom: string;
24
+ left: string;
25
+ right: string;
26
+ position: PopupPositions;
27
+ popupStyle: string;
28
+ isOpen: boolean;
29
+ private triggerElement;
30
+ showPopupClass: string;
31
+ hidePopupClass: string;
32
+ clickedInside: boolean;
33
+ ngOnInit(): void;
34
+ click(event: MouseEvent): void;
35
+ ngOnChanges(changes: SimpleChanges): void;
36
+ togglePopup(triggerElement: HTMLElement): void;
37
+ showElement(): void;
38
+ hideElement(): void;
39
+ private hide;
40
+ applyPosition(): void;
41
+ applySpecificPosition(): void;
42
+ applyCustomStyle(): void;
43
+ applyCommonStyle(): void;
44
+ ngOnDestroy(): void;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<Popup, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Popup, "[bhushan-library-popup]", never, { "popup": { "alias": "popup"; "required": false; }; "top": { "alias": "top"; "required": false; }; "bottom": { "alias": "bottom"; "required": false; }; "left": { "alias": "left"; "required": false; }; "right": { "alias": "right"; "required": false; }; "position": { "alias": "position"; "required": false; }; "popupStyle": { "alias": "popupStyle"; "required": false; }; }, {}, never, never, true, never>;
47
+ }
48
+
49
+ declare class PopupManager {
50
+ private popups;
51
+ register(id: string, popup: Popup): void;
52
+ unRegister(id: string): void;
53
+ get(id: string): any;
54
+ toggle(id: string, triggerElement: HTMLElement): void;
55
+ hide(id: string): void;
56
+ show(id: string): void;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopupManager, never>;
58
+ static ɵprov: i0.ɵɵInjectableDeclaration<PopupManager>;
59
+ }
60
+
61
+ declare class PopupTrigger implements OnInit {
62
+ private elementRef;
63
+ private popupService;
64
+ private renderer;
65
+ popupTrigger: string;
66
+ customInput: string;
67
+ constructor(elementRef: ElementRef, popupService: PopupManager, renderer: Renderer2);
68
+ ngOnInit(): void;
69
+ click(): any;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopupTrigger, never>;
71
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopupTrigger, "[bhushan-library-popupTrigger]", never, { "popupTrigger": { "alias": "popupTrigger"; "required": false; }; "customInput": { "alias": "customInput"; "required": false; }; }, {}, never, never, true, never>;
72
+ }
73
+
74
+ export { Popup, PopupManager, PopupPositions, PopupTrigger };