ngx-gccb 0.25.0 → 0.26.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.
@@ -1,17 +1,15 @@
1
1
  import { trigger, transition, style, animate } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { input, signal, computed, Component, output, inject, ElementRef, Renderer2, ViewContainerRef, HostListener, Directive, effect, HostBinding, Input, Pipe, NgZone, viewChild, EventEmitter, Output, Injectable, TemplateRef, model, contentChildren } from '@angular/core';
4
- import * as i1 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
3
+ import { input, signal, computed, ChangeDetectionStrategy, Component, output, inject, ElementRef, Renderer2, ViewContainerRef, HostListener, Directive, effect, HostBinding, Input, Pipe, NgZone, viewChild, EventEmitter, Output, Injectable, TemplateRef, model, contentChildren } from '@angular/core';
6
4
  import dayjs from 'dayjs';
7
5
  import isoWeek from 'dayjs/plugin/isoWeek';
8
6
  import { createPopper } from '@popperjs/core';
9
7
  import * as i2 from '@angular/forms';
10
8
  import { UntypedFormGroup, UntypedFormControl, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
11
9
  import { debounceTime } from 'rxjs';
12
- import * as i1$1 from '@fortawesome/angular-fontawesome';
13
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
14
- import { faSpinner, faTimes } from '@fortawesome/free-solid-svg-icons';
10
+ import * as i1 from '@angular/common';
11
+ import { CommonModule } from '@angular/common';
12
+ import { DomSanitizer } from '@angular/platform-browser';
15
13
 
16
14
  const NgxFadeRightAnimation = trigger('ngxFadeRightAnimation', [
17
15
  transition(':enter', [
@@ -59,12 +57,12 @@ class NgxButtonComponent {
59
57
  return cssClasses.join(' ');
60
58
  }, ...(ngDevMode ? [{ debugName: "getCssClass" }] : []));
61
59
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: NgxButtonComponent, isStandalone: true, selector: "ngx-button", inputs: { cssClass: { classPropertyName: "cssClass", publicName: "cssClass", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, shadow: { classPropertyName: "shadow", publicName: "shadow", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "<button\n\t#buttonEl\n\t[className]=\"getCssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<ng-content />\n</button>\n" }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: NgxButtonComponent, isStandalone: true, selector: "ngx-button", inputs: { cssClass: { classPropertyName: "cssClass", publicName: "cssClass", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, shadow: { classPropertyName: "shadow", publicName: "shadow", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "<button\n\t#buttonEl\n\t[className]=\"getCssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<ng-content />\n</button>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
62
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxButtonComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxButtonComponent, decorators: [{
66
64
  type: Component,
67
- args: [{ selector: 'ngx-button', host: { class: 'd-inline-flex align-items-center' }, template: "<button\n\t#buttonEl\n\t[className]=\"getCssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<ng-content />\n</button>\n" }]
65
+ args: [{ selector: 'ngx-button', host: { class: 'd-inline-flex align-items-center' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n\t#buttonEl\n\t[className]=\"getCssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<ng-content />\n</button>\n" }]
68
66
  }], propDecorators: { cssClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "cssClass", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], shadow: [{ type: i0.Input, args: [{ isSignal: true, alias: "shadow", required: false }] }] } });
69
67
 
70
68
  dayjs.extend(isoWeek);
@@ -119,30 +117,30 @@ class CalendarComponent {
119
117
  isSelected(day) {
120
118
  return this.selectedDay?.isSame(day, 'day') || false;
121
119
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: CalendarComponent, isStandalone: true, selector: "ngx-calendar", outputs: { onDaySelected: "onDaySelected" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<ngx-button variant=\"outline\" (click)=\"previousMonth()\">\u00AB</ngx-button>\n\t<h4 class=\"m-0\">\n\t\t{{ currentMonth.format('MMMM YYYY') }}\n\t</h4>\n\t<ngx-button variant=\"outline\" (click)=\"nextMonth()\">\u00BB</ngx-button>\n</div>\n\n<div class=\"table-responsive\">\n\t<table class=\"table table-bordered text-center\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t@for (weekdayHeader of weekdayHeaders; track weekdayHeader) {\n\t\t\t\t\t<th>{{ weekdayHeader }}</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t@for (week of weeks; track $index) {\n\t\t\t\t<tr>\n\t\t\t\t\t@for (day of week; track day.date()) {\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"day\"\n\t\t\t\t\t\t\t[class.bg-light]=\"!isCurrentMonth(day)\"\n\t\t\t\t\t\t\t[class.bg-primary]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.text-white]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.bg-dark-subtle]=\"isToday(day)\"\n\t\t\t\t\t\t\t(click)=\"onSelectDay(day)\"\n\t\t\t\t\t\t\t(mouseover)=\"hoveredDay = day\"\n\t\t\t\t\t\t\t(mouseout)=\"hoveredDay = null\">\n\t\t\t\t\t\t\t{{ day.date() }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t}\n\t\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n</div>\n", styles: [".day:hover{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: NgxButtonComponent, selector: "ngx-button", inputs: ["cssClass", "type", "color", "size", "variant", "disabled", "shadow"] }] }); }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: CalendarComponent, isStandalone: true, selector: "ngx-calendar", outputs: { onDaySelected: "onDaySelected" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<ngx-button variant=\"outline\" (click)=\"previousMonth()\">\u00AB</ngx-button>\n\t<h4 class=\"m-0\">\n\t\t{{ currentMonth.format('MMMM YYYY') }}\n\t</h4>\n\t<ngx-button variant=\"outline\" (click)=\"nextMonth()\">\u00BB</ngx-button>\n</div>\n\n<div class=\"table-responsive\">\n\t<table class=\"table table-bordered text-center\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t@for (weekdayHeader of weekdayHeaders; track weekdayHeader) {\n\t\t\t\t\t<th>{{ weekdayHeader }}</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t@for (week of weeks; track $index) {\n\t\t\t\t<tr>\n\t\t\t\t\t@for (day of week; track day.date()) {\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"day\"\n\t\t\t\t\t\t\t[class.bg-light]=\"!isCurrentMonth(day)\"\n\t\t\t\t\t\t\t[class.bg-primary]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.text-white]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.bg-dark-subtle]=\"isToday(day)\"\n\t\t\t\t\t\t\t(click)=\"onSelectDay(day)\"\n\t\t\t\t\t\t\t(mouseover)=\"hoveredDay = day\"\n\t\t\t\t\t\t\t(mouseout)=\"hoveredDay = null\">\n\t\t\t\t\t\t\t{{ day.date() }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t}\n\t\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n</div>\n", styles: [".day:hover{cursor:pointer}\n"], dependencies: [{ kind: "component", type: NgxButtonComponent, selector: "ngx-button", inputs: ["cssClass", "type", "color", "size", "variant", "disabled", "shadow"] }] }); }
124
122
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CalendarComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: CalendarComponent, decorators: [{
126
124
  type: Component,
127
- args: [{ selector: 'ngx-calendar', imports: [CommonModule, NgxButtonComponent], template: "<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<ngx-button variant=\"outline\" (click)=\"previousMonth()\">\u00AB</ngx-button>\n\t<h4 class=\"m-0\">\n\t\t{{ currentMonth.format('MMMM YYYY') }}\n\t</h4>\n\t<ngx-button variant=\"outline\" (click)=\"nextMonth()\">\u00BB</ngx-button>\n</div>\n\n<div class=\"table-responsive\">\n\t<table class=\"table table-bordered text-center\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t@for (weekdayHeader of weekdayHeaders; track weekdayHeader) {\n\t\t\t\t\t<th>{{ weekdayHeader }}</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t@for (week of weeks; track $index) {\n\t\t\t\t<tr>\n\t\t\t\t\t@for (day of week; track day.date()) {\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"day\"\n\t\t\t\t\t\t\t[class.bg-light]=\"!isCurrentMonth(day)\"\n\t\t\t\t\t\t\t[class.bg-primary]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.text-white]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.bg-dark-subtle]=\"isToday(day)\"\n\t\t\t\t\t\t\t(click)=\"onSelectDay(day)\"\n\t\t\t\t\t\t\t(mouseover)=\"hoveredDay = day\"\n\t\t\t\t\t\t\t(mouseout)=\"hoveredDay = null\">\n\t\t\t\t\t\t\t{{ day.date() }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t}\n\t\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n</div>\n", styles: [".day:hover{cursor:pointer}\n"] }]
125
+ args: [{ selector: 'ngx-calendar', imports: [NgxButtonComponent], template: "<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<ngx-button variant=\"outline\" (click)=\"previousMonth()\">\u00AB</ngx-button>\n\t<h4 class=\"m-0\">\n\t\t{{ currentMonth.format('MMMM YYYY') }}\n\t</h4>\n\t<ngx-button variant=\"outline\" (click)=\"nextMonth()\">\u00BB</ngx-button>\n</div>\n\n<div class=\"table-responsive\">\n\t<table class=\"table table-bordered text-center\">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t@for (weekdayHeader of weekdayHeaders; track weekdayHeader) {\n\t\t\t\t\t<th>{{ weekdayHeader }}</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t@for (week of weeks; track $index) {\n\t\t\t\t<tr>\n\t\t\t\t\t@for (day of week; track day.date()) {\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"day\"\n\t\t\t\t\t\t\t[class.bg-light]=\"!isCurrentMonth(day)\"\n\t\t\t\t\t\t\t[class.bg-primary]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.text-white]=\"isSelected(day) || day === hoveredDay\"\n\t\t\t\t\t\t\t[class.bg-dark-subtle]=\"isToday(day)\"\n\t\t\t\t\t\t\t(click)=\"onSelectDay(day)\"\n\t\t\t\t\t\t\t(mouseover)=\"hoveredDay = day\"\n\t\t\t\t\t\t\t(mouseout)=\"hoveredDay = null\">\n\t\t\t\t\t\t\t{{ day.date() }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t}\n\t\t\t\t</tr>\n\t\t\t}\n\t\t</tbody>\n\t</table>\n</div>\n", styles: [".day:hover{cursor:pointer}\n"] }]
128
126
  }], propDecorators: { onDaySelected: [{ type: i0.Output, args: ["onDaySelected"] }] } });
129
127
 
130
128
  class NgxCardBodyComponent {
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxCardBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: NgxCardBodyComponent, isStandalone: true, selector: "ngx-card-body", ngImport: i0, template: "<div class=\"card-body\"><ng-content /></div>\n" }); }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxCardBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: NgxCardBodyComponent, isStandalone: true, selector: "ngx-card-body", ngImport: i0, template: "<div class=\"card-body\"><ng-content /></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
133
131
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxCardBodyComponent, decorators: [{
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxCardBodyComponent, decorators: [{
135
133
  type: Component,
136
- args: [{ selector: 'ngx-card-body', template: "<div class=\"card-body\"><ng-content /></div>\n" }]
134
+ args: [{ selector: 'ngx-card-body', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card-body\"><ng-content /></div>\n" }]
137
135
  }] });
138
136
 
139
137
  class NgxCardTitleComponent {
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxCardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: NgxCardTitleComponent, isStandalone: true, selector: "ngx-card-title", ngImport: i0, template: "<h5 class=\"card-title\"><ng-content /></h5>\n" }); }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxCardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: NgxCardTitleComponent, isStandalone: true, selector: "ngx-card-title", ngImport: i0, template: "<h5 class=\"card-title\"><ng-content /></h5>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
140
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxCardTitleComponent, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxCardTitleComponent, decorators: [{
144
142
  type: Component,
145
- args: [{ selector: 'ngx-card-title', template: "<h5 class=\"card-title\"><ng-content /></h5>\n" }]
143
+ args: [{ selector: 'ngx-card-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "<h5 class=\"card-title\"><ng-content /></h5>\n" }]
146
144
  }] });
147
145
 
148
146
  class NgxCardComponent {
@@ -152,12 +150,12 @@ class NgxCardComponent {
152
150
  ngOnInit() {
153
151
  this.elementRef.nativeElement.classList.add('card');
154
152
  }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: NgxCardComponent, isStandalone: true, selector: "ngx-card", ngImport: i0, template: "<div class=\"card\"><ng-content /></div>\n" }); }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: NgxCardComponent, isStandalone: true, selector: "ngx-card", ngImport: i0, template: "<div class=\"card\"><ng-content /></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
157
155
  }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxCardComponent, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxCardComponent, decorators: [{
159
157
  type: Component,
160
- args: [{ selector: 'ngx-card', template: "<div class=\"card\"><ng-content /></div>\n" }]
158
+ args: [{ selector: 'ngx-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card\"><ng-content /></div>\n" }]
161
159
  }] });
162
160
 
163
161
  class NgxDropdownDirective {
@@ -262,10 +260,10 @@ class NgxDropdownDirective {
262
260
  });
263
261
  });
