ngx-gccb 0.13.2 → 0.14.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/assets/styles.scss +23 -14
- package/fesm2022/ngx-gccb.mjs +193 -95
- package/fesm2022/ngx-gccb.mjs.map +1 -1
- package/lib/directives/ngx-dropdown.directive.d.ts +8 -8
- package/lib/directives/ngx-tooltip.directive.d.ts +24 -15
- package/lib/services/ngx-loading-indicator.service.d.ts +7 -3
- package/lib/types/index.d.ts +1 -0
- package/lib/types/size.type.d.ts +1 -0
- package/lib/types/tooltip.types.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
package/assets/styles.scss
CHANGED
|
@@ -148,47 +148,56 @@ $btn-border-width: 2px;
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
.tooltip {
|
|
151
|
+
.ngx-tooltip {
|
|
152
152
|
background-color: #333;
|
|
153
153
|
color: white;
|
|
154
|
-
padding: 5px
|
|
154
|
+
padding: 5px;
|
|
155
155
|
border-radius: 4px;
|
|
156
|
-
font-size:
|
|
156
|
+
font-size: 11px;
|
|
157
157
|
position: absolute;
|
|
158
|
-
left: -
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
left: -10000px;
|
|
159
|
+
max-width: 320px;
|
|
160
|
+
z-index: 5;
|
|
161
|
+
|
|
162
|
+
&.md {
|
|
163
|
+
max-width: 195px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
&.sm {
|
|
167
|
+
max-width: 130px;
|
|
168
|
+
}
|
|
161
169
|
}
|
|
162
|
-
|
|
163
|
-
|
|
170
|
+
|
|
171
|
+
.ngx-tooltip-arrow,
|
|
172
|
+
.ngx-tooltip-arrow::before {
|
|
164
173
|
position: absolute;
|
|
165
174
|
width: 8px;
|
|
166
175
|
height: 8px;
|
|
167
176
|
background: inherit;
|
|
168
177
|
}
|
|
169
178
|
|
|
170
|
-
|
|
179
|
+
.ngx-tooltip-arrow {
|
|
171
180
|
visibility: hidden;
|
|
172
181
|
}
|
|
173
182
|
|
|
174
|
-
|
|
183
|
+
.ngx-tooltip-arrow::before {
|
|
175
184
|
visibility: visible;
|
|
176
185
|
content: '';
|
|
177
186
|
transform: rotate(45deg);
|
|
178
187
|
}
|
|
179
188
|
|
|
180
|
-
.tooltip[data-popper-placement^='top'] >
|
|
189
|
+
.ngx-tooltip[data-popper-placement^='top'] > .ngx-tooltip-arrow {
|
|
181
190
|
bottom: -4px;
|
|
182
191
|
}
|
|
183
192
|
|
|
184
|
-
.tooltip[data-popper-placement^='bottom'] >
|
|
193
|
+
.ngx-tooltip[data-popper-placement^='bottom'] > .ngx-tooltip-arrow {
|
|
185
194
|
top: -4px;
|
|
186
195
|
}
|
|
187
196
|
|
|
188
|
-
.tooltip[data-popper-placement^='left'] >
|
|
197
|
+
.ngx-tooltip[data-popper-placement^='left'] > .ngx-tooltip-arrow {
|
|
189
198
|
right: -4px;
|
|
190
199
|
}
|
|
191
200
|
|
|
192
|
-
.tooltip[data-popper-placement^='right'] >
|
|
201
|
+
.ngx-tooltip[data-popper-placement^='right'] > .ngx-tooltip-arrow {
|
|
193
202
|
left: -4px;
|
|
194
203
|
}
|
package/fesm2022/ngx-gccb.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { Component, input, computed, inject, NgZone, ElementRef, Directive, Inpu
|
|
|
6
6
|
import * as i2 from '@angular/forms';
|
|
7
7
|
import { UntypedFormGroup, UntypedFormControl, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
|
|
8
8
|
import { createPopper } from '@popperjs/core';
|
|
9
|
-
import { debounceTime
|
|
9
|
+
import { debounceTime } from 'rxjs';
|
|
10
10
|
import * as i1$1 from '@fortawesome/angular-fontawesome';
|
|
11
11
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
12
12
|
import { faSpinner, faTimes } from '@fortawesome/free-solid-svg-icons';
|
|
@@ -278,71 +278,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
278
278
|
|
|
279
279
|
class NgxDropdownDirective {
|
|
280
280
|
constructor() {
|
|
281
|
-
this.placement = 'bottom-start';
|
|
282
281
|
this.elementRef = inject(ElementRef);
|
|
283
282
|
this.renderer = inject(Renderer2);
|
|
284
283
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
284
|
+
this.ngxDropdown = input.required();
|
|
285
|
+
this.placement = input('bottom-start');
|
|
286
|
+
// adaptivePosition: InputSignal<boolean> = input(true);
|
|
287
|
+
// fallbackPlacements: InputSignal<Placement[]> = input<Placement[]>(['top-end', 'bottom-end', 'right', 'left']);
|
|
288
|
+
this.dropdownElement = null;
|
|
289
|
+
this.dropdownMenuContentElement = null;
|
|
285
290
|
this.isDropdownVisible = false;
|
|
286
291
|
}
|
|
287
292
|
ngOnInit() {
|
|
288
|
-
if (!this.
|
|
289
|
-
this.
|
|
290
|
-
this.renderer.addClass(this.
|
|
293
|
+
if (!this.dropdownElement) {
|
|
294
|
+
this.dropdownElement = this.renderer.createElement('div');
|
|
295
|
+
this.renderer.addClass(this.dropdownElement, 'dropdown');
|
|
291
296
|
const parent = this.elementRef.nativeElement.parentNode;
|
|
292
|
-
this.renderer.insertBefore(parent, this.
|
|
293
|
-
this.renderer.appendChild(this.
|
|
297
|
+
this.renderer.insertBefore(parent, this.dropdownElement, this.elementRef.nativeElement);
|
|
298
|
+
this.renderer.appendChild(this.dropdownElement, this.elementRef.nativeElement);
|
|
294
299
|
}
|
|
295
300
|
}
|
|
296
301
|
toggleDropdown() {
|
|
297
302
|
if (this.isDropdownVisible) {
|
|
298
|
-
this.
|
|
303
|
+
this.hide();
|
|
299
304
|
}
|
|
300
305
|
else {
|
|
301
|
-
this.
|
|
306
|
+
this.show();
|
|
302
307
|
}
|
|
303
308
|
}
|
|
304
309
|
onDocumentClick(event) {
|
|
305
310
|
if (this.isDropdownVisible &&
|
|
306
|
-
this.
|
|
307
|
-
!this.
|
|
311
|
+
this.dropdownElement &&
|
|
312
|
+
!this.dropdownElement.contains(event.target) &&
|
|
308
313
|
!this.elementRef.nativeElement.contains(event.target)) {
|
|
309
|
-
this.
|
|
314
|
+
this.hide();
|
|
310
315
|
}
|
|
311
316
|
}
|
|
312
|
-
|
|
313
|
-
if (!this.
|
|
314
|
-
const
|
|
315
|
-
|
|
316
|
-
this.
|
|
317
|
+
show() {
|
|
318
|
+
if (!this.dropdownMenuContentElement && this.dropdownElement) {
|
|
319
|
+
const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.ngxDropdown());
|
|
320
|
+
embeddedViewRef.detectChanges();
|
|
321
|
+
this.dropdownMenuContentElement = embeddedViewRef.rootNodes[0];
|
|
322
|
+
this.renderer.appendChild(this.dropdownElement, this.dropdownMenuContentElement);
|
|
317
323
|
this.addDropdownLinksListener();
|
|
318
|
-
this.popperInstance = createPopper(this.
|
|
319
|
-
placement: this.placement,
|
|
324
|
+
this.popperInstance = createPopper(this.dropdownElement, this.dropdownMenuContentElement, {
|
|
325
|
+
placement: this.placement(),
|
|
320
326
|
modifiers: [
|
|
321
327
|
{
|
|
322
328
|
name: 'offset',
|
|
323
329
|
options: {
|
|
324
330
|
offset: ({ placement }) => {
|
|
325
331
|
if (placement.startsWith('bottom')) {
|
|
326
|
-
return [0, -this.
|
|
332
|
+
return [0, -this.dropdownElement?.offsetHeight];
|
|
327
333
|
}
|
|
328
334
|
if (placement.startsWith('top')) {
|
|
329
|
-
return [0, -this.
|
|
335
|
+
return [0, -this.dropdownElement?.offsetHeight];
|
|
330
336
|
}
|
|
331
337
|
if (placement.startsWith('left')) {
|
|
332
|
-
return [0, -this.
|
|
338
|
+
return [0, -this.dropdownElement?.offsetWidth];
|
|
333
339
|
}
|
|
334
340
|
return [0, 0];
|
|
335
341
|
},
|
|
336
342
|
},
|
|
337
343
|
},
|
|
338
|
-
{
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
},
|
|
344
|
+
// {
|
|
345
|
+
// name: 'flip',
|
|
346
|
+
// options: {
|
|
347
|
+
// fallbackPlacements: this.adaptivePosition() ? this.fallbackPlacements() : [],
|
|
348
|
+
// boundary: 'viewport',
|
|
349
|
+
// padding: 0,
|
|
350
|
+
// },
|
|
351
|
+
// },
|
|
346
352
|
{
|
|
347
353
|
name: 'preventOverflow',
|
|
348
354
|
options: {
|
|
@@ -356,34 +362,29 @@ class NgxDropdownDirective {
|
|
|
356
362
|
}
|
|
357
363
|
this.isDropdownVisible = true;
|
|
358
364
|
}
|
|
359
|
-
|
|
360
|
-
if (this.
|
|
365
|
+
hide() {
|
|
366
|
+
if (this.dropdownMenuContentElement) {
|
|
361
367
|
this.viewContainerRef.clear();
|
|
362
|
-
this.
|
|
368
|
+
this.dropdownMenuContentElement = null;
|
|
363
369
|
this.popperInstance?.destroy();
|
|
364
370
|
}
|
|
365
371
|
this.isDropdownVisible = false;
|
|
366
372
|
}
|
|
367
373
|
addDropdownLinksListener() {
|
|
368
|
-
const links = this.
|
|
374
|
+
const links = this.dropdownMenuContentElement?.querySelectorAll('.dropdown-item');
|
|
369
375
|
links?.forEach(link => {
|
|
370
376
|
this.renderer.listen(link, 'click', () => {
|
|
371
|
-
this.
|
|
377
|
+
this.hide();
|
|
372
378
|
});
|
|
373
379
|
});
|
|
374
380
|
}
|
|
375
381
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
376
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
382
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: NgxDropdownDirective, isStandalone: true, selector: "[ngxDropdown]", inputs: { ngxDropdown: { classPropertyName: "ngxDropdown", publicName: "ngxDropdown", isSignal: true, isRequired: true, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleDropdown()", "document:click": "onDocumentClick($event)" } }, exportAs: ["ngxDropdown"], ngImport: i0 }); }
|
|
377
383
|
}
|
|
378
384
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxDropdownDirective, decorators: [{
|
|
379
385
|
type: Directive,
|
|
380
|
-
args: [{ selector: '[ngxDropdown]' }]
|
|
381
|
-
}], propDecorators: {
|
|
382
|
-
type: Input,
|
|
383
|
-
args: ['ngxDropdown']
|
|
384
|
-
}], placement: [{
|
|
385
|
-
type: Input
|
|
386
|
-
}], toggleDropdown: [{
|
|
386
|
+
args: [{ selector: '[ngxDropdown]', exportAs: 'ngxDropdown' }]
|
|
387
|
+
}], propDecorators: { toggleDropdown: [{
|
|
387
388
|
type: HostListener,
|
|
388
389
|
args: ['click']
|
|
389
390
|
}], onDocumentClick: [{
|
|
@@ -636,46 +637,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
636
637
|
args: [{ selector: 'ul[ngxListGroup]' }]
|
|
637
638
|
}] });
|
|
638
639
|
|
|
639
|
-
var TooltipTrigger;
|
|
640
|
-
(function (TooltipTrigger) {
|
|
641
|
-
TooltipTrigger["hover"] = "hover";
|
|
642
|
-
TooltipTrigger["manual"] = "manual";
|
|
643
|
-
})(TooltipTrigger || (TooltipTrigger = {}));
|
|
644
640
|
class NgxTooltipDirective {
|
|
645
641
|
constructor() {
|
|
646
642
|
this.elementRef = inject(ElementRef);
|
|
647
643
|
this.renderer = inject(Renderer2);
|
|
648
644
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
649
645
|
this.ngxTooltip = input.required();
|
|
650
|
-
this.
|
|
651
|
-
this.
|
|
652
|
-
this.
|
|
653
|
-
this.
|
|
654
|
-
this.
|
|
655
|
-
this.
|
|
656
|
-
this.
|
|
646
|
+
this.ngxTooltipClass = input('');
|
|
647
|
+
this.ngxTooltipPlacement = input('top');
|
|
648
|
+
this.ngxTooltipIsShow = input(false);
|
|
649
|
+
this.ngxTooltipXOffset = input(0);
|
|
650
|
+
this.ngxTooltipYOffset = input(8);
|
|
651
|
+
this.ngxTooltipDelay = input(200);
|
|
652
|
+
this.ngxTooltipTriggers = input(['hover']);
|
|
653
|
+
this.ngxTooltipSize = input('sm');
|
|
654
|
+
this.ngxTooltipZIndex = input(5);
|
|
655
|
+
this.ngxTooltipAdaptivePosition = input(true);
|
|
656
|
+
this.ngxTooltipFallbackPlacements = input(['top', 'bottom', 'right', 'left']);
|
|
657
657
|
this.isOpen = false;
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
}
|
|
658
|
+
effect(() => {
|
|
659
|
+
if (this.ngxTooltipIsShow()) {
|
|
660
|
+
this.show();
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
663
|
}
|
|
664
664
|
ngOnDestroy() {
|
|
665
665
|
this.hide();
|
|
666
666
|
}
|
|
667
667
|
onHover() {
|
|
668
|
-
if (this.
|
|
669
|
-
|
|
670
|
-
this.openTimeout = window.setTimeout(() => this.init(), this.delay());
|
|
668
|
+
if (this.ngxTooltipTriggers().includes('hover')) {
|
|
669
|
+
this.show();
|
|
671
670
|
}
|
|
672
671
|
}
|
|
673
672
|
onLeave() {
|
|
674
|
-
if (this.
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
673
|
+
if (this.ngxTooltipTriggers().includes('hover')) {
|
|
674
|
+
this.hide();
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
onPointerEnter() {
|
|
678
|
+
if (this.ngxTooltipTriggers().includes('pointer')) {
|
|
679
|
+
this.show();
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
onPointerOut() {
|
|
683
|
+
if (this.ngxTooltipTriggers().includes('pointer')) {
|
|
684
|
+
this.hide();
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
onFocusIn() {
|
|
688
|
+
if (this.ngxTooltipTriggers().includes('focus')) {
|
|
689
|
+
this.show();
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
onFocusOut() {
|
|
693
|
+
if (this.ngxTooltipTriggers().includes('focus')) {
|
|
694
|
+
this.hide();
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
onClick(event) {
|
|
698
|
+
event.stopPropagation();
|
|
699
|
+
if (this.ngxTooltipTriggers().includes('manual')) {
|
|
700
|
+
this.toggle();
|
|
679
701
|
}
|
|
680
702
|
}
|
|
681
703
|
onDocumentClick(event) {
|
|
@@ -683,18 +705,25 @@ class NgxTooltipDirective {
|
|
|
683
705
|
this.tooltipElement &&
|
|
684
706
|
!this.tooltipElement.contains(event.target) &&
|
|
685
707
|
!this.elementRef.nativeElement.contains(event.target) &&
|
|
686
|
-
this.
|
|
687
|
-
this.
|
|
708
|
+
!this.ngxTooltipTriggers().includes('manual')) {
|
|
709
|
+
this.hide();
|
|
688
710
|
}
|
|
689
711
|
}
|
|
690
712
|
show() {
|
|
691
|
-
this.
|
|
713
|
+
clearTimeout(this.closeTimeout);
|
|
714
|
+
this.openTimeout = window.setTimeout(() => this.init(), this.ngxTooltipDelay());
|
|
692
715
|
}
|
|
693
716
|
init() {
|
|
694
|
-
if (!this.tooltipElement) {
|
|
717
|
+
if (!this.tooltipElement && !!this.ngxTooltip()) {
|
|
695
718
|
this.tooltipElement = this.renderer.createElement('div');
|
|
696
|
-
this.renderer.addClass(this.tooltipElement, 'tooltip');
|
|
697
|
-
this.
|
|
719
|
+
this.renderer.addClass(this.tooltipElement, 'ngx-tooltip');
|
|
720
|
+
if (this.ngxTooltipClass()) {
|
|
721
|
+
this.ngxTooltipClass()
|
|
722
|
+
.split(' ')
|
|
723
|
+
.forEach(cssClass => this.renderer.addClass(this.tooltipElement, cssClass));
|
|
724
|
+
}
|
|
725
|
+
this.renderer.addClass(this.tooltipElement, this.ngxTooltipSize());
|
|
726
|
+
this.renderer.setStyle(this.tooltipElement, 'zIndex', this.ngxTooltipZIndex());
|
|
698
727
|
if (this.ngxTooltip() instanceof TemplateRef) {
|
|
699
728
|
this.renderTemplate(this.ngxTooltip());
|
|
700
729
|
}
|
|
@@ -703,37 +732,73 @@ class NgxTooltipDirective {
|
|
|
703
732
|
}
|
|
704
733
|
this.renderer.appendChild(document.body, this.tooltipElement);
|
|
705
734
|
const arrowDiv = this.renderer.createElement('div');
|
|
706
|
-
arrowDiv.
|
|
735
|
+
arrowDiv.classList.add('ngx-tooltip-arrow');
|
|
707
736
|
arrowDiv.setAttribute('data-popper-arrow', '');
|
|
708
737
|
this.renderer.appendChild(this.tooltipElement, arrowDiv);
|
|
709
738
|
this.popperInstance = createPopper(this.elementRef.nativeElement, this.tooltipElement, {
|
|
710
|
-
placement: this.
|
|
739
|
+
placement: this.ngxTooltipPlacement(),
|
|
711
740
|
modifiers: [
|
|
712
741
|
{
|
|
713
742
|
name: 'offset',
|
|
714
743
|
options: {
|
|
715
|
-
offset: [this.
|
|
744
|
+
offset: [this.ngxTooltipXOffset(), this.ngxTooltipYOffset()],
|
|
745
|
+
},
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
name: 'flip',
|
|
749
|
+
options: {
|
|
750
|
+
fallbackPlacements: this.ngxTooltipAdaptivePosition()
|
|
751
|
+
? this.ngxTooltipFallbackPlacements()
|
|
752
|
+
: [],
|
|
753
|
+
boundary: 'viewport',
|
|
754
|
+
padding: 0,
|
|
755
|
+
},
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
name: 'preventOverflow',
|
|
759
|
+
options: {
|
|
760
|
+
boundary: 'viewport',
|
|
761
|
+
padding: 0,
|
|
762
|
+
tether: false,
|
|
716
763
|
},
|
|
717
764
|
},
|
|
718
765
|
],
|
|
719
766
|
});
|
|
720
767
|
this.isOpen = true;
|
|
721
|
-
this.
|
|
722
|
-
clearTimeout(this.mutationTimeout);
|
|
723
|
-
this.mutationTimeout = window.setTimeout(() => {
|
|
724
|
-
void this.popperInstance?.update();
|
|
725
|
-
}, 100);
|
|
726
|
-
});
|
|
727
|
-
this.mutationObserver.observe(document.body, { childList: true, subtree: true });
|
|
768
|
+
this.observeMutation();
|
|
728
769
|
}
|
|
729
770
|
}
|
|
771
|
+
observeMutation() {
|
|
772
|
+
this.mutationObserver = new MutationObserver(() => {
|
|
773
|
+
clearTimeout(this.mutationTimeout);
|
|
774
|
+
this.mutationTimeout = window.setTimeout(() => {
|
|
775
|
+
void this.popperInstance?.update();
|
|
776
|
+
if (!this.isTooltipTargetVisible()) {
|
|
777
|
+
this.hide();
|
|
778
|
+
}
|
|
779
|
+
}, 100);
|
|
780
|
+
});
|
|
781
|
+
this.mutationObserver.observe(document.body, { attributes: true, childList: true, subtree: true });
|
|
782
|
+
}
|
|
783
|
+
isTooltipTargetVisible() {
|
|
784
|
+
let result = false;
|
|
785
|
+
if (this.elementRef.nativeElement && document.body.contains(this.elementRef.nativeElement)) {
|
|
786
|
+
const rect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
787
|
+
if (rect.top < 0 || rect.left < 0 || rect.bottom > window.innerHeight || rect.right > window.innerWidth) {
|
|
788
|
+
result = false;
|
|
789
|
+
}
|
|
790
|
+
const style = window.getComputedStyle(this.elementRef.nativeElement);
|
|
791
|
+
result = !(style.display === 'none' || style.visibility === 'hidden');
|
|
792
|
+
}
|
|
793
|
+
return result;
|
|
794
|
+
}
|
|
730
795
|
renderText(text) {
|
|
731
796
|
this.renderer.appendChild(this.tooltipElement, this.renderer.createText(text));
|
|
732
797
|
}
|
|
733
798
|
renderTemplate(templateRef) {
|
|
734
|
-
const
|
|
735
|
-
|
|
736
|
-
|
|
799
|
+
const embeddedViewRef = this.viewContainerRef.createEmbeddedView(templateRef);
|
|
800
|
+
embeddedViewRef.detectChanges();
|
|
801
|
+
embeddedViewRef.rootNodes.forEach(node => {
|
|
737
802
|
this.renderer.appendChild(this.tooltipElement, node);
|
|
738
803
|
});
|
|
739
804
|
}
|
|
@@ -762,17 +827,32 @@ class NgxTooltipDirective {
|
|
|
762
827
|
}
|
|
763
828
|
}
|
|
764
829
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
765
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: NgxTooltipDirective, isStandalone: true, selector: "[ngxTooltip]", inputs: { ngxTooltip: { classPropertyName: "ngxTooltip", publicName: "ngxTooltip", isSignal: true, isRequired: true, transformFunction: null },
|
|
830
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: NgxTooltipDirective, isStandalone: true, selector: "[ngxTooltip]", inputs: { ngxTooltip: { classPropertyName: "ngxTooltip", publicName: "ngxTooltip", isSignal: true, isRequired: true, transformFunction: null }, ngxTooltipClass: { classPropertyName: "ngxTooltipClass", publicName: "ngxTooltipClass", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipPlacement: { classPropertyName: "ngxTooltipPlacement", publicName: "ngxTooltipPlacement", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipIsShow: { classPropertyName: "ngxTooltipIsShow", publicName: "ngxTooltipIsShow", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipXOffset: { classPropertyName: "ngxTooltipXOffset", publicName: "ngxTooltipXOffset", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipYOffset: { classPropertyName: "ngxTooltipYOffset", publicName: "ngxTooltipYOffset", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipDelay: { classPropertyName: "ngxTooltipDelay", publicName: "ngxTooltipDelay", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipTriggers: { classPropertyName: "ngxTooltipTriggers", publicName: "ngxTooltipTriggers", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipSize: { classPropertyName: "ngxTooltipSize", publicName: "ngxTooltipSize", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipZIndex: { classPropertyName: "ngxTooltipZIndex", publicName: "ngxTooltipZIndex", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipAdaptivePosition: { classPropertyName: "ngxTooltipAdaptivePosition", publicName: "ngxTooltipAdaptivePosition", isSignal: true, isRequired: false, transformFunction: null }, ngxTooltipFallbackPlacements: { classPropertyName: "ngxTooltipFallbackPlacements", publicName: "ngxTooltipFallbackPlacements", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onHover()", "mouseleave": "onLeave()", "pointerenter": "onPointerEnter()", "pointerout": "onPointerOut()", "focusin": "onFocusIn()", "focusout": "onFocusOut()", "click": "onClick($event)", "document:click": "onDocumentClick($event)" } }, exportAs: ["ngxTooltip"], ngImport: i0 }); }
|
|
766
831
|
}
|
|
767
832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxTooltipDirective, decorators: [{
|
|
768
833
|
type: Directive,
|
|
769
834
|
args: [{ selector: '[ngxTooltip]', exportAs: 'ngxTooltip' }]
|
|
770
|
-
}], propDecorators: { onHover: [{
|
|
835
|
+
}], ctorParameters: () => [], propDecorators: { onHover: [{
|
|
771
836
|
type: HostListener,
|
|
772
837
|
args: ['mouseenter']
|
|
773
838
|
}], onLeave: [{
|
|
774
839
|
type: HostListener,
|
|
775
840
|
args: ['mouseleave']
|
|
841
|
+
}], onPointerEnter: [{
|
|
842
|
+
type: HostListener,
|
|
843
|
+
args: ['pointerenter']
|
|
844
|
+
}], onPointerOut: [{
|
|
845
|
+
type: HostListener,
|
|
846
|
+
args: ['pointerout']
|
|
847
|
+
}], onFocusIn: [{
|
|
848
|
+
type: HostListener,
|
|
849
|
+
args: ['focusin']
|
|
850
|
+
}], onFocusOut: [{
|
|
851
|
+
type: HostListener,
|
|
852
|
+
args: ['focusout']
|
|
853
|
+
}], onClick: [{
|
|
854
|
+
type: HostListener,
|
|
855
|
+
args: ['click', ['$event']]
|
|
776
856
|
}], onDocumentClick: [{
|
|
777
857
|
type: HostListener,
|
|
778
858
|
args: ['document:click', ['$event']]
|
|
@@ -855,11 +935,11 @@ class NgxLoadingIndicatorComponent {
|
|
|
855
935
|
this.faSpinner = faSpinner;
|
|
856
936
|
}
|
|
857
937
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLoadingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
858
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: NgxLoadingIndicatorComponent, isStandalone: true, selector: "ngx-loading-indicator", ngImport: i0, template: "<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\"
|
|
938
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: NgxLoadingIndicatorComponent, isStandalone: true, selector: "ngx-loading-indicator", ngImport: i0, template: "<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\" />\n", styles: [":host{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#495057}\n"], dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] }); }
|
|
859
939
|
}
|
|
860
940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLoadingIndicatorComponent, decorators: [{
|
|
861
941
|
type: Component,
|
|
862
|
-
args: [{ selector: 'ngx-loading-indicator', imports: [FontAwesomeModule], template: "<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\"
|
|
942
|
+
args: [{ selector: 'ngx-loading-indicator', imports: [FontAwesomeModule], template: "<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\" />\n", styles: [":host{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#495057}\n"] }]
|
|
863
943
|
}] });
|
|
864
944
|
|
|
865
945
|
class BaseModalComponent {
|
|
@@ -1094,9 +1174,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
|
1094
1174
|
}] });
|
|
1095
1175
|
|
|
1096
1176
|
class NgxLoadingIndicatorService {
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1177
|
+
init(viewContainer) {
|
|
1178
|
+
if (!viewContainer) {
|
|
1179
|
+
throw new Error('viewContainerRef needs to be defined!');
|
|
1180
|
+
}
|
|
1181
|
+
this.viewContainerRef = viewContainer;
|
|
1182
|
+
}
|
|
1183
|
+
show() {
|
|
1184
|
+
if (this.viewContainerRef) {
|
|
1185
|
+
if (this.componentRef) {
|
|
1186
|
+
this.hide();
|
|
1187
|
+
}
|
|
1188
|
+
this.componentRef = this.viewContainerRef.createComponent(NgxLoadingIndicatorComponent);
|
|
1189
|
+
}
|
|
1190
|
+
else {
|
|
1191
|
+
throw Error('no viewcontainer ref is set');
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
hide() {
|
|
1195
|
+
if (this.componentRef) {
|
|
1196
|
+
this.componentRef.destroy();
|
|
1197
|
+
}
|
|
1100
1198
|
}
|
|
1101
1199
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLoadingIndicatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1102
1200
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLoadingIndicatorService, providedIn: 'root' }); }
|
|
@@ -1252,5 +1350,5 @@ function convertToMinutes(time) {
|
|
|
1252
1350
|
* Generated bundle index. Do not edit.
|
|
1253
1351
|
*/
|
|
1254
1352
|
|
|
1255
|
-
export { AppIsFormControlPipe, BaseModalComponent, DatePickerComponent, LogType, NgxAutofocusDirective, NgxButtonDirective, NgxCardBodyDirective, NgxCardDirective, NgxCardHeaderDirective, NgxClass, NgxColDirective, NgxDropdownDirective, NgxFadeAnimation, NgxFadeRightAnimation, NgxFormComponent, NgxFormControl, NgxFormControlPipe, NgxFormErrorsComponent, NgxFormGroup, NgxFormGroupDirective, NgxFormInputDirective, NgxFormLabelDirective, NgxFormSelectDirective, NgxIconButtonDirective, NgxImageService, NgxIsFormGroupPipe, NgxListGroupDirective, NgxListGroupItemAvatarDirective, NgxListGroupItemDirective, NgxLoadingIndicatorComponent, NgxLoadingIndicatorService, NgxLog, NgxModalComponent, NgxModalService, NgxOffCanvasComponent, NgxTabComponent, NgxTabContentComponent, NgxTabsComponent, NgxToastComponent, NgxToastService, NgxTooltipDirective,
|
|
1353
|
+
export { AppIsFormControlPipe, BaseModalComponent, DatePickerComponent, LogType, NgxAutofocusDirective, NgxButtonDirective, NgxCardBodyDirective, NgxCardDirective, NgxCardHeaderDirective, NgxClass, NgxColDirective, NgxDropdownDirective, NgxFadeAnimation, NgxFadeRightAnimation, NgxFormComponent, NgxFormControl, NgxFormControlPipe, NgxFormErrorsComponent, NgxFormGroup, NgxFormGroupDirective, NgxFormInputDirective, NgxFormLabelDirective, NgxFormSelectDirective, NgxIconButtonDirective, NgxImageService, NgxIsFormGroupPipe, NgxListGroupDirective, NgxListGroupItemAvatarDirective, NgxListGroupItemDirective, NgxLoadingIndicatorComponent, NgxLoadingIndicatorService, NgxLog, NgxModalComponent, NgxModalService, NgxOffCanvasComponent, NgxTabComponent, NgxTabContentComponent, NgxTabsComponent, NgxToastComponent, NgxToastService, NgxTooltipDirective, ngxDateAfterValidator, ngxMatchValidator, ngxTimeAfterValidator };
|
|
1256
1354
|
//# sourceMappingURL=ngx-gccb.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-gccb.mjs","sources":["../../../projects/ngx-gccb/src/lib/animations/ngx-fade-right.animation.ts","../../../projects/ngx-gccb/src/lib/animations/ngx-fade-up.animation.ts","../../../projects/ngx-gccb/src/lib/components/ngx-date-picker/ngx-date-picker.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-date-picker/ngx-date-picker.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form-control.ts","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form-errors/ngx-form-errors.component.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-autofocus.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-button.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-card-body.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-card-header.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-card.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-col.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-dropdown.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-group.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-input.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-label.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-select.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-icon-button.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-list-group-item-avatar.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-list-group-item.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-list-group.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-tooltip.directive.ts","../../../projects/ngx-gccb/src/lib/pipe/ngx-as-form-control.pipe.ts","../../../projects/ngx-gccb/src/lib/pipe/ngx-is-form-control.pipe.ts","../../../projects/ngx-gccb/src/lib/pipe/ngx-is-form-group.pipe.ts","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-loading-indicator/ngx-loading-indicator.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-loading-indicator/ngx-loading-indicator.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-modal/ngx-base-modal.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-modal/ngx-modal.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-modal/ngx-modal.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-off-canvas/ngx-off-canvas.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-off-canvas/ngx-off-canvas.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab-content.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab-content.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tabs.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tabs.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-toast/ngx-toast.component.ts","../../../projects/ngx-gccb/src/lib/decorators/ngx-class.decorator.ts","../../../projects/ngx-gccb/src/lib/enums/ngx-logtype.enum.ts","../../../projects/ngx-gccb/src/lib/decorators/ngx-log.decorator.ts","../../../projects/ngx-gccb/src/lib/services/ngx-image.service.ts","../../../projects/ngx-gccb/src/lib/services/ngx-loading-indicator.service.ts","../../../projects/ngx-gccb/src/lib/services/ngx-modal.service.ts","../../../projects/ngx-gccb/src/lib/services/ngx-toast.service.ts","../../../projects/ngx-gccb/src/lib/validators/ngx-dateAfter.validator.ts","../../../projects/ngx-gccb/src/lib/validators/ngx-match.validator.ts","../../../projects/ngx-gccb/src/lib/validators/ngx-timeAfter.validator.ts","../../../projects/ngx-gccb/src/ngx-gccb.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\nexport const NgxFadeRightAnimation: AnimationTriggerMetadata = trigger('ngxFadeRightAnimation', [\n\ttransition(':enter', [\n\t\tstyle({ transform: 'translateX(-100%)', zIndex: 9999 }),\n\t\tanimate('200ms ease-in', style({ transform: 'translateX(0%)' })),\n\t]),\n\ttransition(':leave', [animate('200ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n]);\n","import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\nexport const NgxFadeAnimation: AnimationTriggerMetadata = trigger('ngxFadeAnimation', [\n\ttransition(':enter', [\n\t\tstyle({ opacity: 0, transform: 'translateY(10px)' }),\n\t\tanimate('500ms', style({ opacity: 1, transform: 'translateY(0)' })),\n\t]),\n\ttransition(':leave', [animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' }))]),\n]);\n","/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-date-picker',\n\ttemplateUrl: './ngx-date-picker.component.html',\n\timports: [CommonModule],\n})\nexport class DatePickerComponent implements OnInit {\n\tcurrentDate: Date = new Date();\n\n\t// eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method\n\tngOnInit(): void {\n\t\t// const firstDayOfMonth: Date = this.currentDate.firstDayOfMonth();\n\t\t// console.warn(firstDayOfMonth, firstDayOfMonth.getDate(), firstDayOfMonth.getDay());\n\t\t// const weekCount: number = getWeekCount(this.currentDate.getFullYear(), this.currentDate.getMonth(), DayOfWeek.Monday);\n\t\t// console.warn(weekCount);\n\t\t// const weeks: unknown[] = [];\n\t\t// for (let i: number = 0; i <= weekCount; i++) {\n\t\t// for(let){\n\t\t// }\n\t\t// }\n\t}\n}\n\n// enum DayOfWeek {\n// \t'Sunday' = 0,\n// \t'Monday' = 1,\n// \t'Tuesday' = 2,\n// \t'Wednesday' = 3,\n// \t'Thursday' = 4,\n// \t'Friday' = 5,\n// \t'Saturday' = 6,\n// }\n\n// function getWeekCount(year: number, month: number, startDayOfWeek: DayOfWeek): number {\n// \t// month_number is in the range 0..11\n\n// \t// Get the first day of week week day (0: Sunday, 1: Monday, ...)\n// \tconst firstDayOfWeek: DayOfWeek = startDayOfWeek || DayOfWeek.Sunday;\n// \tconst firstOfMonth: Date = new Date(year, month, 1);\n// \tconst lastOfMonth: Date = new Date(year, month + 1, 0);\n// \tconst numberOfDaysInMonth: number = lastOfMonth.getDate();\n// \tconst firstWeekDay: number = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;\n// \tconst used: number = firstWeekDay + numberOfDaysInMonth;\n\n// \treturn Math.ceil(used / 7);\n// }\n","coming soon\n","import {\n\tAbstractControlOptions,\n\tAsyncValidatorFn,\n\tUntypedFormControl,\n\tUntypedFormGroup,\n\tValidatorFn,\n} from '@angular/forms';\nimport { ICustomConfig, IOption } from './ngx-form.interfaces';\n\nexport class NgxFormGroup extends UntypedFormGroup {\n\toverride controls!: {\n\t\t[key: string]: NgxFormControl | NgxFormGroup;\n\t};\n}\n\nexport class NgxFormControl extends UntypedFormControl {\n\tcustomConfig?: ICustomConfig;\n\n\tconstructor(\n\t\tformState: unknown,\n\t\tvalidatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions,\n\t\tasyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null,\n\t\tcustomConfig?: ICustomConfig\n\t) {\n\t\tsuper(formState, validatorOrOpts, asyncValidator);\n\t\tthis.customConfig = customConfig;\n\t}\n\n\tupdateSelecOptions(options: IOption[]): void {\n\t\tif (this.customConfig?.selectConfig?.options) {\n\t\t\tthis.customConfig.selectConfig.options = [...options];\n\t\t}\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, input, InputSignal, Signal } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\n@Component({\n\tselector: 'ngx-form-errors',\n\ttemplate: `\n\t\t@if (errorMessages()) {\n\t\t\t<div class=\"invalid-feedback d-block\">\n\t\t\t\t@for (errorMessage of errorMessages(); track $index) {\n\t\t\t\t\t<div>{{ errorMessage }}</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t`,\n\timports: [CommonModule],\n})\nexport class NgxFormErrorsComponent {\n\tisDirty: InputSignal<boolean> = input(false);\n\terrors: InputSignal<ValidationErrors | null> = input<ValidationErrors | null>(null);\n\n\terrorMessages: Signal<string[]> = computed(() => {\n\t\tconst result: string[] = [];\n\t\tif (this.isDirty() && this.errors()) {\n\t\t\tfor (const key in this.errors()) {\n\t\t\t\tif (this.errorMessageDictionary[key]) {\n\t\t\t\t\tresult.push(this.errorMessageDictionary[key](this.errors() as ValidationErrors));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t});\n\n\terrorMessageDictionary: IErrorMessage = {\n\t\trequired: () => 'Field is required',\n\t\trequiredTrue: () => 'Field is required',\n\t\temail: () => 'Invalid E-Mail',\n\t\tmin: (errors: ValidationErrors) => `At least ${errors['min']?.requiredLength} characters are required`,\n\t\tminlength: (errors: ValidationErrors) =>\n\t\t\t`At least ${errors['minlength']?.requiredLength} characters are required`,\n\t\tmax: (errors: ValidationErrors) => `Maximum of ${errors['max']?.requiredLength} characters exceeded`,\n\t\tmaxlength: (errors: ValidationErrors) =>\n\t\t\t`Maximum of ${errors['maxlength']?.requiredLength} characters exceeded`,\n\t\tpattern: () => `Input does not match pattern`,\n\t\tdateAfterInvalid: (errors: ValidationErrors) => `Date must be after ${errors?.['startDateValue']}`,\n\t\tmatch: () => `Input does not match!`,\n\t\ttimeAfterError: (errors: ValidationErrors) => `The time must be after ${errors?.['timeAfterError']}`,\n\t};\n}\n\ninterface IErrorMessage {\n\t[key: string]: (error: ValidationErrors) => string;\n}\n","import { AfterViewInit, Directive, ElementRef, inject, input, InputSignal, NgZone } from '@angular/core';\n\n@Directive({ selector: '[ngxAutofocus]' })\nexport class NgxAutofocusDirective implements AfterViewInit {\n\tprivate readonly ngZone: NgZone = inject(NgZone);\n\tprivate readonly el: ElementRef = inject(ElementRef);\n\tngxAutofocus: InputSignal<boolean> = input(false);\n\n\tngAfterViewInit(): void {\n\t\tif (this.ngxAutofocus()) {\n\t\t\tthis.ngZone.runOutsideAngular(() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.el.nativeElement.focus();\n\t\t\t\t}, 0);\n\t\t\t});\n\t\t}\n\t}\n}\n","import { Directive, ElementRef, HostListener, Input, InputSignal, OnInit, inject, input } from '@angular/core';\n\n@Directive({ selector: 'button[ngxButton]' })\nexport class NgxButtonDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLButtonElement> = inject(ElementRef<HTMLButtonElement>);\n\ttype: InputSignal<string | undefined> = input();\n\n\tcolor!: string;\n\t_variant: string = 'contained';\n\n\t@HostListener('focus', ['$event']) onFocus(): void {\n\t\tthis.isFocused = true;\n\t}\n\n\t@HostListener('blur', ['$event']) onblur(): void {\n\t\tthis.isFocused = false;\n\t}\n\n\tset isFocused(val: boolean) {\n\t\tif (val) {\n\t\t\tthis.elementRef.nativeElement.classList.add(`focus-ring-${this.color}`);\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove(`focus-ring-${this.color}`);\n\t\t}\n\t}\n\n\t@Input('ngxButton') set ngxButton(val: string) {\n\t\tthis.color = val || 'primary';\n\t}\n\n\t@Input() set variant(val: 'contained' | 'outline' | 'text') {\n\t\tthis._variant = val;\n\t}\n\n\t@Input() set size(val: string) {\n\t\tthis.elementRef.nativeElement.classList.add(`btn-${val || 'sm'}`);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('btn');\n\t\tthis.elementRef.nativeElement.setAttribute('type', this.type() ?? 'button');\n\n\t\tif (this._variant === 'outline' || this._variant === 'text') {\n\t\t\tthis.elementRef.nativeElement.classList.add(`btn-${this._variant}-${this.color}`);\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.add(`btn-${this.color}`);\n\t\t}\n\t\tthis.elementRef.nativeElement.classList.add('flex-shrink-0');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxCardBody]' })\nexport class NgxCardBodyDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('card-body');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxCardHeader]' })\nexport class NgxCardHeaderDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('card-header');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxCard]' })\nexport class NgxCardDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('card');\n\t}\n}\n","import { AfterViewInit, Directive, ElementRef, inject, Input } from '@angular/core';\n\n@Directive({ selector: '[ngxCol]' })\nexport class NgxColDirective implements AfterViewInit {\n\tprivate readonly el: ElementRef = inject(ElementRef);\n\tspan: string = 'col';\n\n\t@Input() set col(val: string | null) {\n\t\tif (val) {\n\t\t\tthis.span = val;\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\t(this.el.nativeElement as HTMLElement).classList.add(this.span);\n\t}\n}\n","import {\n\tDirective,\n\tElementRef,\n\tEmbeddedViewRef,\n\tHostListener,\n\tinject,\n\tInput,\n\tOnInit,\n\tRenderer2,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { createPopper, Instance, Placement } from '@popperjs/core';\n\n@Directive({ selector: '[ngxDropdown]' })\nexport class NgxDropdownDirective implements OnInit {\n\t@Input('ngxDropdown') dropdownTemplate!: TemplateRef<unknown>;\n\t@Input() placement: Placement = 'bottom-start';\n\n\tprivate readonly elementRef: ElementRef = inject(ElementRef);\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\tprivate readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n\tprivate wrapperElement!: HTMLElement | null;\n\tprivate dropdownContent!: HTMLElement | null;\n\tprivate isDropdownVisible: boolean = false;\n\tprivate popperInstance?: Instance;\n\n\tngOnInit(): void {\n\t\tif (!this.wrapperElement) {\n\t\t\tthis.wrapperElement = this.renderer.createElement('div');\n\t\t\tthis.renderer.addClass(this.wrapperElement, 'dropdown');\n\t\t\tconst parent: HTMLElement = this.elementRef.nativeElement.parentNode;\n\t\t\tthis.renderer.insertBefore(parent, this.wrapperElement, this.elementRef.nativeElement);\n\t\t\tthis.renderer.appendChild(this.wrapperElement, this.elementRef.nativeElement);\n\t\t}\n\t}\n\n\t@HostListener('click')\n\ttoggleDropdown(): void {\n\t\tif (this.isDropdownVisible) {\n\t\t\tthis.closeDropdown();\n\t\t} else {\n\t\t\tthis.openDropdown();\n\t\t}\n\t}\n\n\t@HostListener('document:click', ['$event'])\n\tonDocumentClick(event: MouseEvent): void {\n\t\tif (\n\t\t\tthis.isDropdownVisible &&\n\t\t\tthis.wrapperElement &&\n\t\t\t!this.wrapperElement.contains(event.target as Node) &&\n\t\t\t!this.elementRef.nativeElement.contains(event.target as Node)\n\t\t) {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n\tprivate openDropdown(): void {\n\t\tif (!this.dropdownContent && this.wrapperElement) {\n\t\t\tconst dropdownView: EmbeddedViewRef<unknown> = this.viewContainerRef.createEmbeddedView(\n\t\t\t\tthis.dropdownTemplate\n\t\t\t);\n\t\t\tthis.dropdownContent = dropdownView.rootNodes[0];\n\t\t\tthis.renderer.appendChild(this.wrapperElement, this.dropdownContent);\n\n\t\t\tthis.addDropdownLinksListener();\n\n\t\t\tthis.popperInstance = createPopper(this.wrapperElement, this.dropdownContent!, {\n\t\t\t\tplacement: this.placement,\n\t\t\t\tmodifiers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'offset',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\toffset: ({ placement }: { placement: Placement }): number[] => {\n\t\t\t\t\t\t\t\tif (placement.startsWith('bottom')) {\n\t\t\t\t\t\t\t\t\treturn [0, -(this.wrapperElement?.offsetHeight as number)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (placement.startsWith('top')) {\n\t\t\t\t\t\t\t\t\treturn [0, -(this.wrapperElement?.offsetHeight as number)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (placement.startsWith('left')) {\n\t\t\t\t\t\t\t\t\treturn [0, -(this.wrapperElement?.offsetWidth as number)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn [0, 0];\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'flip',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tfallbackPlacements: ['right-start', 'top-start', 'left-start'],\n\t\t\t\t\t\t\tboundary: 'viewport',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'preventOverflow',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tboundary: 'viewport',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\ttether: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t}\n\n\t\tthis.isDropdownVisible = true;\n\t}\n\n\tprivate closeDropdown(): void {\n\t\tif (this.dropdownContent) {\n\t\t\tthis.viewContainerRef.clear();\n\t\t\tthis.dropdownContent = null;\n\t\t\tthis.popperInstance?.destroy();\n\t\t}\n\t\tthis.isDropdownVisible = false;\n\t}\n\n\tprivate addDropdownLinksListener(): void {\n\t\tconst links: NodeListOf<Element> | undefined = this.dropdownContent?.querySelectorAll('.dropdown-item');\n\t\tlinks?.forEach(link => {\n\t\t\tthis.renderer.listen(link, 'click', () => {\n\t\t\t\tthis.closeDropdown();\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive, input, InputSignal } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { NgxFormControl, NgxFormGroup } from '../components/ngx-form/ngx-form-control';\n\n@Directive({\n\tselector: '[ngxFormGroup]',\n\texportAs: 'ngxFormGroup',\n})\nexport class NgxFormGroupDirective {\n\tformGroup: InputSignal<NgxFormGroup | FormGroup> = input.required();\n\tvalidateOnChange: InputSignal<boolean> = input(true);\n\n\tvalidateForm(): void {\n\t\tObject.keys(this.formGroup().controls).forEach(key => {\n\t\t\tconst control: AbstractControl | null = this.formGroup().get(key);\n\t\t\tif (control instanceof NgxFormControl || control instanceof FormControl) {\n\t\t\t\tthis.formGroup().get(key)?.markAsTouched({ onlySelf: true });\n\t\t\t\tthis.formGroup().get(key)?.markAsDirty({ onlySelf: true });\n\t\t\t\tthis.formGroup().get(key)?.updateValueAndValidity({ onlySelf: true });\n\t\t\t} else if (control instanceof NgxFormGroup || control instanceof FormGroup) {\n\t\t\t\tObject.keys(control.controls).forEach(subKey => {\n\t\t\t\t\tcontrol.get(subKey)?.markAsTouched({ onlySelf: true });\n\t\t\t\t\tcontrol.get(subKey)?.markAsDirty({ onlySelf: true });\n\t\t\t\t\tcontrol.get(subKey)?.updateValueAndValidity({ onlySelf: true });\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tresetForm(): void {\n\t\tthis.formGroup().setErrors({});\n\t\tthis.formGroup().reset();\n\n\t\tObject.keys(this.formGroup().controls).forEach(key => {\n\t\t\tthis.formGroup().get(key)?.markAsUntouched({ onlySelf: true });\n\t\t});\n\t}\n}\n","import { Directive, ElementRef, InputSignal, OnInit, Renderer2, effect, inject, input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { debounceTime } from 'rxjs';\n\n@Directive({ selector: '[ngxFormInput]' })\nexport class NgxFormInputDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n\tprivate readonly renderer2: Renderer2 = inject(Renderer2);\n\n\tngxFormInput: InputSignal<string> = input.required();\n\tformControl: InputSignal<FormControl | undefined> = input();\n\tid: InputSignal<string | undefined> = input();\n\tname: InputSignal<string | undefined> = input();\n\ttype: InputSignal<string | undefined> = input();\n\tplaceholder: InputSignal<string | undefined> = input();\n\tisFloatingLabel: InputSignal<boolean> = input(true);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.checkIsValid();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.type() === 'select') {\n\t\t\tthis.elementRef.nativeElement.classList.add('form-select');\n\t\t} else if (this.type() === 'checkbox') {\n\t\t\tthis.elementRef.nativeElement.classList.add('form-check-input');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.add('form-control');\n\t\t}\n\n\t\tif (this.type()) {\n\t\t\tthis.elementRef.nativeElement.setAttribute('type', this.type()!);\n\t\t}\n\n\t\tthis.elementRef.nativeElement.setAttribute(\n\t\t\t'placeholder',\n\t\t\tthis.placeholder() ?? (this.name() || this.ngxFormInput())\n\t\t);\n\n\t\tif (this.id() ?? (this.name() || this.ngxFormInput())) {\n\t\t\tthis.elementRef.nativeElement.setAttribute('id', this.id() ?? (this.name() || this.ngxFormInput()));\n\t\t}\n\n\t\tthis.elementRef.nativeElement.setAttribute('name', this.name() || this.ngxFormInput());\n\n\t\tconst parent: ParentNode | null = this.elementRef.nativeElement.parentNode;\n\t\tif (this.isFloatingLabel() && this.type() !== 'checkbox') {\n\t\t\tthis.renderer2.addClass(parent, 'form-floating');\n\t\t} else {\n\t\t\tthis.renderer2.addClass(parent, 'form-check');\n\t\t}\n\n\t\tthis.formControl()\n\t\t\t?.valueChanges.pipe(debounceTime(100))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkIsValid();\n\t\t\t});\n\t}\n\n\tcheckIsValid(): void {\n\t\tif (this.formControl()?.touched && this.formControl()?.invalid) {\n\t\t\tthis.elementRef.nativeElement.classList.add('is-invalid');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('is-invalid');\n\t\t}\n\t}\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({ selector: 'label[ngxFormLabel]' })\nexport class NgxFormLabelDirective {\n\t@HostBinding('class')\n\telementClass: string = 'form-label';\n}\n","import { Directive, ElementRef, Input, OnInit, inject } from '@angular/core';\n\n@Directive({ selector: 'select[ngxFormSelect]' })\nexport class NgxFormSelectDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n\n\t@Input() set formInputInvalid(val: boolean) {\n\t\tif (val === true) {\n\t\t\tthis.elementRef.nativeElement.classList.add('is-invalid');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('is-invalid');\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('form-select');\n\t}\n}\n","import { Directive, ElementRef, Input, OnInit, inject } from '@angular/core';\n\n@Directive({ selector: 'button[ngxIconButton]' })\nexport class NgxIconButtonDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLButtonElement> = inject(\n\t\tElementRef<HTMLButtonElement>\n\t);\n\tcolor!: string;\n\n\t@Input('ngxIconButton') set appIconButton(val: string) {\n\t\tthis.color = val || 'primary';\n\t\tthis.elementRef.nativeElement.classList.add(`icon-button-${this.color}`);\n\t}\n\n\t@Input() set shadow(val: boolean) {\n\t\tif (val === true || val === undefined) {\n\t\t\tthis.elementRef.nativeElement.classList.add('shadow-sm');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('shadow-sm');\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('btn', 'icon-button');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxListGroupItemAvatar]' })\nexport class NgxListGroupItemAvatarDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('list-group-item-avatar');\n\t}\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, inject } from '@angular/core';\n\n@Directive({ selector: 'li[ngxListGroupItem]' })\nexport class NgxListGroupItemDirective implements OnInit {\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\t_isActive: boolean = false;\n\t@Input() set isActive(val: boolean) {\n\t\tthis._isActive = val;\n\t\tif (val) {\n\t\t\tthis.elementRef.nativeElement.classList.add('focus-active');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('focus-active');\n\t\t}\n\t}\n\n\t@Output() onOutsideClick: EventEmitter<void> = new EventEmitter<void>();\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('list-group-item');\n\t\tthis.elementRef.nativeElement.classList.add('list-group-item-action');\n\t\tthis.elementRef.nativeElement.classList.add('d-flex', 'flex-row', 'align-items-center');\n\n\t\tthis.renderer.listen('window', 'click', (e: Event) => {\n\t\t\tif (e.target !== this.elementRef.nativeElement) {\n\t\t\t\tthis._isActive = false;\n\t\t\t\tthis.elementRef.nativeElement.classList.remove('focus-active');\n\t\t\t\tthis.onOutsideClick.next();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\n\n@Directive({ selector: 'ul[ngxListGroup]' })\nexport class NgxListGroupDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('list-group');\n\t\tthis.elementRef.nativeElement.classList.add('list-group-flush');\n\t}\n}\n","import {\n\tDirective,\n\tElementRef,\n\tEmbeddedViewRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tInputSignal,\n\tOnDestroy,\n\tOnInit,\n\tRenderer2,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { createPopper, Instance, Placement } from '@popperjs/core';\n\nexport enum TooltipTrigger {\n\thover = 'hover',\n\tmanual = 'manual',\n}\n\n@Directive({ selector: '[ngxTooltip]', exportAs: 'ngxTooltip' })\nexport class NgxTooltipDirective implements OnInit, OnDestroy {\n\tprivate readonly elementRef: ElementRef = inject(ElementRef);\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\tprivate readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n\tngxTooltip: InputSignal<string | TemplateRef<unknown>> = input.required();\n\tplacement: InputSignal<Placement> = input<Placement>('top');\n\tisShow: InputSignal<boolean> = input<boolean>(false);\n\tcloseOnLeave: InputSignal<boolean> = input<boolean>(true);\n\txOffset: InputSignal<number> = input<number>(0);\n\tyOffset: InputSignal<number> = input<number>(8);\n\tdelay: InputSignal<number> = input<number>(200);\n\ttrigger: InputSignal<TooltipTrigger> = input<TooltipTrigger>(TooltipTrigger.hover);\n\n\tprivate popperInstance?: Instance;\n\tprivate tooltipElement!: HTMLElement | null;\n\tprivate mutationObserver?: MutationObserver;\n\tprivate mutationTimeout?: number;\n\tprivate openTimeout?: number;\n\tprivate closeTimeout?: number;\n\tprivate isOpen: boolean = false;\n\n\tngOnInit(): void {\n\t\tif (this.isShow()) {\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.hide();\n\t}\n\n\t@HostListener('mouseenter')\n\tonHover(): void {\n\t\tif (this.trigger() === TooltipTrigger.hover) {\n\t\t\tclearTimeout(this.closeTimeout);\n\t\t\tthis.openTimeout = window.setTimeout(() => this.init(), this.delay());\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\tonLeave(): void {\n\t\tif (this.trigger() === TooltipTrigger.hover) {\n\t\t\tclearTimeout(this.openTimeout);\n\t\t\tif (this.closeOnLeave()) {\n\t\t\t\tthis.closeTimeout = window.setTimeout(() => this.hide(), this.delay());\n\t\t\t}\n\t\t}\n\t}\n\n\t@HostListener('document:click', ['$event'])\n\tonDocumentClick(event: MouseEvent): void {\n\t\tif (\n\t\t\tthis.isOpen &&\n\t\t\tthis.tooltipElement &&\n\t\t\t!this.tooltipElement.contains(event.target as Node) &&\n\t\t\t!this.elementRef.nativeElement.contains(event.target as Node) &&\n\t\t\tthis.trigger() === TooltipTrigger.hover\n\t\t) {\n\t\t\tthis.closeTimeout = window.setTimeout(() => this.hide(), this.delay());\n\t\t}\n\t}\n\n\tshow(): void {\n\t\tthis.init();\n\t}\n\n\tprivate init(): void {\n\t\tif (!this.tooltipElement) {\n\t\t\tthis.tooltipElement = this.renderer.createElement('div');\n\t\t\tthis.renderer.addClass(this.tooltipElement, 'tooltip');\n\t\t\tthis.renderer.addClass(this.tooltipElement, 'show');\n\n\t\t\tif (this.ngxTooltip() instanceof TemplateRef) {\n\t\t\t\tthis.renderTemplate(this.ngxTooltip() as TemplateRef<unknown>);\n\t\t\t} else {\n\t\t\t\tthis.renderText(this.ngxTooltip() as string);\n\t\t\t}\n\n\t\t\tthis.renderer.appendChild(document.body, this.tooltipElement);\n\n\t\t\tconst arrowDiv: HTMLDivElement = this.renderer.createElement('div');\n\t\t\tarrowDiv.setAttribute('id', 'arrow');\n\t\t\tarrowDiv.setAttribute('data-popper-arrow', '');\n\t\t\tthis.renderer.appendChild(this.tooltipElement, arrowDiv);\n\n\t\t\tthis.popperInstance = createPopper(this.elementRef.nativeElement, this.tooltipElement!, {\n\t\t\t\tplacement: this.placement(),\n\t\t\t\tmodifiers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'offset',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\toffset: [this.xOffset(), this.yOffset()],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\n\t\t\tthis.isOpen = true;\n\n\t\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t\tclearTimeout(this.mutationTimeout);\n\t\t\t\tthis.mutationTimeout = window.setTimeout(() => {\n\t\t\t\t\tvoid this.popperInstance?.update();\n\t\t\t\t}, 100);\n\t\t\t});\n\t\t\tthis.mutationObserver.observe(document.body, { childList: true, subtree: true });\n\t\t}\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tthis.renderer.appendChild(this.tooltipElement, this.renderer.createText(text));\n\t}\n\n\tprivate renderTemplate(templateRef: TemplateRef<unknown>): void {\n\t\tconst view: EmbeddedViewRef<unknown> = this.viewContainerRef.createEmbeddedView(templateRef);\n\t\tview.detectChanges();\n\t\tview.rootNodes.forEach(node => {\n\t\t\tthis.renderer.appendChild(this.tooltipElement, node);\n\t\t});\n\t}\n\n\thide(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.mutationObserver?.disconnect();\n\t\tclearTimeout(this.mutationTimeout);\n\t\tclearTimeout(this.openTimeout);\n\t\tclearTimeout(this.closeTimeout);\n\n\t\tif (this.popperInstance) {\n\t\t\tthis.popperInstance.destroy();\n\t\t\tthis.popperInstance = undefined;\n\t\t}\n\n\t\tif (this.tooltipElement) {\n\t\t\tthis.renderer.removeChild(document.body, this.tooltipElement);\n\t\t\tthis.tooltipElement = null;\n\t\t}\n\n\t\tthis.isOpen = false;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.hide();\n\t\t} else {\n\t\t\tthis.show();\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\n\n@Pipe({ name: 'ngxAsFormControl' })\nexport class NgxFormControlPipe implements PipeTransform {\n\ttransform(value: AbstractControl): FormControl<(typeof value)['value']> {\n\t\treturn value as FormControl<(typeof value)['value']>;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { NgxFormControl } from '../components/ngx-form/ngx-form-control';\n\n@Pipe({ name: 'appIsFormControl' })\nexport class AppIsFormControlPipe implements PipeTransform {\n\ttransform(value: AbstractControl): NgxFormControl {\n\t\treturn value as NgxFormControl;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { NgxFormGroup } from '../components/ngx-form/ngx-form-control';\n\n@Pipe({ name: 'ngxIsFormGroup' })\nexport class NgxIsFormGroupPipe implements PipeTransform {\n\ttransform(value: AbstractControl): NgxFormGroup {\n\t\treturn value as NgxFormGroup;\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, InputSignal, output, OutputEmitterRef, Signal, viewChild } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n\tNgxAutofocusDirective,\n\tNgxFormGroupDirective,\n\tNgxFormInputDirective,\n\tNgxFormLabelDirective,\n} from '../../directives';\nimport { AppIsFormControlPipe, NgxFormControlPipe, NgxIsFormGroupPipe } from '../../pipe';\nimport { NgxFormControl, NgxFormGroup } from './ngx-form-control';\nimport { NgxFormErrorsComponent } from './ngx-form-errors';\n\n@Component({\n\tselector: 'ngx-form',\n\ttemplateUrl: './ngx-form.component.html',\n\timports: [\n\t\tCommonModule,\n\t\tReactiveFormsModule,\n\t\tNgxFormControlPipe,\n\t\tNgxFormGroupDirective,\n\t\tNgxFormLabelDirective,\n\t\tNgxFormErrorsComponent,\n\t\tNgxFormInputDirective,\n\t\tAppIsFormControlPipe,\n\t\tNgxIsFormGroupPipe,\n\t\tNgxAutofocusDirective,\n\t],\n})\nexport class NgxFormComponent {\n\tformGroup: InputSignal<NgxFormGroup> = input.required();\n\tformGroupDir: Signal<NgxFormGroupDirective | undefined> = viewChild(NgxFormGroupDirective);\n\tonValidated: OutputEmitterRef<void> = output();\n\n\tisFormControl(control: NgxFormControl | NgxFormGroup): boolean {\n\t\treturn control instanceof NgxFormControl;\n\t}\n\n\tvalidate(): void {\n\t\tthis.formGroupDir()?.validateForm();\n\t\tthis.onValidated.emit();\n\t}\n\n\treset(): void {\n\t\tthis.formGroupDir()?.resetForm();\n\t}\n\n\tkeepOriginalOrder: (a: unknown, b: unknown) => number = (): number => 0;\n}\n","<form ngxFormGroup #formGroupDir=\"ngxFormGroup\" [formGroup]=\"formGroup()\">\n\t@for (control of formGroup().controls | keyvalue: keepOriginalOrder; track $index) {\n\t\t@if (isFormControl(control.value)) {\n\t\t\t<ng-container *ngTemplateOutlet=\"formField; context: { control: control }\" />\n\t\t} @else {\n\t\t\t<div ngxFormGroup [formGroup]=\"control.value | ngxIsFormGroup\" class=\"row\">\n\t\t\t\t@for (\n\t\t\t\t\tsubControl of (control.value | ngxIsFormGroup).controls | keyvalue: keepOriginalOrder;\n\t\t\t\t\ttrack $index\n\t\t\t\t) {\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"formField; context: { control: subControl }\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t}\n</form>\n\n<ng-template #formField let-control=\"control\">\n\t<div class=\"mb-3\">\n\t\t@switch ((control.value | appIsFormControl).customConfig?.type) {\n\t\t\t@case ('textarea') {\n\t\t\t\t<textarea\n\t\t\t\t\tngxFormInput\n\t\t\t\t\t[ngxAutofocus]=\"(control.value | appIsFormControl).customConfig?.autofocus || false\"\n\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t[formControl]=\"control.value | ngxAsFormControl\"\n\t\t\t\t\trows=\"3\">\n\t\t\t\t</textarea>\n\t\t\t}\n\n\t\t\t@case ('select') {\n\t\t\t\t<select\n\t\t\t\t\tngxFormInput\n\t\t\t\t\t[ngxAutofocus]=\"(control.value | appIsFormControl).customConfig?.autofocus || false\"\n\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t[formControl]=\"control.value | ngxAsFormControl\"\n\t\t\t\t\t(keydown.enter)=\"validate()\">\n\t\t\t\t\t<option value=\"\" disabled selected>Select your option</option>\n\t\t\t\t\t@for (\n\t\t\t\t\t\toption of (control.value | appIsFormControl).customConfig?.selectConfig?.options;\n\t\t\t\t\t\ttrack option.value\n\t\t\t\t\t) {\n\t\t\t\t\t\t<option [value]=\"option.value\" [disabled]=\"option.disabled\">\n\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t}\n\t\t\t\t</select>\n\t\t\t}\n\n\t\t\t@default {\n\t\t\t\t<input\n\t\t\t\t\tngxFormInput\n\t\t\t\t\t[ngxAutofocus]=\"(control.value | appIsFormControl).customConfig?.autofocus || false\"\n\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t[formControl]=\"control.value | ngxAsFormControl\"\n\t\t\t\t\t[type]=\"(control.value | appIsFormControl).customConfig?.type || 'text'\"\n\t\t\t\t\t[autocomplete]=\"\n\t\t\t\t\t\t(control.value | appIsFormControl).customConfig?.type === 'password'\n\t\t\t\t\t\t\t? 'new-password'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\"\n\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t}\n\t\t}\n\n\t\t<label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t{{ (control.value | appIsFormControl).customConfig?.label }}\n\t\t</label>\n\n\t\t<ngx-form-errors [errors]=\"control.value.errors\" [isDirty]=\"control.value.dirty\" />\n\t</div>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faSpinner, IconDefinition } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n\tselector: 'ngx-loading-indicator',\n\ttemplateUrl: './ngx-loading-indicator.component.html',\n\tstyles: `\n\t\t:host {\n\t\t\tposition: fixed;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translate(-50%, -50%);\n\t\t\tcolor: #495057;\n\t\t}\n\t`,\n\timports: [FontAwesomeModule],\n})\nexport class NgxLoadingIndicatorComponent {\n\tfaSpinner: IconDefinition = faSpinner;\n}\n","<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\"></fa-icon>\n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-base-modal',\n\ttemplate: ``,\n})\nexport class BaseModalComponent {}\n","import { CommonModule } from '@angular/common';\nimport { Component, effect, HostListener, input, InputSignal, output, OutputEmitterRef } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faTimes, IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { NgxAutofocusDirective } from '../../directives/ngx-autofocus.directive';\nimport { NgxIconButtonDirective } from '../../directives/ngx-icon-button.directive';\n\n@Component({\n\tselector: 'ngx-modal',\n\ttemplateUrl: './ngx-modal.component.html',\n\timports: [CommonModule, NgxIconButtonDirective, FontAwesomeModule, NgxAutofocusDirective],\n})\nexport class NgxModalComponent {\n\ttitle: InputSignal<string> = input('');\n\tshowClose: InputSignal<boolean> = input(true);\n\tfullScreen: InputSignal<boolean> = input(false);\n\n\tonClose: OutputEmitterRef<void> = output();\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this.fullScreen() === true) {\n\t\t\t\tthis.dialogCssClasses.push(`modal-fullscreen`);\n\t\t\t} else {\n\t\t\t\tthis.dialogCssClasses = this.dialogCssClasses.filter(cssClass => cssClass !== 'modal-fullscreen');\n\t\t\t}\n\t\t});\n\t}\n\n\tdialogCssClasses: string[] = [];\n\tfaTimes: IconDefinition = faTimes;\n\n\t@HostListener('document:keydown.escape', ['$event'])\n\thandleKeyboardEvent(): void {\n\t\tthis.onClose.emit();\n\t}\n\n\thandleClickClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","<div class=\"modal d-flex justify-content-center align-items-center\" [ngxAutofocus]=\"true\" tabindex=\"0\">\n\t<div class=\"modal-dialog\" [ngClass]=\"dialogCssClasses\">\n\t\t<div class=\"modal-content\">\n\t\t\t<div class=\"modal-header justify-content-between\">\n\t\t\t\t<h5 class=\"modal-title\">{{ title() }}</h5>\n\n\t\t\t\t@if (showClose()) {\n\t\t\t\t\t<button ngxIconButton=\"secondary\" class=\"ms-2\" (click)=\"handleClickClose()\">\n\t\t\t\t\t\t<fa-icon [icon]=\"faTimes\" />\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<ng-content select=\"[footer]\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"modal-backdrop fade show\"></div>\n","import { Component, input, InputSignal, output, OutputEmitterRef } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faTimes, IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { NgxIconButtonDirective } from '../../directives/ngx-icon-button.directive';\n\n@Component({\n\tselector: 'ngx-off-canvas',\n\ttemplateUrl: './ngx-off-canvas.component.html',\n\tstyles: `\n\t\t:host {\n\t\t\tz-index: 9999;\n\t\t\tdisplay: block;\n\t\t}\n\t`,\n\timports: [FontAwesomeModule, NgxIconButtonDirective],\n})\nexport class NgxOffCanvasComponent {\n\ttitle: InputSignal<string> = input('');\n\tonClose: OutputEmitterRef<void> = output();\n\n\tfaTimes: IconDefinition = faTimes;\n\n\thandleClickClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","<div class=\"offcanvas offcanvas-start show\" tabindex=\"-1\" id=\"offcanvas\" style=\"z-index: 1051\">\n\t<div class=\"offcanvas-header justify-content-between\">\n\t\t<h5 class=\"offcanvas-title\" id=\"offcanvasLabel\">{{ title() }}</h5>\n\t\t<button ngxIconButton=\"secondary\" class=\"ml-auto\" (click)=\"handleClickClose()\">\n\t\t\t<fa-icon [icon]=\"faTimes\" />\n\t\t</button>\n\t</div>\n\t<ng-content />\n</div>\n\n<div class=\"modal-backdrop fade show\" (click)=\"handleClickClose()\"></div>\n","import { CommonModule } from '@angular/common';\nimport { Component, model, ModelSignal } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-tab-content',\n\ttemplateUrl: './ngx-tab-content.component.html',\n\tstyleUrl: './ngx-tab-content.component.scss',\n\timports: [CommonModule],\n})\nexport class NgxTabContentComponent {\n\tisActive: ModelSignal<boolean> = model(false);\n}\n","<div class=\"tab-content\" [ngClass]=\"{ active: isActive() }\">\n\t<ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n\tComponent,\n\tHostListener,\n\tinput,\n\tInputSignal,\n\tmodel,\n\tModelSignal,\n\toutput,\n\tOutputEmitterRef,\n} from '@angular/core';\nimport { NgxTabContentComponent } from './ngx-tab-content.component';\n\n@Component({\n\tselector: 'ngx-tab',\n\ttemplateUrl: './ngx-tab.component.html',\n\tstyleUrl: './ngx-tab.component.scss',\n\timports: [CommonModule],\n})\nexport class NgxTabComponent {\n\tisActive: ModelSignal<boolean> = model(false);\n\ttarget: InputSignal<NgxTabContentComponent> = input.required();\n\n\tonSelected: OutputEmitterRef<void> = output<void>();\n\n\t@HostListener('click', ['$event.target'])\n\tonClick(): void {\n\t\tthis.onSelected.emit();\n\t}\n}\n","<div class=\"tab\" [ngClass]=\"{ active: isActive() }\" tabindex=\"0\">\n\t<ng-content />\n</div>\n","import { AfterContentInit, Component, contentChildren, Signal } from '@angular/core';\nimport { NgxTabContentComponent } from './ngx-tab-content.component';\nimport { NgxTabComponent } from './ngx-tab.component';\n\n@Component({\n\tselector: 'ngx-tabs',\n\ttemplateUrl: './ngx-tabs.component.html',\n\tstyleUrl: './ngx-tabs.component.scss',\n})\nexport class NgxTabsComponent implements AfterContentInit {\n\ttabQueryList: Signal<readonly NgxTabComponent[]> = contentChildren(NgxTabComponent);\n\ttabContentQueryList: Signal<readonly NgxTabContentComponent[]> =\n\t\tcontentChildren(NgxTabContentComponent);\n\n\tngAfterContentInit(): void {\n\t\tthis.tabQueryList().forEach(tab => {\n\t\t\ttab.onSelected.subscribe(() => this.selectTab(tab));\n\t\t});\n\n\t\tconst firstActiveTab: NgxTabComponent | undefined = this.tabQueryList().find(tab =>\n\t\t\ttab.isActive()\n\t\t);\n\t\tif (firstActiveTab) {\n\t\t\tthis.selectTab(firstActiveTab);\n\t\t} else if (this.tabQueryList().length > 0) {\n\t\t\tthis.selectTab(this.tabQueryList()[0]);\n\t\t}\n\t}\n\n\tselectTab(tabComponent: NgxTabComponent): void {\n\t\tthis.tabQueryList().forEach(tab => tab.isActive.update(() => tab === tabComponent));\n\t\tthis.tabContentQueryList().forEach(tabContent =>\n\t\t\ttabContent.isActive.update(() => tabContent === tabComponent.target())\n\t\t);\n\t}\n}\n","<div class=\"tabs\">\n\t<ng-content select=\"ngx-tab\" />\n</div>\n<div class=\"tab-contents\">\n\t<ng-content select=\"ngx-tab-content\" />\n</div>\n","import { Component, Input, output, OutputEmitterRef } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-toast',\n\ttemplate: `\n\t\t<div class=\"toast align-items-center text-bg-dark border-0 show\">\n\t\t\t<div class=\"d-flex\">\n\t\t\t\t<div class=\"toast-body\" [innerHTML]=\"message\"></div>\n\t\t\t\t<button class=\"btn-close btn-close-white me-2 m-auto\" (click)=\"onClose.emit()\"></button>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tstyles: `\n\t\t:host {\n\t\t\tposition: fixed;\n\t\t\tbottom: 20px;\n\t\t\tleft: 50%;\n\t\t\ttransform: translate(-50%);\n\t\t\tz-index: 1051;\n\t\t}\n\t`,\n})\nexport class NgxToastComponent {\n\t@Input() message?: string;\n\tonClose: OutputEmitterRef<void> = output();\n}\n","import { NgxDecoratorClassType } from './ngx-decorator.types';\n\nexport const NgxClass =\n\t(className: string): NgxDecoratorClassType =>\n\t<T extends abstract new (...args: unknown[]) => unknown>(obj: T): void => {\n\t\tObject.defineProperty(obj.prototype, 'className', {\n\t\t\tvalue: className,\n\t\t\twritable: false,\n\t\t});\n\t};\n","export enum LogType {\n\tlog = 'log',\n\tinfo = 'info',\n\twarn = 'warn',\n\tdebug = 'debug',\n\terror = 'error',\n}\n","/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { LogType } from '../enums';\nimport { NgxDecoratorMethodType } from './ngx-decorator.types';\n\nexport function NgxLog(\n\tmethodName?: string,\n\tlogType: LogType = LogType.log,\n\tlogArgs: boolean = false\n): NgxDecoratorMethodType {\n\treturn function (\n\t\ttarget: object,\n\t\tkey: string | symbol,\n\t\tdescriptor: PropertyDescriptor\n\t): PropertyDescriptor {\n\t\tconst originalMethod: (...args: unknown[]) => unknown = descriptor.value as (\n\t\t\t...args: unknown[]\n\t\t) => unknown;\n\n\t\tdescriptor.value = function (...args: unknown[]): unknown {\n\t\t\tconst className: string = target.constructor.name;\n\t\t\tconst newMethodName: string = methodName || key.toString();\n\n\t\t\tconst logStatements: unknown[] = [className, newMethodName, ...(logArgs ? args : [])];\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole[logType](...logStatements);\n\n\t\t\treturn originalMethod.apply(this, args);\n\t\t};\n\n\t\treturn descriptor;\n\t};\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxImageService {\n\tasync compress(imageBase64: string, quality: number = 0.8, fileType: string = 'image/jpeg'): Promise<string> {\n\t\tconst img: HTMLImageElement = await this.load(imageBase64);\n\t\tconst canvas: HTMLCanvasElement = this.createCanvas();\n\t\tthis.drawImage(canvas, img);\n\t\treturn canvas.toDataURL(fileType, quality);\n\t}\n\n\tasync toBlob(imageBase64: string, quality: number = 1, fileType: string = 'image/jpeg'): Promise<Blob> {\n\t\tconst img: HTMLImageElement = await this.load(imageBase64);\n\t\tconst canvas: HTMLCanvasElement = this.createCanvas();\n\t\tthis.drawImage(canvas, img);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tcanvas.toBlob(\n\t\t\t\tblob => {\n\t\t\t\t\tif (blob) {\n\t\t\t\t\t\tresolve(blob);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject('Error on converting image to blob');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfileType,\n\t\t\t\tquality\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate load(imageBase64: string): Promise<HTMLImageElement> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst img: HTMLImageElement = new Image();\n\t\t\timg.onload = (): void => resolve(img);\n\t\t\timg.onerror = (event): void => reject(event);\n\t\t\timg.src = imageBase64;\n\t\t});\n\t}\n\n\tprivate createCanvas(): HTMLCanvasElement {\n\t\treturn document.createElement('canvas');\n\t}\n\n\tprivate drawImage(canvas: HTMLCanvasElement, img: HTMLImageElement): void {\n\t\tconst context: CanvasRenderingContext2D = canvas.getContext('2d')!;\n\t\tcanvas.width = img.width;\n\t\tcanvas.height = img.height;\n\t\tcontext.drawImage(img, 0, 0, canvas.width, canvas.height);\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxLoadingIndicatorService {\n\tshow: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\n\thide: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\n}\n","import { ComponentRef, EmbeddedViewRef, Injectable, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { BaseModalComponent, NgxModalComponent } from '../components';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxModalService {\n\tviewContainerRef!: ViewContainerRef;\n\tcomponentRef!: ComponentRef<unknown>;\n\n\tinit(viewContainerRef: ViewContainerRef): void {\n\t\tif (!viewContainerRef) {\n\t\t\tthrow new Error('viewContainerRef needs to be defined!');\n\t\t}\n\t\tthis.viewContainerRef = viewContainerRef;\n\t}\n\n\tshowTemplate(templateRef: TemplateRef<NgxModalComponent>): EmbeddedViewRef<NgxModalComponent> {\n\t\tif (!this.viewContainerRef) {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t\treturn this.viewContainerRef.createEmbeddedView(templateRef);\n\t}\n\n\tcreateComponent<T extends BaseModalComponent>(component: Type<T>): ComponentRef<T> {\n\t\tif (!this.viewContainerRef) {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t\treturn this.viewContainerRef.createComponent(component);\n\t}\n\n\thide(): void {\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t}\n}\n","import { ComponentRef, Injectable, ViewContainerRef } from '@angular/core';\nimport { NgxToastComponent } from '../components';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxToastService {\n\tviewContainerRef!: ViewContainerRef;\n\tcomponentRef!: ComponentRef<NgxToastComponent>;\n\tinterval: number | undefined;\n\n\tinit(viewContainer: ViewContainerRef): void {\n\t\tif (!viewContainer) {\n\t\t\tthrow new Error('viewContainerRef needs to be defined!');\n\t\t}\n\t\tthis.viewContainerRef = viewContainer;\n\t}\n\n\tshow(message: string, timeout: number = 1500): void {\n\t\tif (this.viewContainerRef) {\n\t\t\tif (this.componentRef) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(NgxToastComponent);\n\t\t\tthis.componentRef.instance.message = message;\n\t\t\tthis.componentRef.instance.onClose.subscribe(() => {\n\t\t\t\tthis.hide();\n\t\t\t});\n\n\t\t\tthis.interval = window.setTimeout(() => {\n\t\t\t\tthis.hide();\n\t\t\t}, timeout);\n\t\t} else {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t}\n\n\thide(): void {\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t\tif (this.interval) {\n\t\t\tclearTimeout(this.interval);\n\t\t}\n\t}\n}\n","import { AbstractControl, FormArray, FormGroup, ValidationErrors } from '@angular/forms';\n\nexport function ngxDateAfterValidator<T extends { [key: string]: AbstractControl }>(\n\tstartDateControlKey: keyof T & string\n): (control: AbstractControl) => ValidationErrors | null {\n\treturn (endDateControl: AbstractControl): ValidationErrors | null => {\n\t\tlet result: ValidationErrors | null = null;\n\n\t\tconst formGroup: FormGroup<T> | FormArray | null = endDateControl.parent;\n\t\tif (formGroup) {\n\t\t\tconst startDate: string | undefined = (formGroup as FormGroup).get(\n\t\t\t\tstartDateControlKey\n\t\t\t)?.value;\n\t\t\tconst endDate: string = endDateControl.value;\n\n\t\t\tif (!startDate || !endDate) {\n\t\t\t\tresult = null;\n\t\t\t} else {\n\t\t\t\tconst start: Date = new Date(startDate);\n\t\t\t\tconst end: Date = new Date(endDate);\n\n\t\t\t\tresult = start < end ? null : { dateAfterInvalid: true, startDateValue: startDate };\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t};\n}\n","import { AbstractControl, FormArray, FormGroup, ValidationErrors } from '@angular/forms';\n\nexport function ngxMatchValidator<T extends { [key: string]: AbstractControl }>(\n\ttoMatchControlKey: keyof T & string\n): (control: AbstractControl) => ValidationErrors | null {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tlet result: ValidationErrors | null = null;\n\n\t\tconst formGroup: FormGroup<T> | FormArray | null = control.parent;\n\t\tif (formGroup) {\n\t\t\tconst toMatchValue: unknown = (formGroup as FormGroup).get(toMatchControlKey)?.value;\n\t\t\tconst currentValue: unknown = control.value;\n\n\t\t\tif (!toMatchValue || !currentValue) {\n\t\t\t\tresult = null;\n\t\t\t} else {\n\t\t\t\tresult = toMatchValue === currentValue ? null : { match: true };\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t};\n}\n","import {\n\tAbstractControl,\n\tFormArray,\n\tFormGroup,\n\tValidationErrors,\n\tValidatorFn,\n} from '@angular/forms';\n\nexport function ngxTimeAfterValidator<T extends { [key: string]: AbstractControl }>(\n\tstartTimeControlKey: keyof T & string\n): ValidatorFn {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tlet result: ValidationErrors | null = null;\n\n\t\tconst formGroup: FormGroup<T> | FormArray | null = control.parent;\n\t\tif (formGroup) {\n\t\t\tconst startTimeControl: AbstractControl | null = (formGroup as FormGroup).get(\n\t\t\t\tstartTimeControlKey\n\t\t\t);\n\t\t\tif (startTimeControl) {\n\t\t\t\tif (!control.value || !startTimeControl.value) {\n\t\t\t\t\tresult = null; // Keine Validierung, wenn entweder Start- oder Endzeit fehlt\n\t\t\t\t}\n\n\t\t\t\tconst startTime: string = startTimeControl.value;\n\t\t\t\tconst endTime: string = control.value;\n\n\t\t\t\t// Umwandlung der Zeit in Minuten (z.B. 20:00 Uhr = 1200 Minuten)\n\t\t\t\tif (startTime && endTime) {\n\t\t\t\t\tconst startMinutes: number = convertToMinutes(startTime);\n\t\t\t\t\tconst endMinutes: number = convertToMinutes(endTime);\n\t\t\t\t\tif (endMinutes <= startMinutes) {\n\t\t\t\t\t\tresult = { timeAfterError: startTimeControl.value };\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t};\n}\n\n// Funktion zur Umwandlung von Zeit in Minuten\nfunction convertToMinutes(time: string): number {\n\tconst [hours, minutes] = time.split(':').map(Number);\n\treturn hours * 60 + minutes;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-gccb.mjs","sources":["../../../projects/ngx-gccb/src/lib/animations/ngx-fade-right.animation.ts","../../../projects/ngx-gccb/src/lib/animations/ngx-fade-up.animation.ts","../../../projects/ngx-gccb/src/lib/components/ngx-date-picker/ngx-date-picker.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-date-picker/ngx-date-picker.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form-control.ts","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form-errors/ngx-form-errors.component.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-autofocus.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-button.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-card-body.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-card-header.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-card.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-col.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-dropdown.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-group.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-input.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-label.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-form-select.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-icon-button.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-list-group-item-avatar.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-list-group-item.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-list-group.directive.ts","../../../projects/ngx-gccb/src/lib/directives/ngx-tooltip.directive.ts","../../../projects/ngx-gccb/src/lib/pipe/ngx-as-form-control.pipe.ts","../../../projects/ngx-gccb/src/lib/pipe/ngx-is-form-control.pipe.ts","../../../projects/ngx-gccb/src/lib/pipe/ngx-is-form-group.pipe.ts","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-form/ngx-form.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-loading-indicator/ngx-loading-indicator.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-loading-indicator/ngx-loading-indicator.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-modal/ngx-base-modal.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-modal/ngx-modal.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-modal/ngx-modal.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-off-canvas/ngx-off-canvas.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-off-canvas/ngx-off-canvas.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab-content.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab-content.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tab.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tabs.component.ts","../../../projects/ngx-gccb/src/lib/components/ngx-tabs/ngx-tabs.component.html","../../../projects/ngx-gccb/src/lib/components/ngx-toast/ngx-toast.component.ts","../../../projects/ngx-gccb/src/lib/decorators/ngx-class.decorator.ts","../../../projects/ngx-gccb/src/lib/enums/ngx-logtype.enum.ts","../../../projects/ngx-gccb/src/lib/decorators/ngx-log.decorator.ts","../../../projects/ngx-gccb/src/lib/services/ngx-image.service.ts","../../../projects/ngx-gccb/src/lib/services/ngx-loading-indicator.service.ts","../../../projects/ngx-gccb/src/lib/services/ngx-modal.service.ts","../../../projects/ngx-gccb/src/lib/services/ngx-toast.service.ts","../../../projects/ngx-gccb/src/lib/validators/ngx-dateAfter.validator.ts","../../../projects/ngx-gccb/src/lib/validators/ngx-match.validator.ts","../../../projects/ngx-gccb/src/lib/validators/ngx-timeAfter.validator.ts","../../../projects/ngx-gccb/src/ngx-gccb.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\nexport const NgxFadeRightAnimation: AnimationTriggerMetadata = trigger('ngxFadeRightAnimation', [\n\ttransition(':enter', [\n\t\tstyle({ transform: 'translateX(-100%)', zIndex: 9999 }),\n\t\tanimate('200ms ease-in', style({ transform: 'translateX(0%)' })),\n\t]),\n\ttransition(':leave', [animate('200ms ease-in', style({ transform: 'translateX(-100%)' }))]),\n]);\n","import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\nexport const NgxFadeAnimation: AnimationTriggerMetadata = trigger('ngxFadeAnimation', [\n\ttransition(':enter', [\n\t\tstyle({ opacity: 0, transform: 'translateY(10px)' }),\n\t\tanimate('500ms', style({ opacity: 1, transform: 'translateY(0)' })),\n\t]),\n\ttransition(':leave', [animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' }))]),\n]);\n","/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-date-picker',\n\ttemplateUrl: './ngx-date-picker.component.html',\n\timports: [CommonModule],\n})\nexport class DatePickerComponent implements OnInit {\n\tcurrentDate: Date = new Date();\n\n\t// eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method\n\tngOnInit(): void {\n\t\t// const firstDayOfMonth: Date = this.currentDate.firstDayOfMonth();\n\t\t// console.warn(firstDayOfMonth, firstDayOfMonth.getDate(), firstDayOfMonth.getDay());\n\t\t// const weekCount: number = getWeekCount(this.currentDate.getFullYear(), this.currentDate.getMonth(), DayOfWeek.Monday);\n\t\t// console.warn(weekCount);\n\t\t// const weeks: unknown[] = [];\n\t\t// for (let i: number = 0; i <= weekCount; i++) {\n\t\t// for(let){\n\t\t// }\n\t\t// }\n\t}\n}\n\n// enum DayOfWeek {\n// \t'Sunday' = 0,\n// \t'Monday' = 1,\n// \t'Tuesday' = 2,\n// \t'Wednesday' = 3,\n// \t'Thursday' = 4,\n// \t'Friday' = 5,\n// \t'Saturday' = 6,\n// }\n\n// function getWeekCount(year: number, month: number, startDayOfWeek: DayOfWeek): number {\n// \t// month_number is in the range 0..11\n\n// \t// Get the first day of week week day (0: Sunday, 1: Monday, ...)\n// \tconst firstDayOfWeek: DayOfWeek = startDayOfWeek || DayOfWeek.Sunday;\n// \tconst firstOfMonth: Date = new Date(year, month, 1);\n// \tconst lastOfMonth: Date = new Date(year, month + 1, 0);\n// \tconst numberOfDaysInMonth: number = lastOfMonth.getDate();\n// \tconst firstWeekDay: number = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;\n// \tconst used: number = firstWeekDay + numberOfDaysInMonth;\n\n// \treturn Math.ceil(used / 7);\n// }\n","coming soon\n","import {\n\tAbstractControlOptions,\n\tAsyncValidatorFn,\n\tUntypedFormControl,\n\tUntypedFormGroup,\n\tValidatorFn,\n} from '@angular/forms';\nimport { ICustomConfig, IOption } from './ngx-form.interfaces';\n\nexport class NgxFormGroup extends UntypedFormGroup {\n\toverride controls!: {\n\t\t[key: string]: NgxFormControl | NgxFormGroup;\n\t};\n}\n\nexport class NgxFormControl extends UntypedFormControl {\n\tcustomConfig?: ICustomConfig;\n\n\tconstructor(\n\t\tformState: unknown,\n\t\tvalidatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions,\n\t\tasyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null,\n\t\tcustomConfig?: ICustomConfig\n\t) {\n\t\tsuper(formState, validatorOrOpts, asyncValidator);\n\t\tthis.customConfig = customConfig;\n\t}\n\n\tupdateSelecOptions(options: IOption[]): void {\n\t\tif (this.customConfig?.selectConfig?.options) {\n\t\t\tthis.customConfig.selectConfig.options = [...options];\n\t\t}\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, input, InputSignal, Signal } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\n@Component({\n\tselector: 'ngx-form-errors',\n\ttemplate: `\n\t\t@if (errorMessages()) {\n\t\t\t<div class=\"invalid-feedback d-block\">\n\t\t\t\t@for (errorMessage of errorMessages(); track $index) {\n\t\t\t\t\t<div>{{ errorMessage }}</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t`,\n\timports: [CommonModule],\n})\nexport class NgxFormErrorsComponent {\n\tisDirty: InputSignal<boolean> = input(false);\n\terrors: InputSignal<ValidationErrors | null> = input<ValidationErrors | null>(null);\n\n\terrorMessages: Signal<string[]> = computed(() => {\n\t\tconst result: string[] = [];\n\t\tif (this.isDirty() && this.errors()) {\n\t\t\tfor (const key in this.errors()) {\n\t\t\t\tif (this.errorMessageDictionary[key]) {\n\t\t\t\t\tresult.push(this.errorMessageDictionary[key](this.errors() as ValidationErrors));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t});\n\n\terrorMessageDictionary: IErrorMessage = {\n\t\trequired: () => 'Field is required',\n\t\trequiredTrue: () => 'Field is required',\n\t\temail: () => 'Invalid E-Mail',\n\t\tmin: (errors: ValidationErrors) => `At least ${errors['min']?.requiredLength} characters are required`,\n\t\tminlength: (errors: ValidationErrors) =>\n\t\t\t`At least ${errors['minlength']?.requiredLength} characters are required`,\n\t\tmax: (errors: ValidationErrors) => `Maximum of ${errors['max']?.requiredLength} characters exceeded`,\n\t\tmaxlength: (errors: ValidationErrors) =>\n\t\t\t`Maximum of ${errors['maxlength']?.requiredLength} characters exceeded`,\n\t\tpattern: () => `Input does not match pattern`,\n\t\tdateAfterInvalid: (errors: ValidationErrors) => `Date must be after ${errors?.['startDateValue']}`,\n\t\tmatch: () => `Input does not match!`,\n\t\ttimeAfterError: (errors: ValidationErrors) => `The time must be after ${errors?.['timeAfterError']}`,\n\t};\n}\n\ninterface IErrorMessage {\n\t[key: string]: (error: ValidationErrors) => string;\n}\n","import { AfterViewInit, Directive, ElementRef, inject, input, InputSignal, NgZone } from '@angular/core';\n\n@Directive({ selector: '[ngxAutofocus]' })\nexport class NgxAutofocusDirective implements AfterViewInit {\n\tprivate readonly ngZone: NgZone = inject(NgZone);\n\tprivate readonly el: ElementRef = inject(ElementRef);\n\tngxAutofocus: InputSignal<boolean> = input(false);\n\n\tngAfterViewInit(): void {\n\t\tif (this.ngxAutofocus()) {\n\t\t\tthis.ngZone.runOutsideAngular(() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.el.nativeElement.focus();\n\t\t\t\t}, 0);\n\t\t\t});\n\t\t}\n\t}\n}\n","import { Directive, ElementRef, HostListener, Input, InputSignal, OnInit, inject, input } from '@angular/core';\n\n@Directive({ selector: 'button[ngxButton]' })\nexport class NgxButtonDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLButtonElement> = inject(ElementRef<HTMLButtonElement>);\n\ttype: InputSignal<string | undefined> = input();\n\n\tcolor!: string;\n\t_variant: string = 'contained';\n\n\t@HostListener('focus', ['$event']) onFocus(): void {\n\t\tthis.isFocused = true;\n\t}\n\n\t@HostListener('blur', ['$event']) onblur(): void {\n\t\tthis.isFocused = false;\n\t}\n\n\tset isFocused(val: boolean) {\n\t\tif (val) {\n\t\t\tthis.elementRef.nativeElement.classList.add(`focus-ring-${this.color}`);\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove(`focus-ring-${this.color}`);\n\t\t}\n\t}\n\n\t@Input('ngxButton') set ngxButton(val: string) {\n\t\tthis.color = val || 'primary';\n\t}\n\n\t@Input() set variant(val: 'contained' | 'outline' | 'text') {\n\t\tthis._variant = val;\n\t}\n\n\t@Input() set size(val: string) {\n\t\tthis.elementRef.nativeElement.classList.add(`btn-${val || 'sm'}`);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('btn');\n\t\tthis.elementRef.nativeElement.setAttribute('type', this.type() ?? 'button');\n\n\t\tif (this._variant === 'outline' || this._variant === 'text') {\n\t\t\tthis.elementRef.nativeElement.classList.add(`btn-${this._variant}-${this.color}`);\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.add(`btn-${this.color}`);\n\t\t}\n\t\tthis.elementRef.nativeElement.classList.add('flex-shrink-0');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxCardBody]' })\nexport class NgxCardBodyDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('card-body');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxCardHeader]' })\nexport class NgxCardHeaderDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('card-header');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxCard]' })\nexport class NgxCardDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('card');\n\t}\n}\n","import { AfterViewInit, Directive, ElementRef, inject, Input } from '@angular/core';\n\n@Directive({ selector: '[ngxCol]' })\nexport class NgxColDirective implements AfterViewInit {\n\tprivate readonly el: ElementRef = inject(ElementRef);\n\tspan: string = 'col';\n\n\t@Input() set col(val: string | null) {\n\t\tif (val) {\n\t\t\tthis.span = val;\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\t(this.el.nativeElement as HTMLElement).classList.add(this.span);\n\t}\n}\n","import {\n\tDirective,\n\tElementRef,\n\tEmbeddedViewRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tInputSignal,\n\tOnInit,\n\tRenderer2,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { createPopper, Instance, Placement } from '@popperjs/core';\n\n@Directive({ selector: '[ngxDropdown]', exportAs: 'ngxDropdown' })\nexport class NgxDropdownDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef = inject(ElementRef);\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\tprivate readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n\tngxDropdown: InputSignal<TemplateRef<unknown>> = input.required();\n\tplacement: InputSignal<Placement> = input<Placement>('bottom-start');\n\t// adaptivePosition: InputSignal<boolean> = input(true);\n\t// fallbackPlacements: InputSignal<Placement[]> = input<Placement[]>(['top-end', 'bottom-end', 'right', 'left']);\n\n\tprivate dropdownElement: HTMLElement | null = null;\n\tprivate dropdownMenuContentElement: HTMLElement | null = null;\n\tprivate isDropdownVisible: boolean = false;\n\tprivate popperInstance?: Instance;\n\n\tngOnInit(): void {\n\t\tif (!this.dropdownElement) {\n\t\t\tthis.dropdownElement = this.renderer.createElement('div');\n\t\t\tthis.renderer.addClass(this.dropdownElement, 'dropdown');\n\t\t\tconst parent: HTMLElement = this.elementRef.nativeElement.parentNode;\n\t\t\tthis.renderer.insertBefore(parent, this.dropdownElement, this.elementRef.nativeElement);\n\t\t\tthis.renderer.appendChild(this.dropdownElement, this.elementRef.nativeElement);\n\t\t}\n\t}\n\n\t@HostListener('click')\n\ttoggleDropdown(): void {\n\t\tif (this.isDropdownVisible) {\n\t\t\tthis.hide();\n\t\t} else {\n\t\t\tthis.show();\n\t\t}\n\t}\n\n\t@HostListener('document:click', ['$event'])\n\tonDocumentClick(event: MouseEvent): void {\n\t\tif (\n\t\t\tthis.isDropdownVisible &&\n\t\t\tthis.dropdownElement &&\n\t\t\t!this.dropdownElement.contains(event.target as Node) &&\n\t\t\t!this.elementRef.nativeElement.contains(event.target as Node)\n\t\t) {\n\t\t\tthis.hide();\n\t\t}\n\t}\n\n\tprivate show(): void {\n\t\tif (!this.dropdownMenuContentElement && this.dropdownElement) {\n\t\t\tconst embeddedViewRef: EmbeddedViewRef<unknown> = this.viewContainerRef.createEmbeddedView(\n\t\t\t\tthis.ngxDropdown()\n\t\t\t);\n\t\t\tembeddedViewRef.detectChanges();\n\t\t\tthis.dropdownMenuContentElement = embeddedViewRef.rootNodes[0];\n\t\t\tthis.renderer.appendChild(this.dropdownElement, this.dropdownMenuContentElement);\n\n\t\t\tthis.addDropdownLinksListener();\n\n\t\t\tthis.popperInstance = createPopper(this.dropdownElement, this.dropdownMenuContentElement!, {\n\t\t\t\tplacement: this.placement(),\n\t\t\t\tmodifiers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'offset',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\toffset: ({ placement }: { placement: Placement }): number[] => {\n\t\t\t\t\t\t\t\tif (placement.startsWith('bottom')) {\n\t\t\t\t\t\t\t\t\treturn [0, -(this.dropdownElement?.offsetHeight as number)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (placement.startsWith('top')) {\n\t\t\t\t\t\t\t\t\treturn [0, -(this.dropdownElement?.offsetHeight as number)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (placement.startsWith('left')) {\n\t\t\t\t\t\t\t\t\treturn [0, -(this.dropdownElement?.offsetWidth as number)];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn [0, 0];\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t// {\n\t\t\t\t\t// \tname: 'flip',\n\t\t\t\t\t// \toptions: {\n\t\t\t\t\t// \t\tfallbackPlacements: this.adaptivePosition() ? this.fallbackPlacements() : [],\n\t\t\t\t\t// \t\tboundary: 'viewport',\n\t\t\t\t\t// \t\tpadding: 0,\n\t\t\t\t\t// \t},\n\t\t\t\t\t// },\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'preventOverflow',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tboundary: 'viewport',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\ttether: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t}\n\n\t\tthis.isDropdownVisible = true;\n\t}\n\n\tprivate hide(): void {\n\t\tif (this.dropdownMenuContentElement) {\n\t\t\tthis.viewContainerRef.clear();\n\t\t\tthis.dropdownMenuContentElement = null;\n\t\t\tthis.popperInstance?.destroy();\n\t\t}\n\t\tthis.isDropdownVisible = false;\n\t}\n\n\tprivate addDropdownLinksListener(): void {\n\t\tconst links: NodeListOf<Element> | undefined =\n\t\t\tthis.dropdownMenuContentElement?.querySelectorAll('.dropdown-item');\n\t\tlinks?.forEach(link => {\n\t\t\tthis.renderer.listen(link, 'click', () => {\n\t\t\t\tthis.hide();\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive, input, InputSignal } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { NgxFormControl, NgxFormGroup } from '../components/ngx-form/ngx-form-control';\n\n@Directive({\n\tselector: '[ngxFormGroup]',\n\texportAs: 'ngxFormGroup',\n})\nexport class NgxFormGroupDirective {\n\tformGroup: InputSignal<NgxFormGroup | FormGroup> = input.required();\n\tvalidateOnChange: InputSignal<boolean> = input(true);\n\n\tvalidateForm(): void {\n\t\tObject.keys(this.formGroup().controls).forEach(key => {\n\t\t\tconst control: AbstractControl | null = this.formGroup().get(key);\n\t\t\tif (control instanceof NgxFormControl || control instanceof FormControl) {\n\t\t\t\tthis.formGroup().get(key)?.markAsTouched({ onlySelf: true });\n\t\t\t\tthis.formGroup().get(key)?.markAsDirty({ onlySelf: true });\n\t\t\t\tthis.formGroup().get(key)?.updateValueAndValidity({ onlySelf: true });\n\t\t\t} else if (control instanceof NgxFormGroup || control instanceof FormGroup) {\n\t\t\t\tObject.keys(control.controls).forEach(subKey => {\n\t\t\t\t\tcontrol.get(subKey)?.markAsTouched({ onlySelf: true });\n\t\t\t\t\tcontrol.get(subKey)?.markAsDirty({ onlySelf: true });\n\t\t\t\t\tcontrol.get(subKey)?.updateValueAndValidity({ onlySelf: true });\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tresetForm(): void {\n\t\tthis.formGroup().setErrors({});\n\t\tthis.formGroup().reset();\n\n\t\tObject.keys(this.formGroup().controls).forEach(key => {\n\t\t\tthis.formGroup().get(key)?.markAsUntouched({ onlySelf: true });\n\t\t});\n\t}\n}\n","import { Directive, ElementRef, InputSignal, OnInit, Renderer2, effect, inject, input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { debounceTime } from 'rxjs';\n\n@Directive({ selector: '[ngxFormInput]' })\nexport class NgxFormInputDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n\tprivate readonly renderer2: Renderer2 = inject(Renderer2);\n\n\tngxFormInput: InputSignal<string> = input.required();\n\tformControl: InputSignal<FormControl | undefined> = input();\n\tid: InputSignal<string | undefined> = input();\n\tname: InputSignal<string | undefined> = input();\n\ttype: InputSignal<string | undefined> = input();\n\tplaceholder: InputSignal<string | undefined> = input();\n\tisFloatingLabel: InputSignal<boolean> = input(true);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.checkIsValid();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.type() === 'select') {\n\t\t\tthis.elementRef.nativeElement.classList.add('form-select');\n\t\t} else if (this.type() === 'checkbox') {\n\t\t\tthis.elementRef.nativeElement.classList.add('form-check-input');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.add('form-control');\n\t\t}\n\n\t\tif (this.type()) {\n\t\t\tthis.elementRef.nativeElement.setAttribute('type', this.type()!);\n\t\t}\n\n\t\tthis.elementRef.nativeElement.setAttribute(\n\t\t\t'placeholder',\n\t\t\tthis.placeholder() ?? (this.name() || this.ngxFormInput())\n\t\t);\n\n\t\tif (this.id() ?? (this.name() || this.ngxFormInput())) {\n\t\t\tthis.elementRef.nativeElement.setAttribute('id', this.id() ?? (this.name() || this.ngxFormInput()));\n\t\t}\n\n\t\tthis.elementRef.nativeElement.setAttribute('name', this.name() || this.ngxFormInput());\n\n\t\tconst parent: ParentNode | null = this.elementRef.nativeElement.parentNode;\n\t\tif (this.isFloatingLabel() && this.type() !== 'checkbox') {\n\t\t\tthis.renderer2.addClass(parent, 'form-floating');\n\t\t} else {\n\t\t\tthis.renderer2.addClass(parent, 'form-check');\n\t\t}\n\n\t\tthis.formControl()\n\t\t\t?.valueChanges.pipe(debounceTime(100))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkIsValid();\n\t\t\t});\n\t}\n\n\tcheckIsValid(): void {\n\t\tif (this.formControl()?.touched && this.formControl()?.invalid) {\n\t\t\tthis.elementRef.nativeElement.classList.add('is-invalid');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('is-invalid');\n\t\t}\n\t}\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({ selector: 'label[ngxFormLabel]' })\nexport class NgxFormLabelDirective {\n\t@HostBinding('class')\n\telementClass: string = 'form-label';\n}\n","import { Directive, ElementRef, Input, OnInit, inject } from '@angular/core';\n\n@Directive({ selector: 'select[ngxFormSelect]' })\nexport class NgxFormSelectDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef<HTMLElement>);\n\n\t@Input() set formInputInvalid(val: boolean) {\n\t\tif (val === true) {\n\t\t\tthis.elementRef.nativeElement.classList.add('is-invalid');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('is-invalid');\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('form-select');\n\t}\n}\n","import { Directive, ElementRef, Input, OnInit, inject } from '@angular/core';\n\n@Directive({ selector: 'button[ngxIconButton]' })\nexport class NgxIconButtonDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLButtonElement> = inject(\n\t\tElementRef<HTMLButtonElement>\n\t);\n\tcolor!: string;\n\n\t@Input('ngxIconButton') set appIconButton(val: string) {\n\t\tthis.color = val || 'primary';\n\t\tthis.elementRef.nativeElement.classList.add(`icon-button-${this.color}`);\n\t}\n\n\t@Input() set shadow(val: boolean) {\n\t\tif (val === true || val === undefined) {\n\t\t\tthis.elementRef.nativeElement.classList.add('shadow-sm');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('shadow-sm');\n\t\t}\n\t}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('btn', 'icon-button');\n\t}\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({ selector: '[ngxListGroupItemAvatar]' })\nexport class NgxListGroupItemAvatarDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('list-group-item-avatar');\n\t}\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, inject } from '@angular/core';\n\n@Directive({ selector: 'li[ngxListGroupItem]' })\nexport class NgxListGroupItemDirective implements OnInit {\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\t_isActive: boolean = false;\n\t@Input() set isActive(val: boolean) {\n\t\tthis._isActive = val;\n\t\tif (val) {\n\t\t\tthis.elementRef.nativeElement.classList.add('focus-active');\n\t\t} else {\n\t\t\tthis.elementRef.nativeElement.classList.remove('focus-active');\n\t\t}\n\t}\n\n\t@Output() onOutsideClick: EventEmitter<void> = new EventEmitter<void>();\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('list-group-item');\n\t\tthis.elementRef.nativeElement.classList.add('list-group-item-action');\n\t\tthis.elementRef.nativeElement.classList.add('d-flex', 'flex-row', 'align-items-center');\n\n\t\tthis.renderer.listen('window', 'click', (e: Event) => {\n\t\t\tif (e.target !== this.elementRef.nativeElement) {\n\t\t\t\tthis._isActive = false;\n\t\t\t\tthis.elementRef.nativeElement.classList.remove('focus-active');\n\t\t\t\tthis.onOutsideClick.next();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\n\n@Directive({ selector: 'ul[ngxListGroup]' })\nexport class NgxListGroupDirective implements OnInit {\n\tprivate readonly elementRef: ElementRef<HTMLUListElement> = inject(ElementRef<HTMLUListElement>);\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.classList.add('list-group');\n\t\tthis.elementRef.nativeElement.classList.add('list-group-flush');\n\t}\n}\n","import {\n\tDirective,\n\teffect,\n\tElementRef,\n\tEmbeddedViewRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tInputSignal,\n\tOnDestroy,\n\tRenderer2,\n\tTemplateRef,\n\tViewContainerRef,\n} from '@angular/core';\nimport { createPopper, Instance, Placement } from '@popperjs/core';\nimport { Size } from '../types/size.type';\nimport { TooltipTrigger } from '../types/tooltip.types';\n\n@Directive({ selector: '[ngxTooltip]', exportAs: 'ngxTooltip' })\nexport class NgxTooltipDirective implements OnDestroy {\n\tprivate readonly elementRef: ElementRef = inject(ElementRef);\n\tprivate readonly renderer: Renderer2 = inject(Renderer2);\n\tprivate readonly viewContainerRef: ViewContainerRef = inject(ViewContainerRef);\n\n\tngxTooltip: InputSignal<string | TemplateRef<unknown>> = input.required();\n\tngxTooltipClass: InputSignal<string> = input<string>('');\n\tngxTooltipPlacement: InputSignal<Placement> = input<Placement>('top');\n\tngxTooltipIsShow: InputSignal<boolean> = input<boolean>(false);\n\tngxTooltipXOffset: InputSignal<number> = input<number>(0);\n\tngxTooltipYOffset: InputSignal<number> = input<number>(8);\n\tngxTooltipDelay: InputSignal<number> = input<number>(200);\n\tngxTooltipTriggers: InputSignal<TooltipTrigger[]> = input<TooltipTrigger[]>(['hover']);\n\tngxTooltipSize: InputSignal<Size> = input<Size>('sm');\n\tngxTooltipZIndex: InputSignal<number> = input(5);\n\tngxTooltipAdaptivePosition: InputSignal<boolean> = input(true);\n\tngxTooltipFallbackPlacements: InputSignal<Placement[]> = input<Placement[]>(['top', 'bottom', 'right', 'left']);\n\n\tprivate popperInstance?: Instance;\n\tprivate tooltipElement!: HTMLElement | null;\n\n\tprivate mutationObserver?: MutationObserver;\n\tprivate mutationTimeout?: number;\n\tprivate openTimeout?: number;\n\tprivate closeTimeout?: number;\n\tprivate isOpen: boolean = false;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this.ngxTooltipIsShow()) {\n\t\t\t\tthis.show();\n\t\t\t}\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.hide();\n\t}\n\n\t@HostListener('mouseenter')\n\tonHover(): void {\n\t\tif (this.ngxTooltipTriggers().includes('hover')) {\n\t\t\tthis.show();\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\tonLeave(): void {\n\t\tif (this.ngxTooltipTriggers().includes('hover')) {\n\t\t\tthis.hide();\n\t\t}\n\t}\n\n\t@HostListener('pointerenter')\n\tonPointerEnter(): void {\n\t\tif (this.ngxTooltipTriggers().includes('pointer')) {\n\t\t\tthis.show();\n\t\t}\n\t}\n\n\t@HostListener('pointerout')\n\tonPointerOut(): void {\n\t\tif (this.ngxTooltipTriggers().includes('pointer')) {\n\t\t\tthis.hide();\n\t\t}\n\t}\n\n\t@HostListener('focusin')\n\tonFocusIn(): void {\n\t\tif (this.ngxTooltipTriggers().includes('focus')) {\n\t\t\tthis.show();\n\t\t}\n\t}\n\n\t@HostListener('focusout')\n\tonFocusOut(): void {\n\t\tif (this.ngxTooltipTriggers().includes('focus')) {\n\t\t\tthis.hide();\n\t\t}\n\t}\n\n\t@HostListener('click', ['$event'])\n\tonClick(event: Event): void {\n\t\tevent.stopPropagation();\n\t\tif (this.ngxTooltipTriggers().includes('manual')) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\t@HostListener('document:click', ['$event'])\n\tonDocumentClick(event: MouseEvent): void {\n\t\tif (\n\t\t\tthis.isOpen &&\n\t\t\tthis.tooltipElement &&\n\t\t\t!this.tooltipElement.contains(event.target as Node) &&\n\t\t\t!this.elementRef.nativeElement.contains(event.target as Node) &&\n\t\t\t!this.ngxTooltipTriggers().includes('manual')\n\t\t) {\n\t\t\tthis.hide();\n\t\t}\n\t}\n\n\tshow(): void {\n\t\tclearTimeout(this.closeTimeout);\n\t\tthis.openTimeout = window.setTimeout(() => this.init(), this.ngxTooltipDelay());\n\t}\n\n\tprivate init(): void {\n\t\tif (!this.tooltipElement && !!this.ngxTooltip()) {\n\t\t\tthis.tooltipElement = this.renderer.createElement('div');\n\t\t\tthis.renderer.addClass(this.tooltipElement, 'ngx-tooltip');\n\t\t\tif (this.ngxTooltipClass()) {\n\t\t\t\tthis.ngxTooltipClass()\n\t\t\t\t\t.split(' ')\n\t\t\t\t\t.forEach(cssClass => this.renderer.addClass(this.tooltipElement, cssClass));\n\t\t\t}\n\t\t\tthis.renderer.addClass(this.tooltipElement, this.ngxTooltipSize());\n\t\t\tthis.renderer.setStyle(this.tooltipElement, 'zIndex', this.ngxTooltipZIndex());\n\n\t\t\tif (this.ngxTooltip() instanceof TemplateRef) {\n\t\t\t\tthis.renderTemplate(this.ngxTooltip() as TemplateRef<unknown>);\n\t\t\t} else {\n\t\t\t\tthis.renderText(this.ngxTooltip() as string);\n\t\t\t}\n\n\t\t\tthis.renderer.appendChild(document.body, this.tooltipElement);\n\n\t\t\tconst arrowDiv: HTMLDivElement = this.renderer.createElement('div');\n\t\t\tarrowDiv.classList.add('ngx-tooltip-arrow');\n\t\t\tarrowDiv.setAttribute('data-popper-arrow', '');\n\t\t\tthis.renderer.appendChild(this.tooltipElement, arrowDiv);\n\n\t\t\tthis.popperInstance = createPopper(this.elementRef.nativeElement, this.tooltipElement!, {\n\t\t\t\tplacement: this.ngxTooltipPlacement(),\n\t\t\t\tmodifiers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'offset',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\toffset: [this.ngxTooltipXOffset(), this.ngxTooltipYOffset()],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'flip',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tfallbackPlacements: this.ngxTooltipAdaptivePosition()\n\t\t\t\t\t\t\t\t? this.ngxTooltipFallbackPlacements()\n\t\t\t\t\t\t\t\t: [],\n\t\t\t\t\t\t\tboundary: 'viewport',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'preventOverflow',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tboundary: 'viewport',\n\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\ttether: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\n\t\t\tthis.isOpen = true;\n\t\t\tthis.observeMutation();\n\t\t}\n\t}\n\n\tprivate observeMutation(): void {\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\tclearTimeout(this.mutationTimeout);\n\t\t\tthis.mutationTimeout = window.setTimeout(() => {\n\t\t\t\tvoid this.popperInstance?.update();\n\t\t\t\tif (!this.isTooltipTargetVisible()) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t});\n\t\tthis.mutationObserver.observe(document.body, { attributes: true, childList: true, subtree: true });\n\t}\n\n\tprivate isTooltipTargetVisible(): boolean {\n\t\tlet result: boolean = false;\n\t\tif (this.elementRef.nativeElement && document.body.contains(this.elementRef.nativeElement)) {\n\t\t\tconst rect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\t\t\tif (rect.top < 0 || rect.left < 0 || rect.bottom > window.innerHeight || rect.right > window.innerWidth) {\n\t\t\t\tresult = false;\n\t\t\t}\n\t\t\tconst style: CSSStyleDeclaration = window.getComputedStyle(this.elementRef.nativeElement);\n\t\t\tresult = !(style.display === 'none' || style.visibility === 'hidden');\n\t\t}\n\t\treturn result;\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tthis.renderer.appendChild(this.tooltipElement, this.renderer.createText(text));\n\t}\n\n\tprivate renderTemplate(templateRef: TemplateRef<unknown>): void {\n\t\tconst embeddedViewRef: EmbeddedViewRef<unknown> = this.viewContainerRef.createEmbeddedView(templateRef);\n\t\tembeddedViewRef.detectChanges();\n\t\tembeddedViewRef.rootNodes.forEach(node => {\n\t\t\tthis.renderer.appendChild(this.tooltipElement, node);\n\t\t});\n\t}\n\n\thide(): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.mutationObserver?.disconnect();\n\t\tclearTimeout(this.mutationTimeout);\n\t\tclearTimeout(this.openTimeout);\n\t\tclearTimeout(this.closeTimeout);\n\n\t\tif (this.popperInstance) {\n\t\t\tthis.popperInstance.destroy();\n\t\t\tthis.popperInstance = undefined;\n\t\t}\n\n\t\tif (this.tooltipElement) {\n\t\t\tthis.renderer.removeChild(document.body, this.tooltipElement);\n\t\t\tthis.tooltipElement = null;\n\t\t}\n\n\t\tthis.isOpen = false;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.hide();\n\t\t} else {\n\t\t\tthis.show();\n\t\t}\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\n\n@Pipe({ name: 'ngxAsFormControl' })\nexport class NgxFormControlPipe implements PipeTransform {\n\ttransform(value: AbstractControl): FormControl<(typeof value)['value']> {\n\t\treturn value as FormControl<(typeof value)['value']>;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { NgxFormControl } from '../components/ngx-form/ngx-form-control';\n\n@Pipe({ name: 'appIsFormControl' })\nexport class AppIsFormControlPipe implements PipeTransform {\n\ttransform(value: AbstractControl): NgxFormControl {\n\t\treturn value as NgxFormControl;\n\t}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { NgxFormGroup } from '../components/ngx-form/ngx-form-control';\n\n@Pipe({ name: 'ngxIsFormGroup' })\nexport class NgxIsFormGroupPipe implements PipeTransform {\n\ttransform(value: AbstractControl): NgxFormGroup {\n\t\treturn value as NgxFormGroup;\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, InputSignal, output, OutputEmitterRef, Signal, viewChild } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n\tNgxAutofocusDirective,\n\tNgxFormGroupDirective,\n\tNgxFormInputDirective,\n\tNgxFormLabelDirective,\n} from '../../directives';\nimport { AppIsFormControlPipe, NgxFormControlPipe, NgxIsFormGroupPipe } from '../../pipe';\nimport { NgxFormControl, NgxFormGroup } from './ngx-form-control';\nimport { NgxFormErrorsComponent } from './ngx-form-errors';\n\n@Component({\n\tselector: 'ngx-form',\n\ttemplateUrl: './ngx-form.component.html',\n\timports: [\n\t\tCommonModule,\n\t\tReactiveFormsModule,\n\t\tNgxFormControlPipe,\n\t\tNgxFormGroupDirective,\n\t\tNgxFormLabelDirective,\n\t\tNgxFormErrorsComponent,\n\t\tNgxFormInputDirective,\n\t\tAppIsFormControlPipe,\n\t\tNgxIsFormGroupPipe,\n\t\tNgxAutofocusDirective,\n\t],\n})\nexport class NgxFormComponent {\n\tformGroup: InputSignal<NgxFormGroup> = input.required();\n\tformGroupDir: Signal<NgxFormGroupDirective | undefined> = viewChild(NgxFormGroupDirective);\n\tonValidated: OutputEmitterRef<void> = output();\n\n\tisFormControl(control: NgxFormControl | NgxFormGroup): boolean {\n\t\treturn control instanceof NgxFormControl;\n\t}\n\n\tvalidate(): void {\n\t\tthis.formGroupDir()?.validateForm();\n\t\tthis.onValidated.emit();\n\t}\n\n\treset(): void {\n\t\tthis.formGroupDir()?.resetForm();\n\t}\n\n\tkeepOriginalOrder: (a: unknown, b: unknown) => number = (): number => 0;\n}\n","<form ngxFormGroup #formGroupDir=\"ngxFormGroup\" [formGroup]=\"formGroup()\">\n\t@for (control of formGroup().controls | keyvalue: keepOriginalOrder; track $index) {\n\t\t@if (isFormControl(control.value)) {\n\t\t\t<ng-container *ngTemplateOutlet=\"formField; context: { control: control }\" />\n\t\t} @else {\n\t\t\t<div ngxFormGroup [formGroup]=\"control.value | ngxIsFormGroup\" class=\"row\">\n\t\t\t\t@for (\n\t\t\t\t\tsubControl of (control.value | ngxIsFormGroup).controls | keyvalue: keepOriginalOrder;\n\t\t\t\t\ttrack $index\n\t\t\t\t) {\n\t\t\t\t\t<div class=\"col\">\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"formField; context: { control: subControl }\" />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t}\n</form>\n\n<ng-template #formField let-control=\"control\">\n\t<div class=\"mb-3\">\n\t\t@switch ((control.value | appIsFormControl).customConfig?.type) {\n\t\t\t@case ('textarea') {\n\t\t\t\t<textarea\n\t\t\t\t\tngxFormInput\n\t\t\t\t\t[ngxAutofocus]=\"(control.value | appIsFormControl).customConfig?.autofocus || false\"\n\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t[formControl]=\"control.value | ngxAsFormControl\"\n\t\t\t\t\trows=\"3\">\n\t\t\t\t</textarea>\n\t\t\t}\n\n\t\t\t@case ('select') {\n\t\t\t\t<select\n\t\t\t\t\tngxFormInput\n\t\t\t\t\t[ngxAutofocus]=\"(control.value | appIsFormControl).customConfig?.autofocus || false\"\n\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t[formControl]=\"control.value | ngxAsFormControl\"\n\t\t\t\t\t(keydown.enter)=\"validate()\">\n\t\t\t\t\t<option value=\"\" disabled selected>Select your option</option>\n\t\t\t\t\t@for (\n\t\t\t\t\t\toption of (control.value | appIsFormControl).customConfig?.selectConfig?.options;\n\t\t\t\t\t\ttrack option.value\n\t\t\t\t\t) {\n\t\t\t\t\t\t<option [value]=\"option.value\" [disabled]=\"option.disabled\">\n\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t</option>\n\t\t\t\t\t}\n\t\t\t\t</select>\n\t\t\t}\n\n\t\t\t@default {\n\t\t\t\t<input\n\t\t\t\t\tngxFormInput\n\t\t\t\t\t[ngxAutofocus]=\"(control.value | appIsFormControl).customConfig?.autofocus || false\"\n\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t[formControl]=\"control.value | ngxAsFormControl\"\n\t\t\t\t\t[type]=\"(control.value | appIsFormControl).customConfig?.type || 'text'\"\n\t\t\t\t\t[autocomplete]=\"\n\t\t\t\t\t\t(control.value | appIsFormControl).customConfig?.type === 'password'\n\t\t\t\t\t\t\t? 'new-password'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\"\n\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t}\n\t\t}\n\n\t\t<label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t{{ (control.value | appIsFormControl).customConfig?.label }}\n\t\t</label>\n\n\t\t<ngx-form-errors [errors]=\"control.value.errors\" [isDirty]=\"control.value.dirty\" />\n\t</div>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faSpinner, IconDefinition } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n\tselector: 'ngx-loading-indicator',\n\ttemplateUrl: './ngx-loading-indicator.component.html',\n\tstyles: `\n\t\t:host {\n\t\t\tposition: fixed;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translate(-50%, -50%);\n\t\t\tcolor: #495057;\n\t\t}\n\t`,\n\timports: [FontAwesomeModule],\n})\nexport class NgxLoadingIndicatorComponent {\n\tfaSpinner: IconDefinition = faSpinner;\n\n\t// absolute / fixed\n}\n","<fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\" />\n","import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-base-modal',\n\ttemplate: ``,\n})\nexport class BaseModalComponent {}\n","import { CommonModule } from '@angular/common';\nimport { Component, effect, HostListener, input, InputSignal, output, OutputEmitterRef } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faTimes, IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { NgxAutofocusDirective } from '../../directives/ngx-autofocus.directive';\nimport { NgxIconButtonDirective } from '../../directives/ngx-icon-button.directive';\n\n@Component({\n\tselector: 'ngx-modal',\n\ttemplateUrl: './ngx-modal.component.html',\n\timports: [CommonModule, NgxIconButtonDirective, FontAwesomeModule, NgxAutofocusDirective],\n})\nexport class NgxModalComponent {\n\ttitle: InputSignal<string> = input('');\n\tshowClose: InputSignal<boolean> = input(true);\n\tfullScreen: InputSignal<boolean> = input(false);\n\n\tonClose: OutputEmitterRef<void> = output();\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this.fullScreen() === true) {\n\t\t\t\tthis.dialogCssClasses.push(`modal-fullscreen`);\n\t\t\t} else {\n\t\t\t\tthis.dialogCssClasses = this.dialogCssClasses.filter(cssClass => cssClass !== 'modal-fullscreen');\n\t\t\t}\n\t\t});\n\t}\n\n\tdialogCssClasses: string[] = [];\n\tfaTimes: IconDefinition = faTimes;\n\n\t@HostListener('document:keydown.escape', ['$event'])\n\thandleKeyboardEvent(): void {\n\t\tthis.onClose.emit();\n\t}\n\n\thandleClickClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","<div class=\"modal d-flex justify-content-center align-items-center\" [ngxAutofocus]=\"true\" tabindex=\"0\">\n\t<div class=\"modal-dialog\" [ngClass]=\"dialogCssClasses\">\n\t\t<div class=\"modal-content\">\n\t\t\t<div class=\"modal-header justify-content-between\">\n\t\t\t\t<h5 class=\"modal-title\">{{ title() }}</h5>\n\n\t\t\t\t@if (showClose()) {\n\t\t\t\t\t<button ngxIconButton=\"secondary\" class=\"ms-2\" (click)=\"handleClickClose()\">\n\t\t\t\t\t\t<fa-icon [icon]=\"faTimes\" />\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-body\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<ng-content select=\"[footer]\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"modal-backdrop fade show\"></div>\n","import { Component, input, InputSignal, output, OutputEmitterRef } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faTimes, IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { NgxIconButtonDirective } from '../../directives/ngx-icon-button.directive';\n\n@Component({\n\tselector: 'ngx-off-canvas',\n\ttemplateUrl: './ngx-off-canvas.component.html',\n\tstyles: `\n\t\t:host {\n\t\t\tz-index: 9999;\n\t\t\tdisplay: block;\n\t\t}\n\t`,\n\timports: [FontAwesomeModule, NgxIconButtonDirective],\n})\nexport class NgxOffCanvasComponent {\n\ttitle: InputSignal<string> = input('');\n\tonClose: OutputEmitterRef<void> = output();\n\n\tfaTimes: IconDefinition = faTimes;\n\n\thandleClickClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","<div class=\"offcanvas offcanvas-start show\" tabindex=\"-1\" id=\"offcanvas\" style=\"z-index: 1051\">\n\t<div class=\"offcanvas-header justify-content-between\">\n\t\t<h5 class=\"offcanvas-title\" id=\"offcanvasLabel\">{{ title() }}</h5>\n\t\t<button ngxIconButton=\"secondary\" class=\"ml-auto\" (click)=\"handleClickClose()\">\n\t\t\t<fa-icon [icon]=\"faTimes\" />\n\t\t</button>\n\t</div>\n\t<ng-content />\n</div>\n\n<div class=\"modal-backdrop fade show\" (click)=\"handleClickClose()\"></div>\n","import { CommonModule } from '@angular/common';\nimport { Component, model, ModelSignal } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-tab-content',\n\ttemplateUrl: './ngx-tab-content.component.html',\n\tstyleUrl: './ngx-tab-content.component.scss',\n\timports: [CommonModule],\n})\nexport class NgxTabContentComponent {\n\tisActive: ModelSignal<boolean> = model(false);\n}\n","<div class=\"tab-content\" [ngClass]=\"{ active: isActive() }\">\n\t<ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n\tComponent,\n\tHostListener,\n\tinput,\n\tInputSignal,\n\tmodel,\n\tModelSignal,\n\toutput,\n\tOutputEmitterRef,\n} from '@angular/core';\nimport { NgxTabContentComponent } from './ngx-tab-content.component';\n\n@Component({\n\tselector: 'ngx-tab',\n\ttemplateUrl: './ngx-tab.component.html',\n\tstyleUrl: './ngx-tab.component.scss',\n\timports: [CommonModule],\n})\nexport class NgxTabComponent {\n\tisActive: ModelSignal<boolean> = model(false);\n\ttarget: InputSignal<NgxTabContentComponent> = input.required();\n\n\tonSelected: OutputEmitterRef<void> = output<void>();\n\n\t@HostListener('click', ['$event.target'])\n\tonClick(): void {\n\t\tthis.onSelected.emit();\n\t}\n}\n","<div class=\"tab\" [ngClass]=\"{ active: isActive() }\" tabindex=\"0\">\n\t<ng-content />\n</div>\n","import { AfterContentInit, Component, contentChildren, Signal } from '@angular/core';\nimport { NgxTabContentComponent } from './ngx-tab-content.component';\nimport { NgxTabComponent } from './ngx-tab.component';\n\n@Component({\n\tselector: 'ngx-tabs',\n\ttemplateUrl: './ngx-tabs.component.html',\n\tstyleUrl: './ngx-tabs.component.scss',\n})\nexport class NgxTabsComponent implements AfterContentInit {\n\ttabQueryList: Signal<readonly NgxTabComponent[]> = contentChildren(NgxTabComponent);\n\ttabContentQueryList: Signal<readonly NgxTabContentComponent[]> =\n\t\tcontentChildren(NgxTabContentComponent);\n\n\tngAfterContentInit(): void {\n\t\tthis.tabQueryList().forEach(tab => {\n\t\t\ttab.onSelected.subscribe(() => this.selectTab(tab));\n\t\t});\n\n\t\tconst firstActiveTab: NgxTabComponent | undefined = this.tabQueryList().find(tab =>\n\t\t\ttab.isActive()\n\t\t);\n\t\tif (firstActiveTab) {\n\t\t\tthis.selectTab(firstActiveTab);\n\t\t} else if (this.tabQueryList().length > 0) {\n\t\t\tthis.selectTab(this.tabQueryList()[0]);\n\t\t}\n\t}\n\n\tselectTab(tabComponent: NgxTabComponent): void {\n\t\tthis.tabQueryList().forEach(tab => tab.isActive.update(() => tab === tabComponent));\n\t\tthis.tabContentQueryList().forEach(tabContent =>\n\t\t\ttabContent.isActive.update(() => tabContent === tabComponent.target())\n\t\t);\n\t}\n}\n","<div class=\"tabs\">\n\t<ng-content select=\"ngx-tab\" />\n</div>\n<div class=\"tab-contents\">\n\t<ng-content select=\"ngx-tab-content\" />\n</div>\n","import { Component, Input, output, OutputEmitterRef } from '@angular/core';\n\n@Component({\n\tselector: 'ngx-toast',\n\ttemplate: `\n\t\t<div class=\"toast align-items-center text-bg-dark border-0 show\">\n\t\t\t<div class=\"d-flex\">\n\t\t\t\t<div class=\"toast-body\" [innerHTML]=\"message\"></div>\n\t\t\t\t<button class=\"btn-close btn-close-white me-2 m-auto\" (click)=\"onClose.emit()\"></button>\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tstyles: `\n\t\t:host {\n\t\t\tposition: fixed;\n\t\t\tbottom: 20px;\n\t\t\tleft: 50%;\n\t\t\ttransform: translate(-50%);\n\t\t\tz-index: 1051;\n\t\t}\n\t`,\n})\nexport class NgxToastComponent {\n\t@Input() message?: string;\n\tonClose: OutputEmitterRef<void> = output();\n}\n","import { NgxDecoratorClassType } from './ngx-decorator.types';\n\nexport const NgxClass =\n\t(className: string): NgxDecoratorClassType =>\n\t<T extends abstract new (...args: unknown[]) => unknown>(obj: T): void => {\n\t\tObject.defineProperty(obj.prototype, 'className', {\n\t\t\tvalue: className,\n\t\t\twritable: false,\n\t\t});\n\t};\n","export enum LogType {\n\tlog = 'log',\n\tinfo = 'info',\n\twarn = 'warn',\n\tdebug = 'debug',\n\terror = 'error',\n}\n","/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { LogType } from '../enums';\nimport { NgxDecoratorMethodType } from './ngx-decorator.types';\n\nexport function NgxLog(\n\tmethodName?: string,\n\tlogType: LogType = LogType.log,\n\tlogArgs: boolean = false\n): NgxDecoratorMethodType {\n\treturn function (\n\t\ttarget: object,\n\t\tkey: string | symbol,\n\t\tdescriptor: PropertyDescriptor\n\t): PropertyDescriptor {\n\t\tconst originalMethod: (...args: unknown[]) => unknown = descriptor.value as (\n\t\t\t...args: unknown[]\n\t\t) => unknown;\n\n\t\tdescriptor.value = function (...args: unknown[]): unknown {\n\t\t\tconst className: string = target.constructor.name;\n\t\t\tconst newMethodName: string = methodName || key.toString();\n\n\t\t\tconst logStatements: unknown[] = [className, newMethodName, ...(logArgs ? args : [])];\n\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole[logType](...logStatements);\n\n\t\t\treturn originalMethod.apply(this, args);\n\t\t};\n\n\t\treturn descriptor;\n\t};\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxImageService {\n\tasync compress(imageBase64: string, quality: number = 0.8, fileType: string = 'image/jpeg'): Promise<string> {\n\t\tconst img: HTMLImageElement = await this.load(imageBase64);\n\t\tconst canvas: HTMLCanvasElement = this.createCanvas();\n\t\tthis.drawImage(canvas, img);\n\t\treturn canvas.toDataURL(fileType, quality);\n\t}\n\n\tasync toBlob(imageBase64: string, quality: number = 1, fileType: string = 'image/jpeg'): Promise<Blob> {\n\t\tconst img: HTMLImageElement = await this.load(imageBase64);\n\t\tconst canvas: HTMLCanvasElement = this.createCanvas();\n\t\tthis.drawImage(canvas, img);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tcanvas.toBlob(\n\t\t\t\tblob => {\n\t\t\t\t\tif (blob) {\n\t\t\t\t\t\tresolve(blob);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject('Error on converting image to blob');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfileType,\n\t\t\t\tquality\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate load(imageBase64: string): Promise<HTMLImageElement> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst img: HTMLImageElement = new Image();\n\t\t\timg.onload = (): void => resolve(img);\n\t\t\timg.onerror = (event): void => reject(event);\n\t\t\timg.src = imageBase64;\n\t\t});\n\t}\n\n\tprivate createCanvas(): HTMLCanvasElement {\n\t\treturn document.createElement('canvas');\n\t}\n\n\tprivate drawImage(canvas: HTMLCanvasElement, img: HTMLImageElement): void {\n\t\tconst context: CanvasRenderingContext2D = canvas.getContext('2d')!;\n\t\tcanvas.width = img.width;\n\t\tcanvas.height = img.height;\n\t\tcontext.drawImage(img, 0, 0, canvas.width, canvas.height);\n\t}\n}\n","import { ComponentRef, Injectable, ViewContainerRef } from '@angular/core';\nimport { NgxLoadingIndicatorComponent } from '../components';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxLoadingIndicatorService {\n\tviewContainerRef!: ViewContainerRef;\n\tcomponentRef!: ComponentRef<NgxLoadingIndicatorComponent>;\n\n\tinit(viewContainer: ViewContainerRef): void {\n\t\tif (!viewContainer) {\n\t\t\tthrow new Error('viewContainerRef needs to be defined!');\n\t\t}\n\t\tthis.viewContainerRef = viewContainer;\n\t}\n\n\tshow(): void {\n\t\tif (this.viewContainerRef) {\n\t\t\tif (this.componentRef) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(NgxLoadingIndicatorComponent);\n\t\t} else {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t}\n\n\thide(): void {\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t}\n}\n","import { ComponentRef, EmbeddedViewRef, Injectable, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { BaseModalComponent, NgxModalComponent } from '../components';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxModalService {\n\tviewContainerRef!: ViewContainerRef;\n\tcomponentRef!: ComponentRef<unknown>;\n\n\tinit(viewContainerRef: ViewContainerRef): void {\n\t\tif (!viewContainerRef) {\n\t\t\tthrow new Error('viewContainerRef needs to be defined!');\n\t\t}\n\t\tthis.viewContainerRef = viewContainerRef;\n\t}\n\n\tshowTemplate(templateRef: TemplateRef<NgxModalComponent>): EmbeddedViewRef<NgxModalComponent> {\n\t\tif (!this.viewContainerRef) {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t\treturn this.viewContainerRef.createEmbeddedView(templateRef);\n\t}\n\n\tcreateComponent<T extends BaseModalComponent>(component: Type<T>): ComponentRef<T> {\n\t\tif (!this.viewContainerRef) {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t\treturn this.viewContainerRef.createComponent(component);\n\t}\n\n\thide(): void {\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t}\n}\n","import { ComponentRef, Injectable, ViewContainerRef } from '@angular/core';\nimport { NgxToastComponent } from '../components';\n\n@Injectable({ providedIn: 'root' })\nexport class NgxToastService {\n\tviewContainerRef!: ViewContainerRef;\n\tcomponentRef!: ComponentRef<NgxToastComponent>;\n\tinterval: number | undefined;\n\n\tinit(viewContainer: ViewContainerRef): void {\n\t\tif (!viewContainer) {\n\t\t\tthrow new Error('viewContainerRef needs to be defined!');\n\t\t}\n\t\tthis.viewContainerRef = viewContainer;\n\t}\n\n\tshow(message: string, timeout: number = 1500): void {\n\t\tif (this.viewContainerRef) {\n\t\t\tif (this.componentRef) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\n\t\t\tthis.componentRef = this.viewContainerRef.createComponent(NgxToastComponent);\n\t\t\tthis.componentRef.instance.message = message;\n\t\t\tthis.componentRef.instance.onClose.subscribe(() => {\n\t\t\t\tthis.hide();\n\t\t\t});\n\n\t\t\tthis.interval = window.setTimeout(() => {\n\t\t\t\tthis.hide();\n\t\t\t}, timeout);\n\t\t} else {\n\t\t\tthrow Error('no viewcontainer ref is set');\n\t\t}\n\t}\n\n\thide(): void {\n\t\tif (this.componentRef) {\n\t\t\tthis.componentRef.destroy();\n\t\t}\n\t\tif (this.interval) {\n\t\t\tclearTimeout(this.interval);\n\t\t}\n\t}\n}\n","import { AbstractControl, FormArray, FormGroup, ValidationErrors } from '@angular/forms';\n\nexport function ngxDateAfterValidator<T extends { [key: string]: AbstractControl }>(\n\tstartDateControlKey: keyof T & string\n): (control: AbstractControl) => ValidationErrors | null {\n\treturn (endDateControl: AbstractControl): ValidationErrors | null => {\n\t\tlet result: ValidationErrors | null = null;\n\n\t\tconst formGroup: FormGroup<T> | FormArray | null = endDateControl.parent;\n\t\tif (formGroup) {\n\t\t\tconst startDate: string | undefined = (formGroup as FormGroup).get(\n\t\t\t\tstartDateControlKey\n\t\t\t)?.value;\n\t\t\tconst endDate: string = endDateControl.value;\n\n\t\t\tif (!startDate || !endDate) {\n\t\t\t\tresult = null;\n\t\t\t} else {\n\t\t\t\tconst start: Date = new Date(startDate);\n\t\t\t\tconst end: Date = new Date(endDate);\n\n\t\t\t\tresult = start < end ? null : { dateAfterInvalid: true, startDateValue: startDate };\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t};\n}\n","import { AbstractControl, FormArray, FormGroup, ValidationErrors } from '@angular/forms';\n\nexport function ngxMatchValidator<T extends { [key: string]: AbstractControl }>(\n\ttoMatchControlKey: keyof T & string\n): (control: AbstractControl) => ValidationErrors | null {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tlet result: ValidationErrors | null = null;\n\n\t\tconst formGroup: FormGroup<T> | FormArray | null = control.parent;\n\t\tif (formGroup) {\n\t\t\tconst toMatchValue: unknown = (formGroup as FormGroup).get(toMatchControlKey)?.value;\n\t\t\tconst currentValue: unknown = control.value;\n\n\t\t\tif (!toMatchValue || !currentValue) {\n\t\t\t\tresult = null;\n\t\t\t} else {\n\t\t\t\tresult = toMatchValue === currentValue ? null : { match: true };\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t};\n}\n","import {\n\tAbstractControl,\n\tFormArray,\n\tFormGroup,\n\tValidationErrors,\n\tValidatorFn,\n} from '@angular/forms';\n\nexport function ngxTimeAfterValidator<T extends { [key: string]: AbstractControl }>(\n\tstartTimeControlKey: keyof T & string\n): ValidatorFn {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tlet result: ValidationErrors | null = null;\n\n\t\tconst formGroup: FormGroup<T> | FormArray | null = control.parent;\n\t\tif (formGroup) {\n\t\t\tconst startTimeControl: AbstractControl | null = (formGroup as FormGroup).get(\n\t\t\t\tstartTimeControlKey\n\t\t\t);\n\t\t\tif (startTimeControl) {\n\t\t\t\tif (!control.value || !startTimeControl.value) {\n\t\t\t\t\tresult = null; // Keine Validierung, wenn entweder Start- oder Endzeit fehlt\n\t\t\t\t}\n\n\t\t\t\tconst startTime: string = startTimeControl.value;\n\t\t\t\tconst endTime: string = control.value;\n\n\t\t\t\t// Umwandlung der Zeit in Minuten (z.B. 20:00 Uhr = 1200 Minuten)\n\t\t\t\tif (startTime && endTime) {\n\t\t\t\t\tconst startMinutes: number = convertToMinutes(startTime);\n\t\t\t\t\tconst endMinutes: number = convertToMinutes(endTime);\n\t\t\t\t\tif (endMinutes <= startMinutes) {\n\t\t\t\t\t\tresult = { timeAfterError: startTimeControl.value };\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t};\n}\n\n// Funktion zur Umwandlung von Zeit in Minuten\nfunction convertToMinutes(time: string): number {\n\tconst [hours, minutes] = time.split(':').map(Number);\n\treturn hours * 60 + minutes;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { OnInit, TemplateRef } from '@angular/core';
|
|
1
|
+
import { InputSignal, OnInit, TemplateRef } from '@angular/core';
|
|
2
2
|
import { Placement } from '@popperjs/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NgxDropdownDirective implements OnInit {
|
|
5
|
-
dropdownTemplate: TemplateRef<unknown>;
|
|
6
|
-
placement: Placement;
|
|
7
5
|
private readonly elementRef;
|
|
8
6
|
private readonly renderer;
|
|
9
7
|
private readonly viewContainerRef;
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
ngxDropdown: InputSignal<TemplateRef<unknown>>;
|
|
9
|
+
placement: InputSignal<Placement>;
|
|
10
|
+
private dropdownElement;
|
|
11
|
+
private dropdownMenuContentElement;
|
|
12
12
|
private isDropdownVisible;
|
|
13
13
|
private popperInstance?;
|
|
14
14
|
ngOnInit(): void;
|
|
15
15
|
toggleDropdown(): void;
|
|
16
16
|
onDocumentClick(event: MouseEvent): void;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
17
|
+
private show;
|
|
18
|
+
private hide;
|
|
19
19
|
private addDropdownLinksListener;
|
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxDropdownDirective, never>;
|
|
21
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxDropdownDirective, "[ngxDropdown]",
|
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxDropdownDirective, "[ngxDropdown]", ["ngxDropdown"], { "ngxDropdown": { "alias": "ngxDropdown"; "required": true; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
22
22
|
}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { InputSignal, OnDestroy,
|
|
1
|
+
import { InputSignal, OnDestroy, TemplateRef } from '@angular/core';
|
|
2
2
|
import { Placement } from '@popperjs/core';
|
|
3
|
+
import { Size } from '../types/size.type';
|
|
4
|
+
import { TooltipTrigger } from '../types/tooltip.types';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare
|
|
5
|
-
hover = "hover",
|
|
6
|
-
manual = "manual"
|
|
7
|
-
}
|
|
8
|
-
export declare class NgxTooltipDirective implements OnInit, OnDestroy {
|
|
6
|
+
export declare class NgxTooltipDirective implements OnDestroy {
|
|
9
7
|
private readonly elementRef;
|
|
10
8
|
private readonly renderer;
|
|
11
9
|
private readonly viewContainerRef;
|
|
12
10
|
ngxTooltip: InputSignal<string | TemplateRef<unknown>>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
ngxTooltipClass: InputSignal<string>;
|
|
12
|
+
ngxTooltipPlacement: InputSignal<Placement>;
|
|
13
|
+
ngxTooltipIsShow: InputSignal<boolean>;
|
|
14
|
+
ngxTooltipXOffset: InputSignal<number>;
|
|
15
|
+
ngxTooltipYOffset: InputSignal<number>;
|
|
16
|
+
ngxTooltipDelay: InputSignal<number>;
|
|
17
|
+
ngxTooltipTriggers: InputSignal<TooltipTrigger[]>;
|
|
18
|
+
ngxTooltipSize: InputSignal<Size>;
|
|
19
|
+
ngxTooltipZIndex: InputSignal<number>;
|
|
20
|
+
ngxTooltipAdaptivePosition: InputSignal<boolean>;
|
|
21
|
+
ngxTooltipFallbackPlacements: InputSignal<Placement[]>;
|
|
20
22
|
private popperInstance?;
|
|
21
23
|
private tooltipElement;
|
|
22
24
|
private mutationObserver?;
|
|
@@ -24,17 +26,24 @@ export declare class NgxTooltipDirective implements OnInit, OnDestroy {
|
|
|
24
26
|
private openTimeout?;
|
|
25
27
|
private closeTimeout?;
|
|
26
28
|
private isOpen;
|
|
27
|
-
|
|
29
|
+
constructor();
|
|
28
30
|
ngOnDestroy(): void;
|
|
29
31
|
onHover(): void;
|
|
30
32
|
onLeave(): void;
|
|
33
|
+
onPointerEnter(): void;
|
|
34
|
+
onPointerOut(): void;
|
|
35
|
+
onFocusIn(): void;
|
|
36
|
+
onFocusOut(): void;
|
|
37
|
+
onClick(event: Event): void;
|
|
31
38
|
onDocumentClick(event: MouseEvent): void;
|
|
32
39
|
show(): void;
|
|
33
40
|
private init;
|
|
41
|
+
private observeMutation;
|
|
42
|
+
private isTooltipTargetVisible;
|
|
34
43
|
private renderText;
|
|
35
44
|
private renderTemplate;
|
|
36
45
|
hide(): void;
|
|
37
46
|
toggle(): void;
|
|
38
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxTooltipDirective, never>;
|
|
39
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxTooltipDirective, "[ngxTooltip]", ["ngxTooltip"], { "ngxTooltip": { "alias": "ngxTooltip"; "required": true; "isSignal": true; }; "
|
|
48
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxTooltipDirective, "[ngxTooltip]", ["ngxTooltip"], { "ngxTooltip": { "alias": "ngxTooltip"; "required": true; "isSignal": true; }; "ngxTooltipClass": { "alias": "ngxTooltipClass"; "required": false; "isSignal": true; }; "ngxTooltipPlacement": { "alias": "ngxTooltipPlacement"; "required": false; "isSignal": true; }; "ngxTooltipIsShow": { "alias": "ngxTooltipIsShow"; "required": false; "isSignal": true; }; "ngxTooltipXOffset": { "alias": "ngxTooltipXOffset"; "required": false; "isSignal": true; }; "ngxTooltipYOffset": { "alias": "ngxTooltipYOffset"; "required": false; "isSignal": true; }; "ngxTooltipDelay": { "alias": "ngxTooltipDelay"; "required": false; "isSignal": true; }; "ngxTooltipTriggers": { "alias": "ngxTooltipTriggers"; "required": false; "isSignal": true; }; "ngxTooltipSize": { "alias": "ngxTooltipSize"; "required": false; "isSignal": true; }; "ngxTooltipZIndex": { "alias": "ngxTooltipZIndex"; "required": false; "isSignal": true; }; "ngxTooltipAdaptivePosition": { "alias": "ngxTooltipAdaptivePosition"; "required": false; "isSignal": true; }; "ngxTooltipFallbackPlacements": { "alias": "ngxTooltipFallbackPlacements"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
40
49
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { NgxLoadingIndicatorComponent } from '../components';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class NgxLoadingIndicatorService {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
viewContainerRef: ViewContainerRef;
|
|
6
|
+
componentRef: ComponentRef<NgxLoadingIndicatorComponent>;
|
|
7
|
+
init(viewContainer: ViewContainerRef): void;
|
|
8
|
+
show(): void;
|
|
9
|
+
hide(): void;
|
|
6
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxLoadingIndicatorService, never>;
|
|
7
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<NgxLoadingIndicatorService>;
|
|
8
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './size.type';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Size = 'sm' | 'md' | 'lg';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TooltipTrigger = 'hover' | 'manual' | 'pointer' | 'focus';
|
package/package.json
CHANGED