264
262
  }
265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
266
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.12", 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 }); }
263
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
264
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", 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 }); }
267
265
  }
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxDropdownDirective, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxDropdownDirective, decorators: [{
269
267
  type: Directive,
270
268
  args: [{ selector: '[ngxDropdown]', exportAs: 'ngxDropdown' }]
271
269
  }], propDecorators: { ngxDropdown: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxDropdown", required: true }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], toggleDropdown: [{
@@ -305,8 +303,8 @@ class NgxFormErrorsComponent {
305
303
  timeAfterError: (errors) => `The time must be after ${errors?.['timeAfterError']}`,
306
304
  };
307
305
  }
308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
309
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: NgxFormErrorsComponent, isStandalone: true, selector: "ngx-form-errors", inputs: { isDirty: { classPropertyName: "isDirty", publicName: "isDirty", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
307
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: NgxFormErrorsComponent, isStandalone: true, selector: "ngx-form-errors", inputs: { isDirty: { classPropertyName: "isDirty", publicName: "isDirty", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
310
308
  @if (errorMessages()) {
311
309
  <div class="invalid-feedback d-block">
312
310
  @for (errorMessage of errorMessages(); track $index) {
@@ -314,9 +312,9 @@ class NgxFormErrorsComponent {
314
312
  }
315
313
  </div>
316
314
  }
317
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
315
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
318
316
  }
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormErrorsComponent, decorators: [{
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormErrorsComponent, decorators: [{
320
318
  type: Component,
321
319
  args: [{
322
320
  selector: 'ngx-form-errors',
@@ -329,7 +327,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
329
327
  </div>
330
328
  }
331
329
  `,
332
- imports: [CommonModule],
330
+ imports: [],
331
+ changeDetection: ChangeDetectionStrategy.OnPush,
333
332
  }]
334
333
  }], propDecorators: { isDirty: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDirty", required: false }] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }] } });
335
334
 
@@ -376,10 +375,10 @@ class NgxFormGroupDirective {
376
375
  this.formGroup().get(key)?.markAsUntouched({ onlySelf: true });
377
376
  });
378
377
  }
379
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
380
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.12", type: NgxFormGroupDirective, isStandalone: true, selector: "[ngxFormGroup]", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, validateOnChange: { classPropertyName: "validateOnChange", publicName: "validateOnChange", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ngxFormGroup"], ngImport: i0 }); }
378
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
379
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: NgxFormGroupDirective, isStandalone: true, selector: "[ngxFormGroup]", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, validateOnChange: { classPropertyName: "validateOnChange", publicName: "validateOnChange", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ngxFormGroup"], ngImport: i0 }); }
381
380
  }
382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormGroupDirective, decorators: [{
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormGroupDirective, decorators: [{
383
382
  type: Directive,
384
383
  args: [{
385
384
  selector: '[ngxFormGroup]',
@@ -447,10 +446,10 @@ class NgxFormInputDirective {
447
446
  this.elementRef.nativeElement.classList.remove('is-invalid');
448
447
  }
449
448
  }
450
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
451
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.12", type: NgxFormInputDirective, isStandalone: true, selector: "[ngxFormInput]", inputs: { ngxFormInput: { classPropertyName: "ngxFormInput", publicName: "ngxFormInput", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isFloatingLabel: { classPropertyName: "isFloatingLabel", publicName: "isFloatingLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
449
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
450
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: NgxFormInputDirective, isStandalone: true, selector: "[ngxFormInput]", inputs: { ngxFormInput: { classPropertyName: "ngxFormInput", publicName: "ngxFormInput", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isFloatingLabel: { classPropertyName: "isFloatingLabel", publicName: "isFloatingLabel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
452
451
  }
453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormInputDirective, decorators: [{
452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormInputDirective, decorators: [{
454
453
  type: Directive,
455
454
  args: [{ selector: '[ngxFormInput]' }]
456
455
  }], ctorParameters: () => [], propDecorators: { ngxFormInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxFormInput", required: true }] }], formControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControl", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], isFloatingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFloatingLabel", required: false }] }] } });
@@ -459,10 +458,10 @@ class NgxFormLabelDirective {
459
458
  constructor() {
460
459
  this.elementClass = 'form-label';
461
460
  }
462
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
463
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: NgxFormLabelDirective, isStandalone: true, selector: "label[ngxFormLabel]", host: { properties: { "class": "this.elementClass" } }, ngImport: i0 }); }
461
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
462
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: NgxFormLabelDirective, isStandalone: true, selector: "label[ngxFormLabel]", host: { properties: { "class": "this.elementClass" } }, ngImport: i0 }); }
464
463
  }
465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormLabelDirective, decorators: [{
464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormLabelDirective, decorators: [{
466
465
  type: Directive,
467
466
  args: [{ selector: 'label[ngxFormLabel]' }]
468
467
  }], propDecorators: { elementClass: [{
@@ -485,10 +484,10 @@ class NgxFormSelectDirective {
485
484
  ngOnInit() {
486
485
  this.elementRef.nativeElement.classList.add('form-select');
487
486
  }
488
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
489
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: NgxFormSelectDirective, isStandalone: true, selector: "select[ngxFormSelect]", inputs: { formInputInvalid: "formInputInvalid" }, ngImport: i0 }); }
487
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
488
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: NgxFormSelectDirective, isStandalone: true, selector: "select[ngxFormSelect]", inputs: { formInputInvalid: "formInputInvalid" }, ngImport: i0 }); }
490
489
  }
491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormSelectDirective, decorators: [{
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormSelectDirective, decorators: [{
492
491
  type: Directive,
493
492
  args: [{ selector: 'select[ngxFormSelect]' }]
494
493
  }], propDecorators: { formInputInvalid: [{
@@ -499,10 +498,10 @@ class NgxFormControlPipe {
499
498
  transform(value) {
500
499
  return value;
501
500
  }
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
503
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: NgxFormControlPipe, isStandalone: true, name: "ngxAsFormControl" }); }
501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
502
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: NgxFormControlPipe, isStandalone: true, name: "ngxAsFormControl" }); }
504
503
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormControlPipe, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormControlPipe, decorators: [{
506
505
  type: Pipe,
507
506
  args: [{ name: 'ngxAsFormControl' }]
508
507
  }] });
@@ -522,10 +521,10 @@ class NgxAutofocusDirective {
522
521
  });
523
522
  }
524
523
  }
525
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxAutofocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
526
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.12", type: NgxAutofocusDirective, isStandalone: true, selector: "[ngxAutofocus]", inputs: { ngxAutofocus: { classPropertyName: "ngxAutofocus", publicName: "ngxAutofocus", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
524
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxAutofocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
525
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: NgxAutofocusDirective, isStandalone: true, selector: "[ngxAutofocus]", inputs: { ngxAutofocus: { classPropertyName: "ngxAutofocus", publicName: "ngxAutofocus", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
527
526
  }
528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxAutofocusDirective, decorators: [{
527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxAutofocusDirective, decorators: [{
529
528
  type: Directive,
530
529
  args: [{ selector: '[ngxAutofocus]' }]
531
530
  }], propDecorators: { ngxAutofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxAutofocus", required: false }] }] } });
@@ -534,10 +533,10 @@ class AppIsFormControlPipe {
534
533
  transform(value) {
535
534
  return value;
536
535
  }
537
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AppIsFormControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
538
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AppIsFormControlPipe, isStandalone: true, name: "appIsFormControl" }); }
536
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: AppIsFormControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
537
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: AppIsFormControlPipe, isStandalone: true, name: "appIsFormControl" }); }
539
538
  }
540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AppIsFormControlPipe, decorators: [{
539
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: AppIsFormControlPipe, decorators: [{
541
540
  type: Pipe,
542
541
  args: [{ name: 'appIsFormControl' }]
543
542
  }] });
@@ -546,10 +545,10 @@ class NgxIsFormGroupPipe {
546
545
  transform(value) {
547
546
  return value;
548
547
  }
549
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxIsFormGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
550
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: NgxIsFormGroupPipe, isStandalone: true, name: "ngxIsFormGroup" }); }
548
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxIsFormGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
549
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: NgxIsFormGroupPipe, isStandalone: true, name: "ngxIsFormGroup" }); }
551
550
  }
552
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxIsFormGroupPipe, decorators: [{
551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxIsFormGroupPipe, decorators: [{
553
552
  type: Pipe,
554
553
  args: [{ name: 'ngxIsFormGroup' }]
555
554
  }] });
@@ -571,10 +570,10 @@ class NgxFormComponent {
571
570
  reset() {
572
571
  this.formGroupDirective()?.resetForm();
573
572
  }
574
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
575
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: NgxFormComponent, isStandalone: true, selector: "ngx-form", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onValidated: "onValidated" }, viewQueries: [{ propertyName: "formGroupDirective", first: true, predicate: NgxFormGroupDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<form ngxFormGroup #formGroupDirective=\"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 (subControl of (control.value | ngxIsFormGroup).controls | keyvalue: keepOriginalOrder; track $index) {\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@if (control.value | appIsFormControl; as typedControl) {\n\t\t<div class=\"mb-3\">\n\t\t\t<!-- <label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t{{ typedControl.customConfig?.label }}\n\t\t</label> -->\n\n\t\t\t@switch (typedControl.config?.type) {\n\t\t\t\t@case ('textarea') {\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[rows]=\"typedControl.config?.textareaConfig?.rows || 4\">\n\t\t\t\t\t</textarea>\n\t\t\t\t}\n\n\t\t\t\t@case ('select') {\n\t\t\t\t\t<select\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"select\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\">\n\t\t\t\t\t\t<option value=\"\" disabled selected>Select your option</option>\n\t\t\t\t\t\t@for (option of typedControl.config?.selectConfig?.options; track option.value) {\n\t\t\t\t\t\t\t<option [value]=\"option.value\" [disabled]=\"option.disabled\">\n\t\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t}\n\t\t\t\t\t</select>\n\t\t\t\t}\n\n\t\t\t\t@case ('checkbox') {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\n\t\t\t\t@default {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\t[type]=\"typedControl.config?.type || 'text'\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[autocomplete]=\"typedControl.config?.type === 'password' ? 'new-password' : undefined\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t\t{{ typedControl.config?.label }}\n\t\t\t</label>\n\n\t\t\t@if (typedControl.config?.hint) {\n\t\t\t\t<small class=\"text-muted\">\n\t\t\t\t\t{{ typedControl.config?.hint }}\n\t\t\t\t</small>\n\t\t\t}\n\n\t\t\t<ngx-form-errors [errors]=\"control.value.errors\" [isDirty]=\"control.value.dirty\" />\n\t\t</div>\n\t}\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgxFormGroupDirective, selector: "[ngxFormGroup]", inputs: ["formGroup", "validateOnChange"], exportAs: ["ngxFormGroup"] }, { kind: "directive", type: NgxFormLabelDirective, selector: "label[ngxFormLabel]" }, { kind: "component", type: NgxFormErrorsComponent, selector: "ngx-form-errors", inputs: ["isDirty", "errors"] }, { kind: "directive", type: NgxFormInputDirective, selector: "[ngxFormInput]", inputs: ["ngxFormInput", "formControl", "id", "name", "type", "placeholder", "isFloatingLabel"] }, { kind: "directive", type: NgxAutofocusDirective, selector: "[ngxAutofocus]", inputs: ["ngxAutofocus"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: AppIsFormControlPipe, name: "appIsFormControl" }, { kind: "pipe", type: NgxIsFormGroupPipe, name: "ngxIsFormGroup" }] }); }
573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
574
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: NgxFormComponent, isStandalone: true, selector: "ngx-form", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onValidated: "onValidated" }, viewQueries: [{ propertyName: "formGroupDirective", first: true, predicate: NgxFormGroupDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<form ngxFormGroup #formGroupDirective=\"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 (subControl of (control.value | ngxIsFormGroup).controls | keyvalue: keepOriginalOrder; track $index) {\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@if (control.value | appIsFormControl; as typedControl) {\n\t\t<div class=\"mb-3\">\n\t\t\t<!-- <label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t{{ typedControl.customConfig?.label }}\n\t\t</label> -->\n\n\t\t\t@switch (typedControl.config?.type) {\n\t\t\t\t@case ('textarea') {\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[rows]=\"typedControl.config?.textareaConfig?.rows || 4\">\n\t\t\t\t\t</textarea>\n\t\t\t\t}\n\n\t\t\t\t@case ('select') {\n\t\t\t\t\t<select\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"select\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\">\n\t\t\t\t\t\t<option value=\"\" disabled selected>Select your option</option>\n\t\t\t\t\t\t@for (option of typedControl.config?.selectConfig?.options; track option.value) {\n\t\t\t\t\t\t\t<option [value]=\"option.value\" [disabled]=\"option.disabled\">\n\t\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t}\n\t\t\t\t\t</select>\n\t\t\t\t}\n\n\t\t\t\t@case ('checkbox') {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\n\t\t\t\t@default {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\t[type]=\"typedControl.config?.type || 'text'\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[autocomplete]=\"typedControl.config?.type === 'password' ? 'new-password' : undefined\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t\t{{ typedControl.config?.label }}\n\t\t\t</label>\n\n\t\t\t@if (typedControl.config?.hint) {\n\t\t\t\t<small class=\"text-muted\">\n\t\t\t\t\t{{ typedControl.config?.hint }}\n\t\t\t\t</small>\n\t\t\t}\n\n\t\t\t<ngx-form-errors [errors]=\"control.value.errors\" [isDirty]=\"control.value.dirty\" />\n\t\t</div>\n\t}\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgxFormGroupDirective, selector: "[ngxFormGroup]", inputs: ["formGroup", "validateOnChange"], exportAs: ["ngxFormGroup"] }, { kind: "directive", type: NgxFormLabelDirective, selector: "label[ngxFormLabel]" }, { kind: "component", type: NgxFormErrorsComponent, selector: "ngx-form-errors", inputs: ["isDirty", "errors"] }, { kind: "directive", type: NgxFormInputDirective, selector: "[ngxFormInput]", inputs: ["ngxFormInput", "formControl", "id", "name", "type", "placeholder", "isFloatingLabel"] }, { kind: "directive", type: NgxAutofocusDirective, selector: "[ngxAutofocus]", inputs: ["ngxAutofocus"] }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: AppIsFormControlPipe, name: "appIsFormControl" }, { kind: "pipe", type: NgxIsFormGroupPipe, name: "ngxIsFormGroup" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
576
575
  }
577
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxFormComponent, decorators: [{
576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxFormComponent, decorators: [{
578
577
  type: Component,
579
578
  args: [{ selector: 'ngx-form', imports: [
580
579
  CommonModule,
@@ -586,12 +585,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
586
585
  AppIsFormControlPipe,
587
586
  NgxIsFormGroupPipe,
588
587
  NgxAutofocusDirective,
589
- ], template: "<form ngxFormGroup #formGroupDirective=\"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 (subControl of (control.value | ngxIsFormGroup).controls | keyvalue: keepOriginalOrder; track $index) {\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@if (control.value | appIsFormControl; as typedControl) {\n\t\t<div class=\"mb-3\">\n\t\t\t<!-- <label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t{{ typedControl.customConfig?.label }}\n\t\t</label> -->\n\n\t\t\t@switch (typedControl.config?.type) {\n\t\t\t\t@case ('textarea') {\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[rows]=\"typedControl.config?.textareaConfig?.rows || 4\">\n\t\t\t\t\t</textarea>\n\t\t\t\t}\n\n\t\t\t\t@case ('select') {\n\t\t\t\t\t<select\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"select\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\">\n\t\t\t\t\t\t<option value=\"\" disabled selected>Select your option</option>\n\t\t\t\t\t\t@for (option of typedControl.config?.selectConfig?.options; track option.value) {\n\t\t\t\t\t\t\t<option [value]=\"option.value\" [disabled]=\"option.disabled\">\n\t\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t}\n\t\t\t\t\t</select>\n\t\t\t\t}\n\n\t\t\t\t@case ('checkbox') {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\n\t\t\t\t@default {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\t[type]=\"typedControl.config?.type || 'text'\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[autocomplete]=\"typedControl.config?.type === 'password' ? 'new-password' : undefined\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t\t{{ typedControl.config?.label }}\n\t\t\t</label>\n\n\t\t\t@if (typedControl.config?.hint) {\n\t\t\t\t<small class=\"text-muted\">\n\t\t\t\t\t{{ typedControl.config?.hint }}\n\t\t\t\t</small>\n\t\t\t}\n\n\t\t\t<ngx-form-errors [errors]=\"control.value.errors\" [isDirty]=\"control.value.dirty\" />\n\t\t</div>\n\t}\n</ng-template>\n", styles: [":host{display:block}\n"] }]
588
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form ngxFormGroup #formGroupDirective=\"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 (subControl of (control.value | ngxIsFormGroup).controls | keyvalue: keepOriginalOrder; track $index) {\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@if (control.value | appIsFormControl; as typedControl) {\n\t\t<div class=\"mb-3\">\n\t\t\t<!-- <label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t{{ typedControl.customConfig?.label }}\n\t\t</label> -->\n\n\t\t\t@switch (typedControl.config?.type) {\n\t\t\t\t@case ('textarea') {\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"textarea\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[rows]=\"typedControl.config?.textareaConfig?.rows || 4\">\n\t\t\t\t\t</textarea>\n\t\t\t\t}\n\n\t\t\t\t@case ('select') {\n\t\t\t\t\t<select\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"select\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\">\n\t\t\t\t\t\t<option value=\"\" disabled selected>Select your option</option>\n\t\t\t\t\t\t@for (option of typedControl.config?.selectConfig?.options; track option.value) {\n\t\t\t\t\t\t\t<option [value]=\"option.value\" [disabled]=\"option.disabled\">\n\t\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t}\n\t\t\t\t\t</select>\n\t\t\t\t}\n\n\t\t\t\t@case ('checkbox') {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\n\t\t\t\t@default {\n\t\t\t\t\t<input\n\t\t\t\t\t\tngxFormInput\n\t\t\t\t\t\t[type]=\"typedControl.config?.type || 'text'\"\n\t\t\t\t\t\t[ngxAutofocus]=\"typedControl.config?.autofocus || false\"\n\t\t\t\t\t\t[id]=\"control.key\"\n\t\t\t\t\t\t[placeholder]=\"typedControl.config?.placeholder\"\n\t\t\t\t\t\t[formControl]=\"typedControl\"\n\t\t\t\t\t\t[autocomplete]=\"typedControl.config?.type === 'password' ? 'new-password' : undefined\"\n\t\t\t\t\t\t(keydown.enter)=\"validate()\" />\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t<label ngxFormLabel [attr.for]=\"control.key\">\n\t\t\t\t{{ typedControl.config?.label }}\n\t\t\t</label>\n\n\t\t\t@if (typedControl.config?.hint) {\n\t\t\t\t<small class=\"text-muted\">\n\t\t\t\t\t{{ typedControl.config?.hint }}\n\t\t\t\t</small>\n\t\t\t}\n\n\t\t\t<ngx-form-errors [errors]=\"control.value.errors\" [isDirty]=\"control.value.dirty\" />\n\t\t</div>\n\t}\n</ng-template>\n", styles: [":host{display:block}\n"] }]
590
589
  }], propDecorators: { formGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "formGroup", required: true }] }], formGroupDirective: [{ type: i0.ViewChild, args: [i0.forwardRef(() => NgxFormGroupDirective), { isSignal: true }] }], onValidated: [{ type: i0.Output, args: ["onValidated"] }] } });
591
590
 
591
+ class NgxIconComponent {
592
+ constructor() {
593
+ this.sanitizer = inject(DomSanitizer);
594
+ this.svg = input.required(...(ngDevMode ? [{ debugName: "svg" }] : []));
595
+ this.size = input('1.25em', ...(ngDevMode ? [{ debugName: "size" }] : []));
596
+ this.title = input(...(ngDevMode ? [undefined, { debugName: "title" }] : []));
597
+ this.ariaHidden = input(true, ...(ngDevMode ? [{ debugName: "ariaHidden" }] : []));
598
+ this.class = input(...(ngDevMode ? [undefined, { debugName: "class" }] : []));
599
+ this.svgHtml = computed(() => this.sanitizer.bypassSecurityTrustHtml(this.fixFill(this.svg())), ...(ngDevMode ? [{ debugName: "svgHtml" }] : []));
600
+ }
601
+ get hostSize() {
602
+ const size = this.size();
603
+ return typeof size === 'number' ? `${size}px` : (size ?? '1.25em');
604
+ }
605
+ get hostClass() {
606
+ return this.class() ?? null;
607
+ }
608
+ fixFill(svg) {
609
+ if (/^<svg[^>]*fill=/i.test(svg)) {
610
+ return svg.replace(/^<svg([^>]*)fill="[^"]*"/i, '<svg$1fill="currentColor"');
611
+ }
612
+ return svg.replace(/^<svg/i, '<svg fill="currentColor"');
613
+ }
614
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
615
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: NgxIconComponent, isStandalone: true, selector: "ngx-icon", inputs: { svg: { classPropertyName: "svg", publicName: "svg", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaHidden: { classPropertyName: "ariaHidden", publicName: "ariaHidden", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--ngx-icon-size": "this.hostSize", "class": "this.hostClass" } }, ngImport: i0, template: `
616
+ <span
617
+ class="ngx-icon"
618
+ [attr.aria-hidden]="ariaHidden() ? 'true' : null"
619
+ [attr.role]="ariaHidden() ? null : 'img'"
620
+ [attr.title]="title() || null"
621
+ [innerHTML]="svgHtml()">
622
+ </span>
623
+ `, isInline: true, styles: [":host{display:inline-block;line-height:0;vertical-align:middle}.ngx-icon{display:inline-block;width:var(--ngx-icon-size, 1.5em);height:var(--ngx-icon-size, 1.5em)}.ngx-icon svg{width:100%;height:100%;display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
624
+ }
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxIconComponent, decorators: [{
626
+ type: Component,
627
+ args: [{ selector: 'ngx-icon', standalone: true, imports: [CommonModule], template: `
628
+ <span
629
+ class="ngx-icon"
630
+ [attr.aria-hidden]="ariaHidden() ? 'true' : null"
631
+ [attr.role]="ariaHidden() ? null : 'img'"
632
+ [attr.title]="title() || null"
633
+ [innerHTML]="svgHtml()">
634
+ </span>
635
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;line-height:0;vertical-align:middle}.ngx-icon{display:inline-block;width:var(--ngx-icon-size, 1.5em);height:var(--ngx-icon-size, 1.5em)}.ngx-icon svg{width:100%;height:100%;display:block}\n"] }]
636
+ }], propDecorators: { svg: [{ type: i0.Input, args: [{ isSignal: true, alias: "svg", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], ariaHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaHidden", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], hostSize: [{
637
+ type: HostBinding,
638
+ args: ['style.--ngx-icon-size']
639
+ }], hostClass: [{
640
+ type: HostBinding,
641
+ args: ['class']
642
+ }] } });
643
+
592
644
  class NgxIconButtonComponent {
593
645
  constructor() {
594
- this.icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
646
+ this.svg = input.required(...(ngDevMode ? [{ debugName: "svg" }] : []));
595
647
  this.type = input(...(ngDevMode ? [undefined, { debugName: "type" }] : []));
596
648
  this.color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : []));
597
649
  this.size = input('sm', ...(ngDevMode ? [{ debugName: "size" }] : []));
@@ -601,11 +653,6 @@ class NgxIconButtonComponent {
601
653
  this.focused = signal(false, ...(ngDevMode ? [{ debugName: "focused" }] : []));
602
654
  this.cssClass = computed(() => {
603
655
  const cssClasses = ['btn', 'icon-button', `icon-button-${this.color()}`];
604
- // if (this.variant() === 'outline' || this.variant() === 'text') {
605
- // cssClasses.push(`btn-${this.variant()}-${this.color()}`);
606
- // } else {
607
- // cssClasses.push(`btn-${this.color()}`);
608
- // }
609
656
  if (this.focused()) {
610
657
  cssClasses.push(`focus-ring-${this.color()}`);
611
658
  }
@@ -617,13 +664,13 @@ class NgxIconButtonComponent {
617
664
  return cssClasses.join(' ');
618
665
  }, ...(ngDevMode ? [{ debugName: "cssClass" }] : []));
619
666
  }
620
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
621
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: NgxIconButtonComponent, isStandalone: true, selector: "ngx-icon-button", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, shadow: { classPropertyName: "shadow", publicName: "shadow", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "<button\n\t#buttonEl\n\t[className]=\"cssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<fa-icon [icon]=\"icon()\" />\n\t<ng-content />\n</button>\n", styles: [".icon-button{display:flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;border-radius:100%;background-color:transparent;border-color:transparent}.icon-button:focus{outline:0;box-shadow:0 0 0 .15rem gray}.icon-button-primary{color:#0d6efd}.icon-button-primary:hover,.icon-button-primary:focus{color:var(--primary-hover);background-color:#0000000a;border-color:transparent!important}.btn-primary:hover{background-color:var(--primary-hover)}.btn-text-primary{color:var(--primary);background-color:transparent!important}.btn-text-primary:hover{color:var(--primary-hover)!important;background-color:#6c757d1a!important}.icon-button-secondary{color:#6c757d}.icon-button-secondary:hover,.icon-button-secondary:focus{color:var(--secondary-hover);background-color:#0000000a;border-color:transparent!important}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-text-secondary{color:var(--secondary);background-color:transparent!important}.btn-text-secondary:hover{color:var(--secondary-hover)!important;background-color:#6c757d1a!important}.icon-button-success{color:#198754}.icon-button-success:hover,.icon-button-success:focus{color:var(--success-hover);background-color:#0000000a;border-color:transparent!important}.btn-success:hover{background-color:var(--success-hover)}.btn-text-success{color:var(--success);background-color:transparent!important}.btn-text-success:hover{color:var(--success-hover)!important;background-color:#6c757d1a!important}.icon-button-info{color:#0dcaf0}.icon-button-info:hover,.icon-button-info:focus{color:var(--info-hover);background-color:#0000000a;border-color:transparent!important}.btn-info:hover{background-color:var(--info-hover)}.btn-text-info{color:var(--info);background-color:transparent!important}.btn-text-info:hover{color:var(--info-hover)!important;background-color:#6c757d1a!important}.icon-button-warning{color:#ffc107}.icon-button-warning:hover,.icon-button-warning:focus{color:var(--warning-hover);background-color:#0000000a;border-color:transparent!important}.btn-warning:hover{background-color:var(--warning-hover)}.btn-text-warning{color:var(--warning);background-color:transparent!important}.btn-text-warning:hover{color:var(--warning-hover)!important;background-color:#6c757d1a!important}.icon-button-danger{color:#dc3545}.icon-button-danger:hover,.icon-button-danger:focus{color:var(--danger-hover);background-color:#0000000a;border-color:transparent!important}.btn-danger:hover{background-color:var(--danger-hover)}.btn-text-danger{color:var(--danger);background-color:transparent!important}.btn-text-danger:hover{color:var(--danger-hover)!important;background-color:#6c757d1a!important}.icon-button-light{color:#f8f9fa}.icon-button-light:hover,.icon-button-light:focus{color:var(--light-hover);background-color:#0000000a;border-color:transparent!important}.btn-light:hover{background-color:var(--light-hover)}.btn-text-light{color:var(--light);background-color:transparent!important}.btn-text-light:hover{color:var(--light-hover)!important;background-color:#6c757d1a!important}.icon-button-dark{color:#212529}.icon-button-dark:hover,.icon-button-dark:focus{color:var(--dark-hover);background-color:#0000000a;border-color:transparent!important}.btn-dark:hover{background-color:var(--dark-hover)}.btn-text-dark{color:var(--dark);background-color:transparent!important}.btn-text-dark:hover{color:var(--dark-hover)!important;background-color:#6c757d1a!important}\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"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] }); }
667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: NgxIconButtonComponent, isStandalone: true, selector: "ngx-icon-button", inputs: { svg: { classPropertyName: "svg", publicName: "svg", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, shadow: { classPropertyName: "shadow", publicName: "shadow", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-inline-flex align-items-center" }, ngImport: i0, template: "<button\n\t#buttonEl\n\t[className]=\"cssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<ngx-icon [svg]=\"svg()\" [class]=\"'text-' + color()\" />\n</button>\n", styles: [".icon-button{display:flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;border-radius:100%;background-color:transparent;border-color:transparent}.icon-button:focus{outline:0;box-shadow:0 0 0 .15rem gray}.icon-button svg{max-width:20px;max-height:20px}.icon-button-primary{color:#0d6efd}.icon-button-primary:hover,.icon-button-primary:focus{color:var(--primary-hover);background-color:#0000000a;border-color:transparent!important}.btn-primary:hover{background-color:var(--primary-hover)}.btn-text-primary{color:var(--primary);background-color:transparent!important}.btn-text-primary:hover{color:var(--primary-hover)!important;background-color:#6c757d1a!important}.icon-button-secondary{color:#6c757d}.icon-button-secondary:hover,.icon-button-secondary:focus{color:var(--secondary-hover);background-color:#0000000a;border-color:transparent!important}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-text-secondary{color:var(--secondary);background-color:transparent!important}.btn-text-secondary:hover{color:var(--secondary-hover)!important;background-color:#6c757d1a!important}.icon-button-success{color:#198754}.icon-button-success:hover,.icon-button-success:focus{color:var(--success-hover);background-color:#0000000a;border-color:transparent!important}.btn-success:hover{background-color:var(--success-hover)}.btn-text-success{color:var(--success);background-color:transparent!important}.btn-text-success:hover{color:var(--success-hover)!important;background-color:#6c757d1a!important}.icon-button-info{color:#0dcaf0}.icon-button-info:hover,.icon-button-info:focus{color:var(--info-hover);background-color:#0000000a;border-color:transparent!important}.btn-info:hover{background-color:var(--info-hover)}.btn-text-info{color:var(--info);background-color:transparent!important}.btn-text-info:hover{color:var(--info-hover)!important;background-color:#6c757d1a!important}.icon-button-warning{color:#ffc107}.icon-button-warning:hover,.icon-button-warning:focus{color:var(--warning-hover);background-color:#0000000a;border-color:transparent!important}.btn-warning:hover{background-color:var(--warning-hover)}.btn-text-warning{color:var(--warning);background-color:transparent!important}.btn-text-warning:hover{color:var(--warning-hover)!important;background-color:#6c757d1a!important}.icon-button-danger{color:#dc3545}.icon-button-danger:hover,.icon-button-danger:focus{color:var(--danger-hover);background-color:#0000000a;border-color:transparent!important}.btn-danger:hover{background-color:var(--danger-hover)}.btn-text-danger{color:var(--danger);background-color:transparent!important}.btn-text-danger:hover{color:var(--danger-hover)!important;background-color:#6c757d1a!important}.icon-button-light{color:#f8f9fa}.icon-button-light:hover,.icon-button-light:focus{color:var(--light-hover);background-color:#0000000a;border-color:transparent!important}.btn-light:hover{background-color:var(--light-hover)}.btn-text-light{color:var(--light);background-color:transparent!important}.btn-text-light:hover{color:var(--light-hover)!important;background-color:#6c757d1a!important}.icon-button-dark{color:#212529}.icon-button-dark:hover,.icon-button-dark:focus{color:var(--dark-hover);background-color:#0000000a;border-color:transparent!important}.btn-dark:hover{background-color:var(--dark-hover)}.btn-text-dark{color:var(--dark);background-color:transparent!important}.btn-text-dark:hover{color:var(--dark-hover)!important;background-color:#6c757d1a!important}\n"], dependencies: [{ kind: "component", type: NgxIconComponent, selector: "ngx-icon", inputs: ["svg", "size", "title", "ariaHidden", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
622
669
  }
623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxIconButtonComponent, decorators: [{
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxIconButtonComponent, decorators: [{
624
671
  type: Component,
625
- args: [{ selector: 'ngx-icon-button', host: { class: 'd-inline-flex align-items-center' }, imports: [FontAwesomeModule], template: "<button\n\t#buttonEl\n\t[className]=\"cssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<fa-icon [icon]=\"icon()\" />\n\t<ng-content />\n</button>\n", styles: [".icon-button{display:flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;border-radius:100%;background-color:transparent;border-color:transparent}.icon-button:focus{outline:0;box-shadow:0 0 0 .15rem gray}.icon-button-primary{color:#0d6efd}.icon-button-primary:hover,.icon-button-primary:focus{color:var(--primary-hover);background-color:#0000000a;border-color:transparent!important}.btn-primary:hover{background-color:var(--primary-hover)}.btn-text-primary{color:var(--primary);background-color:transparent!important}.btn-text-primary:hover{color:var(--primary-hover)!important;background-color:#6c757d1a!important}.icon-button-secondary{color:#6c757d}.icon-button-secondary:hover,.icon-button-secondary:focus{color:var(--secondary-hover);background-color:#0000000a;border-color:transparent!important}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-text-secondary{color:var(--secondary);background-color:transparent!important}.btn-text-secondary:hover{color:var(--secondary-hover)!important;background-color:#6c757d1a!important}.icon-button-success{color:#198754}.icon-button-success:hover,.icon-button-success:focus{color:var(--success-hover);background-color:#0000000a;border-color:transparent!important}.btn-success:hover{background-color:var(--success-hover)}.btn-text-success{color:var(--success);background-color:transparent!important}.btn-text-success:hover{color:var(--success-hover)!important;background-color:#6c757d1a!important}.icon-button-info{color:#0dcaf0}.icon-button-info:hover,.icon-button-info:focus{color:var(--info-hover);background-color:#0000000a;border-color:transparent!important}.btn-info:hover{background-color:var(--info-hover)}.btn-text-info{color:var(--info);background-color:transparent!important}.btn-text-info:hover{color:var(--info-hover)!important;background-color:#6c757d1a!important}.icon-button-warning{color:#ffc107}.icon-button-warning:hover,.icon-button-warning:focus{color:var(--warning-hover);background-color:#0000000a;border-color:transparent!important}.btn-warning:hover{background-color:var(--warning-hover)}.btn-text-warning{color:var(--warning);background-color:transparent!important}.btn-text-warning:hover{color:var(--warning-hover)!important;background-color:#6c757d1a!important}.icon-button-danger{color:#dc3545}.icon-button-danger:hover,.icon-button-danger:focus{color:var(--danger-hover);background-color:#0000000a;border-color:transparent!important}.btn-danger:hover{background-color:var(--danger-hover)}.btn-text-danger{color:var(--danger);background-color:transparent!important}.btn-text-danger:hover{color:var(--danger-hover)!important;background-color:#6c757d1a!important}.icon-button-light{color:#f8f9fa}.icon-button-light:hover,.icon-button-light:focus{color:var(--light-hover);background-color:#0000000a;border-color:transparent!important}.btn-light:hover{background-color:var(--light-hover)}.btn-text-light{color:var(--light);background-color:transparent!important}.btn-text-light:hover{color:var(--light-hover)!important;background-color:#6c757d1a!important}.icon-button-dark{color:#212529}.icon-button-dark:hover,.icon-button-dark:focus{color:var(--dark-hover);background-color:#0000000a;border-color:transparent!important}.btn-dark:hover{background-color:var(--dark-hover)}.btn-text-dark{color:var(--dark);background-color:transparent!important}.btn-text-dark:hover{color:var(--dark-hover)!important;background-color:#6c757d1a!important}\n"] }]
626
- }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], shadow: [{ type: i0.Input, args: [{ isSignal: true, alias: "shadow", required: false }] }] } });
672
+ args: [{ selector: 'ngx-icon-button', host: { class: 'd-inline-flex align-items-center' }, imports: [NgxIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n\t#buttonEl\n\t[className]=\"cssClass()\"\n\t[attr.type]=\"type()\"\n\t[attr.disabled]=\"disabled()\"\n\t(focus)=\"focused.set(true)\"\n\t(blur)=\"focused.set(false)\">\n\t<ngx-icon [svg]=\"svg()\" [class]=\"'text-' + color()\" />\n</button>\n", styles: [".icon-button{display:flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;border-radius:100%;background-color:transparent;border-color:transparent}.icon-button:focus{outline:0;box-shadow:0 0 0 .15rem gray}.icon-button svg{max-width:20px;max-height:20px}.icon-button-primary{color:#0d6efd}.icon-button-primary:hover,.icon-button-primary:focus{color:var(--primary-hover);background-color:#0000000a;border-color:transparent!important}.btn-primary:hover{background-color:var(--primary-hover)}.btn-text-primary{color:var(--primary);background-color:transparent!important}.btn-text-primary:hover{color:var(--primary-hover)!important;background-color:#6c757d1a!important}.icon-button-secondary{color:#6c757d}.icon-button-secondary:hover,.icon-button-secondary:focus{color:var(--secondary-hover);background-color:#0000000a;border-color:transparent!important}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-text-secondary{color:var(--secondary);background-color:transparent!important}.btn-text-secondary:hover{color:var(--secondary-hover)!important;background-color:#6c757d1a!important}.icon-button-success{color:#198754}.icon-button-success:hover,.icon-button-success:focus{color:var(--success-hover);background-color:#0000000a;border-color:transparent!important}.btn-success:hover{background-color:var(--success-hover)}.btn-text-success{color:var(--success);background-color:transparent!important}.btn-text-success:hover{color:var(--success-hover)!important;background-color:#6c757d1a!important}.icon-button-info{color:#0dcaf0}.icon-button-info:hover,.icon-button-info:focus{color:var(--info-hover);background-color:#0000000a;border-color:transparent!important}.btn-info:hover{background-color:var(--info-hover)}.btn-text-info{color:var(--info);background-color:transparent!important}.btn-text-info:hover{color:var(--info-hover)!important;background-color:#6c757d1a!important}.icon-button-warning{color:#ffc107}.icon-button-warning:hover,.icon-button-warning:focus{color:var(--warning-hover);background-color:#0000000a;border-color:transparent!important}.btn-warning:hover{background-color:var(--warning-hover)}.btn-text-warning{color:var(--warning);background-color:transparent!important}.btn-text-warning:hover{color:var(--warning-hover)!important;background-color:#6c757d1a!important}.icon-button-danger{color:#dc3545}.icon-button-danger:hover,.icon-button-danger:focus{color:var(--danger-hover);background-color:#0000000a;border-color:transparent!important}.btn-danger:hover{background-color:var(--danger-hover)}.btn-text-danger{color:var(--danger);background-color:transparent!important}.btn-text-danger:hover{color:var(--danger-hover)!important;background-color:#6c757d1a!important}.icon-button-light{color:#f8f9fa}.icon-button-light:hover,.icon-button-light:focus{color:var(--light-hover);background-color:#0000000a;border-color:transparent!important}.btn-light:hover{background-color:var(--light-hover)}.btn-text-light{color:var(--light);background-color:transparent!important}.btn-text-light:hover{color:var(--light-hover)!important;background-color:#6c757d1a!important}.icon-button-dark{color:#212529}.icon-button-dark:hover,.icon-button-dark:focus{color:var(--dark-hover);background-color:#0000000a;border-color:transparent!important}.btn-dark:hover{background-color:var(--dark-hover)}.btn-text-dark{color:var(--dark);background-color:transparent!important}.btn-text-dark:hover{color:var(--dark-hover)!important;background-color:#6c757d1a!important}\n"] }]
673
+ }], propDecorators: { svg: [{ type: i0.Input, args: [{ isSignal: true, alias: "svg", required: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], shadow: [{ type: i0.Input, args: [{ isSignal: true, alias: "shadow", required: false }] }] } });
627
674
 
628
675
  class NgxListGroupItemAvatarDirective {
629
676
  constructor() {
@@ -632,12 +679,14 @@ class NgxListGroupItemAvatarDirective {
632
679
  ngOnInit() {
633
680
  this.elementRef.nativeElement.classList.add('list-group-item-avatar');
634
681
  }
635
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxListGroupItemAvatarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
636
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: NgxListGroupItemAvatarDirective, isStandalone: true, selector: "[ngxListGroupItemAvatar]", ngImport: i0 }); }
682
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxListGroupItemAvatarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
683
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: NgxListGroupItemAvatarDirective, isStandalone: true, selector: "[ngxListGroupItemAvatar]", ngImport: i0 }); }
637
684
  }
638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxListGroupItemAvatarDirective, decorators: [{
685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxListGroupItemAvatarDirective, decorators: [{
639
686
  type: Directive,
640
- args: [{ selector: '[ngxListGroupItemAvatar]' }]
687
+ args: [{
688
+ selector: '[ngxListGroupItemAvatar]',
689
+ }]
641
690
  }] });
642
691
 
643
692
  class NgxListGroupItemDirective {
@@ -668,12 +717,14 @@ class NgxListGroupItemDirective {
668
717
  }
669
718
  });
670
719
  }
671
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxListGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
672
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: NgxListGroupItemDirective, isStandalone: true, selector: "li[ngxListGroupItem]", inputs: { isActive: "isActive" }, outputs: { onOutsideClick: "onOutsideClick" }, ngImport: i0 }); }
720
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxListGroupItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
721
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: NgxListGroupItemDirective, isStandalone: true, selector: "li[ngxListGroupItem]", inputs: { isActive: "isActive" }, outputs: { onOutsideClick: "onOutsideClick" }, ngImport: i0 }); }
673
722
  }
674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxListGroupItemDirective, decorators: [{
723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxListGroupItemDirective, decorators: [{
675
724
  type: Directive,
676
- args: [{ selector: 'li[ngxListGroupItem]' }]
725
+ args: [{
726
+ selector: 'li[ngxListGroupItem]',
727
+ }]
677
728
  }], propDecorators: { isActive: [{
678
729
  type: Input
679
730
  }], onOutsideClick: [{
@@ -688,24 +739,31 @@ class NgxListGroupDirective {
688
739
  this.elementRef.nativeElement.classList.add('list-group');
689
740
  this.elementRef.nativeElement.classList.add('list-group-flush');
690
741
  }
691
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxListGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
692
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: NgxListGroupDirective, isStandalone: true, selector: "ul[ngxListGroup]", ngImport: i0 }); }
742
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxListGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
743
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: NgxListGroupDirective, isStandalone: true, selector: "ul[ngxListGroup]", ngImport: i0 }); }
693
744
  }
694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxListGroupDirective, decorators: [{
745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxListGroupDirective, decorators: [{
695
746
  type: Directive,
696
- args: [{ selector: 'ul[ngxListGroup]' }]
747
+ args: [{
748
+ selector: 'ul[ngxListGroup]',
749
+ }]
697
750
  }] });
698
751
 
752
+ const LibIcons = {
753
+ faXmark: 'assets/icons/xmark-solid-full.svg',
754
+ faSpinner: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M272 112C272 85.5 293.5 64 320 64C346.5 64 368 85.5 368 112C368 138.5 346.5 160 320 160C293.5 160 272 138.5 272 112zM272 528C272 501.5 293.5 480 320 480C346.5 480 368 501.5 368 528C368 554.5 346.5 576 320 576C293.5 576 272 554.5 272 528zM112 272C138.5 272 160 293.5 160 320C160 346.5 138.5 368 112 368C85.5 368 64 346.5 64 320C64 293.5 85.5 272 112 272zM480 320C480 293.5 501.5 272 528 272C554.5 272 576 293.5 576 320C576 346.5 554.5 368 528 368C501.5 368 480 346.5 480 320zM139 433.1C157.8 414.3 188.1 414.3 206.9 433.1C225.7 451.9 225.7 482.2 206.9 501C188.1 519.8 157.8 519.8 139 501C120.2 482.2 120.2 451.9 139 433.1zM139 139C157.8 120.2 188.1 120.2 206.9 139C225.7 157.8 225.7 188.1 206.9 206.9C188.1 225.7 157.8 225.7 139 206.9C120.2 188.1 120.2 157.8 139 139zM501 433.1C519.8 451.9 519.8 482.2 501 501C482.2 519.8 451.9 519.8 433.1 501C414.3 482.2 414.3 451.9 433.1 433.1C451.9 414.3 482.2 414.3 501 433.1z"/></svg>',
755
+ };
756
+
699
757
  class NgxLoadingIndicatorComponent {
700
758
  constructor() {
701
- this.faSpinner = faSpinner;
759
+ this.LibIcons = LibIcons;
702
760
  }
703
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxLoadingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
704
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", 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"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] }); }
761
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxLoadingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
762
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: NgxLoadingIndicatorComponent, isStandalone: true, selector: "ngx-loading-indicator", ngImport: i0, template: "<!-- <fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\" /> -->\n\n<img [src]=\"LibIcons.faSpinner\" />\n", styles: [":host{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#495057}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
705
763
  }
706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxLoadingIndicatorComponent, decorators: [{
764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxLoadingIndicatorComponent, decorators: [{
707
765
  type: Component,
708
- 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"] }]
766
+ args: [{ selector: 'ngx-loading-indicator', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <fa-icon animation=\"spin\" size=\"2x\" [icon]=\"faSpinner\" /> -->\n\n<img [src]=\"LibIcons.faSpinner\" />\n", styles: [":host{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#495057}\n"] }]
709
767
  }] });
710
768
 
711
769
  class NgxLoadingIndicatorService {
@@ -731,19 +789,19 @@ class NgxLoadingIndicatorService {
731
789
  this.componentRef.destroy();
732
790
  }
733
791
  }
734
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxLoadingIndicatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
735
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxLoadingIndicatorService, providedIn: 'root' }); }
792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxLoadingIndicatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
793
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxLoadingIndicatorService, providedIn: 'root' }); }
736
794
  }
737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxLoadingIndicatorService, decorators: [{
795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxLoadingIndicatorService, decorators: [{
738
796
  type: Injectable,
739
797
  args: [{ providedIn: 'root' }]
740
798
  }] });
741
799
 
742
800
  class BaseModalComponent {
743
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: BaseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
744
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: BaseModalComponent, isStandalone: true, selector: "ngx-base-modal", ngImport: i0, template: ``, isInline: true }); }
801
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: BaseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
802
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: BaseModalComponent, isStandalone: true, selector: "ngx-base-modal", ngImport: i0, template: ``, isInline: true }); }
745
803
  }
746
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: BaseModalComponent, decorators: [{
804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: BaseModalComponent, decorators: [{
747
805
  type: Component,
748
806
  args: [{
749
807
  selector: 'ngx-base-modal',
@@ -764,10 +822,10 @@ class NgxColDirective {
764
822
  ngAfterViewInit() {
765
823
  this.el.nativeElement.classList.add(this.span);
766
824
  }
767
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
768
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: NgxColDirective, isStandalone: true, selector: "[ngxCol]", inputs: { col: "col" }, ngImport: i0 }); }
825
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
826
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: NgxColDirective, isStandalone: true, selector: "[ngxCol]", inputs: { col: "col" }, ngImport: i0 }); }
769
827
  }
770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxColDirective, decorators: [{
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxColDirective, decorators: [{
771
829
  type: Directive,
772
830
  args: [{ selector: '[ngxCol]' }]
773
831
  }], propDecorators: { col: [{
@@ -960,10 +1018,10 @@ class NgxTooltipDirective {
960
1018
  this.show();
961
1019
  }
962
1020
  }
963
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
964
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.12", 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 }); }
1021
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1022
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", 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()", "document:click": "onDocumentClick($event)" } }, exportAs: ["ngxTooltip"], ngImport: i0 }); }
965
1023
  }
966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTooltipDirective, decorators: [{
1024
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTooltipDirective, decorators: [{
967
1025
  type: Directive,
968
1026
  args: [{ selector: '[ngxTooltip]', exportAs: 'ngxTooltip' }]
969
1027
  }], ctorParameters: () => [], propDecorators: { ngxTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltip", required: true }] }], ngxTooltipClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipClass", required: false }] }], ngxTooltipPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipPlacement", required: false }] }], ngxTooltipIsShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipIsShow", required: false }] }], ngxTooltipXOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipXOffset", required: false }] }], ngxTooltipYOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipYOffset", required: false }] }], ngxTooltipDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipDelay", required: false }] }], ngxTooltipTriggers: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipTriggers", required: false }] }], ngxTooltipSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipSize", required: false }] }], ngxTooltipZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipZIndex", required: false }] }], ngxTooltipAdaptivePosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipAdaptivePosition", required: false }] }], ngxTooltipFallbackPlacements: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngxTooltipFallbackPlacements", required: false }] }], onHover: [{
@@ -986,7 +1044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
986
1044
  args: ['focusout']
987
1045
  }], onClick: [{
988
1046
  type: HostListener,
989
- args: ['click', ['$event']]
1047
+ args: ['click']
990
1048
  }], onDocumentClick: [{
991
1049
  type: HostListener,
992
1050
  args: ['document:click', ['$event']]
@@ -1018,7 +1076,7 @@ class NgxModalComponent {
1018
1076
  }
1019
1077
  return classes;
1020
1078
  }, ...(ngDevMode ? [{ debugName: "dialogCssClasses" }] : []));
1021
- this.faTimes = faTimes;
1079
+ this.LibIcons = LibIcons;
1022
1080
  }
1023
1081
  handleKeyboardEvent() {
1024
1082
  this.onClose.emit();
@@ -1026,15 +1084,15 @@ class NgxModalComponent {
1026
1084
  handleClickClose() {
1027
1085
  this.onClose.emit();
1028
1086
  }
1029
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1030
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: NgxModalComponent, isStandalone: true, selector: "ngx-modal", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null }, fullScreen: { classPropertyName: "fullScreen", publicName: "fullScreen", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, centered: { classPropertyName: "centered", publicName: "centered", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, host: { listeners: { "document:keydown.escape": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"modal d-flex justify-content-center align-items-center\" [ngxAutofocus]=\"true\" tabindex=\"0\">\n\t<div class=\"modal-dialog w-100\" [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<ngx-icon-button\n\t\t\t\t\t\t[icon]=\"faTimes\"\n\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\tngxTooltip=\"close\"\n\t\t\t\t\t\t[ngxTooltipZIndex]=\"1055\"\n\t\t\t\t\t\tclass=\"ms-2\"\n\t\t\t\t\t\t(click)=\"handleClickClose()\" />\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "directive", type: NgxTooltipDirective, selector: "[ngxTooltip]", inputs: ["ngxTooltip", "ngxTooltipClass", "ngxTooltipPlacement", "ngxTooltipIsShow", "ngxTooltipXOffset", "ngxTooltipYOffset", "ngxTooltipDelay", "ngxTooltipTriggers", "ngxTooltipSize", "ngxTooltipZIndex", "ngxTooltipAdaptivePosition", "ngxTooltipFallbackPlacements"], exportAs: ["ngxTooltip"] }, { kind: "component", type: NgxIconButtonComponent, selector: "ngx-icon-button", inputs: ["icon", "type", "color", "size", "variant", "disabled", "shadow"] }, { kind: "directive", type: NgxAutofocusDirective, selector: "[ngxAutofocus]", inputs: ["ngxAutofocus"] }] }); }
1087
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1088
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: NgxModalComponent, isStandalone: true, selector: "ngx-modal", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null }, fullScreen: { classPropertyName: "fullScreen", publicName: "fullScreen", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, centered: { classPropertyName: "centered", publicName: "centered", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, host: { listeners: { "document:keydown.escape": "handleKeyboardEvent()" } }, ngImport: i0, template: "<div class=\"modal d-flex justify-content-center align-items-center\" [ngxAutofocus]=\"true\" tabindex=\"0\">\n\t<div class=\"modal-dialog w-100\" [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<ngx-icon-button\n\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\tngxTooltip=\"close\"\n\t\t\t\t\t\t[ngxTooltipZIndex]=\"1055\"\n\t\t\t\t\t\tclass=\"ms-2\"\n\t\t\t\t\t\t(click)=\"handleClickClose()\"\n\t\t\t\t\t\t[svg]=\"LibIcons.faXmark\" />\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgxTooltipDirective, selector: "[ngxTooltip]", inputs: ["ngxTooltip", "ngxTooltipClass", "ngxTooltipPlacement", "ngxTooltipIsShow", "ngxTooltipXOffset", "ngxTooltipYOffset", "ngxTooltipDelay", "ngxTooltipTriggers", "ngxTooltipSize", "ngxTooltipZIndex", "ngxTooltipAdaptivePosition", "ngxTooltipFallbackPlacements"], exportAs: ["ngxTooltip"] }, { kind: "component", type: NgxIconButtonComponent, selector: "ngx-icon-button", inputs: ["svg", "type", "color", "size", "variant", "disabled", "shadow"] }, { kind: "directive", type: NgxAutofocusDirective, selector: "[ngxAutofocus]", inputs: ["ngxAutofocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1031
1089
  }
1032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxModalComponent, decorators: [{
1090
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxModalComponent, decorators: [{
1033
1091
  type: Component,
1034
- args: [{ selector: 'ngx-modal', imports: [CommonModule, FontAwesomeModule, NgxTooltipDirective, NgxIconButtonComponent, NgxAutofocusDirective], template: "<div class=\"modal d-flex justify-content-center align-items-center\" [ngxAutofocus]=\"true\" tabindex=\"0\">\n\t<div class=\"modal-dialog w-100\" [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<ngx-icon-button\n\t\t\t\t\t\t[icon]=\"faTimes\"\n\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\tngxTooltip=\"close\"\n\t\t\t\t\t\t[ngxTooltipZIndex]=\"1055\"\n\t\t\t\t\t\tclass=\"ms-2\"\n\t\t\t\t\t\t(click)=\"handleClickClose()\" />\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" }]
1092
+ args: [{ selector: 'ngx-modal', imports: [CommonModule, NgxTooltipDirective, NgxIconButtonComponent, NgxAutofocusDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal d-flex justify-content-center align-items-center\" [ngxAutofocus]=\"true\" tabindex=\"0\">\n\t<div class=\"modal-dialog w-100\" [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<ngx-icon-button\n\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\tngxTooltip=\"close\"\n\t\t\t\t\t\t[ngxTooltipZIndex]=\"1055\"\n\t\t\t\t\t\tclass=\"ms-2\"\n\t\t\t\t\t\t(click)=\"handleClickClose()\"\n\t\t\t\t\t\t[svg]=\"LibIcons.faXmark\" />\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" }]
1035
1093
  }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], showClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClose", required: false }] }], fullScreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullScreen", required: false }] }], scrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollable", required: false }] }], centered: [{ type: i0.Input, args: [{ isSignal: true, alias: "centered", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], onClose: [{ type: i0.Output, args: ["onClose"] }], handleKeyboardEvent: [{
1036
1094
  type: HostListener,
1037
- args: ['document:keydown.escape', ['$event']]
1095
+ args: ['document:keydown.escape']
1038
1096
  }] } });
1039
1097
 
1040
1098
  class NgxModalService {
@@ -1061,10 +1119,10 @@ class NgxModalService {
1061
1119
  this.componentRef.destroy();
1062
1120
  }
1063
1121
  }
1064
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1065
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxModalService, providedIn: 'root' }); }
1122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1123
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxModalService, providedIn: 'root' }); }
1066
1124
  }
1067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxModalService, decorators: [{
1125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxModalService, decorators: [{
1068
1126
  type: Injectable,
1069
1127
  args: [{ providedIn: 'root' }]
1070
1128
  }] });
@@ -1073,29 +1131,29 @@ class NgxOffCanvasComponent {
1073
1131
  constructor() {
1074
1132
  this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
1075
1133
  this.onClose = output();
1076
- this.faTimes = faTimes;
1134
+ this.LibIcons = LibIcons;
1077
1135
  }
1078
1136
  handleClickClose() {
1079
1137
  this.onClose.emit();
1080
1138
  }
1081
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxOffCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1082
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: NgxOffCanvasComponent, isStandalone: true, selector: "ngx-off-canvas", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<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<ngx-icon-button [icon]=\"faTimes\" color=\"secondary\" class=\"ml-auto\" (click)=\"handleClickClose()\" />\n\t</div>\n\t<ng-content />\n</div>\n\n<div class=\"modal-backdrop fade show\" (click)=\"handleClickClose()\"></div>\n", styles: [":host{z-index:9999;display:block}\n"], dependencies: [{ kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: NgxIconButtonComponent, selector: "ngx-icon-button", inputs: ["icon", "type", "color", "size", "variant", "disabled", "shadow"] }] }); }
1139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxOffCanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1140
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: NgxOffCanvasComponent, isStandalone: true, selector: "ngx-off-canvas", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<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<ngx-icon-button color=\"secondary\" class=\"ml-auto\" (click)=\"handleClickClose()\" [svg]=\"LibIcons.faXmark\" />\n\t</div>\n\t<ng-content />\n</div>\n\n<div class=\"modal-backdrop fade show\" (click)=\"handleClickClose()\"></div>\n", styles: [":host{z-index:9999;display:block}\n"], dependencies: [{ kind: "component", type: NgxIconButtonComponent, selector: "ngx-icon-button", inputs: ["svg", "type", "color", "size", "variant", "disabled", "shadow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1083
1141
  }
1084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxOffCanvasComponent, decorators: [{
1142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxOffCanvasComponent, decorators: [{
1085
1143
  type: Component,
1086
- args: [{ selector: 'ngx-off-canvas', imports: [FontAwesomeModule, NgxIconButtonComponent], template: "<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<ngx-icon-button [icon]=\"faTimes\" color=\"secondary\" class=\"ml-auto\" (click)=\"handleClickClose()\" />\n\t</div>\n\t<ng-content />\n</div>\n\n<div class=\"modal-backdrop fade show\" (click)=\"handleClickClose()\"></div>\n", styles: [":host{z-index:9999;display:block}\n"] }]
1144
+ args: [{ selector: 'ngx-off-canvas', imports: [NgxIconButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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<ngx-icon-button color=\"secondary\" class=\"ml-auto\" (click)=\"handleClickClose()\" [svg]=\"LibIcons.faXmark\" />\n\t</div>\n\t<ng-content />\n</div>\n\n<div class=\"modal-backdrop fade show\" (click)=\"handleClickClose()\"></div>\n", styles: [":host{z-index:9999;display:block}\n"] }]
1087
1145
  }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], onClose: [{ type: i0.Output, args: ["onClose"] }] } });
1088
1146
 
1089
1147
  class NgxTabContentComponent {
1090
1148
  constructor() {
1091
1149
  this.isActive = model(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
1092
1150
  }
1093
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTabContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1094
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: NgxTabContentComponent, isStandalone: true, selector: "ngx-tab-content", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isActive: "isActiveChange" }, ngImport: i0, template: "<div class=\"tab-content\" [ngClass]=\"{ active: isActive() }\">\n\t<ng-content />\n</div>\n", styles: [".tab-content{display:none;padding:20px}.tab-content.active{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTabContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: NgxTabContentComponent, isStandalone: true, selector: "ngx-tab-content", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isActive: "isActiveChange" }, ngImport: i0, template: "<div class=\"tab-content\" [ngClass]=\"{ active: isActive() }\">\n\t<ng-content />\n</div>\n", styles: [".tab-content{display:none;padding:20px}.tab-content.active{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1095
1153
  }
1096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTabContentComponent, decorators: [{
1154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTabContentComponent, decorators: [{
1097
1155
  type: Component,
1098
- args: [{ selector: 'ngx-tab-content', imports: [CommonModule], template: "<div class=\"tab-content\" [ngClass]=\"{ active: isActive() }\">\n\t<ng-content />\n</div>\n", styles: [".tab-content{display:none;padding:20px}.tab-content.active{display:block}\n"] }]
1156
+ args: [{ selector: 'ngx-tab-content', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tab-content\" [ngClass]=\"{ active: isActive() }\">\n\t<ng-content />\n</div>\n", styles: [".tab-content{display:none;padding:20px}.tab-content.active{display:block}\n"] }]
1099
1157
  }], propDecorators: { isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }, { type: i0.Output, args: ["isActiveChange"] }] } });
1100
1158
 
1101
1159
  class NgxTabComponent {
@@ -1107,15 +1165,15 @@ class NgxTabComponent {
1107
1165
  onClick() {
1108
1166
  this.onSelected.emit();
1109
1167
  }
1110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: NgxTabComponent, isStandalone: true, selector: "ngx-tab", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { isActive: "isActiveChange", onSelected: "onSelected" }, host: { listeners: { "click": "onClick($event.target)" } }, ngImport: i0, template: "<div class=\"tab\" [ngClass]=\"{ active: isActive() }\" tabindex=\"0\">\n\t<ng-content />\n</div>\n", styles: [":host{display:flex}.tab{color:var(--font-color);padding:16px 20px;border-bottom:3px solid var(--gray-80);flex-shrink:0}.tab.active{color:var(--primary);background:var(--body-bg-color);border-bottom:3px solid var(--primary)}.tab:focus{outline:0;z-index:1}.tab:hover{cursor:pointer;background-color:var(--tab-highlight)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
1168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: NgxTabComponent, isStandalone: true, selector: "ngx-tab", inputs: { isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { isActive: "isActiveChange", onSelected: "onSelected" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<div class=\"tab\" [ngClass]=\"{ active: isActive() }\" tabindex=\"0\">\n\t<ng-content />\n</div>\n", styles: [":host{display:flex}.tab{color:var(--font-color);padding:16px 20px;border-bottom:3px solid var(--gray-80);flex-shrink:0}.tab.active{color:var(--primary);background:var(--body-bg-color);border-bottom:3px solid var(--primary)}.tab:focus{outline:0;z-index:1}.tab:hover{cursor:pointer;background-color:var(--tab-highlight)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1112
1170
  }
1113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTabComponent, decorators: [{
1171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTabComponent, decorators: [{
1114
1172
  type: Component,
1115
- args: [{ selector: 'ngx-tab', imports: [CommonModule], template: "<div class=\"tab\" [ngClass]=\"{ active: isActive() }\" tabindex=\"0\">\n\t<ng-content />\n</div>\n", styles: [":host{display:flex}.tab{color:var(--font-color);padding:16px 20px;border-bottom:3px solid var(--gray-80);flex-shrink:0}.tab.active{color:var(--primary);background:var(--body-bg-color);border-bottom:3px solid var(--primary)}.tab:focus{outline:0;z-index:1}.tab:hover{cursor:pointer;background-color:var(--tab-highlight)}\n"] }]
1173
+ args: [{ selector: 'ngx-tab', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tab\" [ngClass]=\"{ active: isActive() }\" tabindex=\"0\">\n\t<ng-content />\n</div>\n", styles: [":host{display:flex}.tab{color:var(--font-color);padding:16px 20px;border-bottom:3px solid var(--gray-80);flex-shrink:0}.tab.active{color:var(--primary);background:var(--body-bg-color);border-bottom:3px solid var(--primary)}.tab:focus{outline:0;z-index:1}.tab:hover{cursor:pointer;background-color:var(--tab-highlight)}\n"] }]
1116
1174
  }], propDecorators: { isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }, { type: i0.Output, args: ["isActiveChange"] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: true }] }], onSelected: [{ type: i0.Output, args: ["onSelected"] }], onClick: [{
1117
1175
  type: HostListener,
1118
- args: ['click', ['$event.target']]
1176
+ args: ['click']
1119
1177
  }] } });
1120
1178
 
1121
1179
  class NgxTabsComponent {
@@ -1139,20 +1197,20 @@ class NgxTabsComponent {
1139
1197
  this.tabQueryList().forEach(tab => tab.isActive.update(() => tab === tabComponent));
1140
1198
  this.tabContentQueryList().forEach(tabContent => tabContent.isActive.update(() => tabContent === tabComponent.target()));
1141
1199
  }
1142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.12", type: NgxTabsComponent, isStandalone: true, selector: "ngx-tabs", queries: [{ propertyName: "tabQueryList", predicate: NgxTabComponent, isSignal: true }, { propertyName: "tabContentQueryList", predicate: NgxTabContentComponent, isSignal: true }], ngImport: i0, template: "<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", styles: [".tabs{display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow-x:auto}\n"] }); }
1200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.0", type: NgxTabsComponent, isStandalone: true, selector: "ngx-tabs", queries: [{ propertyName: "tabQueryList", predicate: NgxTabComponent, isSignal: true }, { propertyName: "tabContentQueryList", predicate: NgxTabContentComponent, isSignal: true }], ngImport: i0, template: "<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", styles: [".tabs{display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow-x:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1144
1202
  }
1145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxTabsComponent, decorators: [{
1203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxTabsComponent, decorators: [{
1146
1204
  type: Component,
1147
- args: [{ selector: 'ngx-tabs', template: "<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", styles: [".tabs{display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow-x:auto}\n"] }]
1205
+ args: [{ selector: 'ngx-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".tabs{display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow-x:auto}\n"] }]
1148
1206
  }], propDecorators: { tabQueryList: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NgxTabComponent), { isSignal: true }] }], tabContentQueryList: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NgxTabContentComponent), { isSignal: true }] }] } });
1149
1207
 
1150
1208
  class NgxToastComponent {
1151
1209
  constructor() {
1152
1210
  this.onClose = output();
1153
1211
  }
1154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: NgxToastComponent, isStandalone: true, selector: "ngx-toast", inputs: { message: "message" }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
1212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1213
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: NgxToastComponent, isStandalone: true, selector: "ngx-toast", inputs: { message: "message" }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
1156
1214
  <div class="toast align-items-center text-bg-dark border-0 show">
1157
1215
  <div class="d-flex">
1158
1216
  <div class="toast-body" [innerHTML]="message"></div>
@@ -1161,7 +1219,7 @@ class NgxToastComponent {
1161
1219
  </div>
1162
1220
  `, isInline: true, styles: [":host{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1051}\n"] }); }
1163
1221
  }
1164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxToastComponent, decorators: [{
1222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxToastComponent, decorators: [{
1165
1223
  type: Component,
1166
1224
  args: [{ selector: 'ngx-toast', template: `
1167
1225
  <div class="toast align-items-center text-bg-dark border-0 show">
@@ -1208,10 +1266,10 @@ class NgxToastService {
1208
1266
  clearTimeout(this.interval);
1209
1267
  }
1210
1268
  }
1211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1212
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxToastService, providedIn: 'root' }); }
1269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1270
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxToastService, providedIn: 'root' }); }
1213
1271
  }
1214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxToastService, decorators: [{
1272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxToastService, decorators: [{
1215
1273
  type: Injectable,
1216
1274
  args: [{ providedIn: 'root' }]
1217
1275
  }] });
@@ -1287,10 +1345,10 @@ class NgxImageService {
1287
1345
  canvas.height = img.height;
1288
1346
  context.drawImage(img, 0, 0, canvas.width, canvas.height);
1289
1347
  }
1290
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1291
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxImageService, providedIn: 'root' }); }
1348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1349
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxImageService, providedIn: 'root' }); }
1292
1350
  }
1293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: NgxImageService, decorators: [{
1351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: NgxImageService, decorators: [{
1294
1352
  type: Injectable,
1295
1353
  args: [{ providedIn: 'root' }]
1296
1354
  }] });