@coreui/angular-pro 4.2.23 → 4.2.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/esm2020/lib/date-picker/date-picker.component.mjs +3 -3
  2. package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +13 -5
  3. package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +12 -3
  4. package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +7 -7
  5. package/esm2020/lib/smart-table/smart-table/smart-table.component.mjs +8 -3
  6. package/esm2020/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +30 -0
  7. package/esm2020/lib/smart-table/smart-table-filter/filter-input.directive.mjs +78 -0
  8. package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +17 -67
  9. package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +14 -9
  10. package/esm2020/lib/smart-table/smart-table.module.mjs +8 -2
  11. package/esm2020/lib/time-picker/time-picker.component.mjs +44 -17
  12. package/fesm2015/coreui-angular-pro.mjs +538 -435
  13. package/fesm2015/coreui-angular-pro.mjs.map +1 -1
  14. package/fesm2020/coreui-angular-pro.mjs +534 -431
  15. package/fesm2020/coreui-angular-pro.mjs.map +1 -1
  16. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +12 -2
  17. package/lib/multi-select/multi-select/multi-select.component.d.ts +14 -1
  18. package/lib/sidebar/sidebar/sidebar.component.d.ts +5 -5
  19. package/lib/smart-table/smart-table/smart-table.component.d.ts +5 -1
  20. package/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.d.ts +11 -0
  21. package/lib/smart-table/smart-table-filter/filter-input.directive.d.ts +24 -0
  22. package/lib/smart-table/smart-table-filter/smart-table-filter.component.d.ts +8 -13
  23. package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +6 -1
  24. package/lib/smart-table/smart-table.module.d.ts +13 -11
  25. package/lib/time-picker/time-picker.component.d.ts +18 -5
  26. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, ContentChildren, HostListener, Pipe, ViewChildren, Inject, ViewChild, forwardRef, Optional, ElementRef, ContentChild, ChangeDetectionStrategy, PLATFORM_ID, TemplateRef, ViewContainerRef, VERSION } from '@angular/core';
2
+ import { Directive, Input, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, ContentChildren, HostListener, Pipe, ViewChildren, Inject, ViewChild, forwardRef, Optional, ElementRef, ContentChild, ChangeDetectionStrategy, PLATFORM_ID, TemplateRef, ViewContainerRef, inject, VERSION } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
5
5
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
@@ -7,7 +7,7 @@ import * as i1 from '@angular/animations';
7
7
  import { animation, animate, style, useAnimation, trigger, state, transition, group, query } from '@angular/animations';
8
8
  import * as i3 from '@angular/router';
9
9
  import { NavigationEnd, RouterModule } from '@angular/router';
10
- import { BehaviorSubject, Observable, fromEvent, zipWith, withLatestFrom, Subject, distinctUntilChanged, tap, map, debounceTime } from 'rxjs';
10
+ import { BehaviorSubject, Observable, fromEvent, zipWith, withLatestFrom, Subject, distinctUntilChanged, takeUntil, map, debounceTime } from 'rxjs';
11
11
  import { filter } from 'rxjs/operators';
12
12
  import { isValid, format } from 'date-fns';
13
13
  import * as i2 from '@angular/forms';
@@ -5039,6 +5039,277 @@ const getDayPeriods = (locale = 'default', options = {}) => {
5039
5039
  //
5040
5040
  // Object.keys(formats).forEach(lang => {const period = getDayPeriods(lang); if (period.am === 'AM') return; console.log(lang, period )})
5041
5041
 
5042
+ class DropdownDividerDirective {
5043
+ constructor() {
5044
+ }
5045
+ get hostClasses() {
5046
+ return {
5047
+ 'dropdown-divider': true,
5048
+ };
5049
+ }
5050
+ }
5051
+ DropdownDividerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownDividerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5052
+ DropdownDividerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownDividerDirective, selector: "[cDropdownDivider]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
5053
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownDividerDirective, decorators: [{
5054
+ type: Directive,
5055
+ args: [{
5056
+ selector: '[cDropdownDivider]'
5057
+ }]
5058
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
5059
+ type: HostBinding,
5060
+ args: ['class']
5061
+ }] } });
5062
+
5063
+ class DropdownHeaderDirective {
5064
+ constructor() {
5065
+ }
5066
+ get hostClasses() {
5067
+ return {
5068
+ 'dropdown-header': true,
5069
+ };
5070
+ }
5071
+ }
5072
+ DropdownHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5073
+ DropdownHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownHeaderDirective, selector: "[cDropdownHeader]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
5074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownHeaderDirective, decorators: [{
5075
+ type: Directive,
5076
+ args: [{
5077
+ selector: '[cDropdownHeader]'
5078
+ }]
5079
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
5080
+ type: HostBinding,
5081
+ args: ['class']
5082
+ }] } });
5083
+
5084
+ class DropdownItemDirective {
5085
+ constructor(dropdownService, dropdown) {
5086
+ this.dropdownService = dropdownService;
5087
+ this.dropdown = dropdown;
5088
+ /**
5089
+ * Configure dropdown-item close dropdown behavior.
5090
+ * @type boolean
5091
+ * @default true
5092
+ */
5093
+ this.autoClose = true;
5094
+ this._tabIndex = null;
5095
+ }
5096
+ get ariaCurrent() {
5097
+ return this.active ? 'true' : null;
5098
+ }
5099
+ get hostClasses() {
5100
+ return {
5101
+ 'dropdown-item': true,
5102
+ active: this.active,
5103
+ disabled: this.disabled
5104
+ };
5105
+ }
5106
+ set tabIndex(value) {
5107
+ this._tabIndex = value;
5108
+ }
5109
+ get tabIndex() {
5110
+ return this.disabled ? '-1' : this._tabIndex;
5111
+ }
5112
+ get isDisabled() {
5113
+ return this.disabled || null;
5114
+ }
5115
+ onClick($event) {
5116
+ if (this.autoClose) {
5117
+ this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });
5118
+ }
5119
+ }
5120
+ onKeyUp($event) {
5121
+ if ($event.key === 'Enter') {
5122
+ if (this.autoClose) {
5123
+ this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
5124
+ }
5125
+ }
5126
+ }
5127
+ }
5128
+ DropdownItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemDirective, deps: [{ token: DropdownService }, { token: DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5129
+ DropdownItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownItemDirective, selector: "[cDropdownItem]", inputs: { active: "active", autoClose: "autoClose", disabled: "disabled", tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick($event)", "keyup": "onKeyUp($event)" }, properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.aria-disabled": "this.isDisabled" } }, exportAs: ["cDropdownItem"], ngImport: i0 });
5130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemDirective, decorators: [{
5131
+ type: Directive,
5132
+ args: [{
5133
+ selector: '[cDropdownItem]',
5134
+ exportAs: 'cDropdownItem'
5135
+ }]
5136
+ }], ctorParameters: function () {
5137
+ return [{ type: DropdownService }, { type: DropdownComponent, decorators: [{
5138
+ type: Optional
5139
+ }] }];
5140
+ }, propDecorators: { active: [{
5141
+ type: Input
5142
+ }], autoClose: [{
5143
+ type: Input
5144
+ }], disabled: [{
5145
+ type: Input
5146
+ }], ariaCurrent: [{
5147
+ type: HostBinding,
5148
+ args: ['attr.aria-current']
5149
+ }], hostClasses: [{
5150
+ type: HostBinding,
5151
+ args: ['class']
5152
+ }], tabIndex: [{
5153
+ type: HostBinding,
5154
+ args: ['attr.tabindex']
5155
+ }, {
5156
+ type: Input
5157
+ }], isDisabled: [{
5158
+ type: HostBinding,
5159
+ args: ['attr.aria-disabled']
5160
+ }], onClick: [{
5161
+ type: HostListener,
5162
+ args: ['click', ['$event']]
5163
+ }], onKeyUp: [{
5164
+ type: HostListener,
5165
+ args: ['keyup', ['$event']]
5166
+ }] } });
5167
+
5168
+ class DropdownItemPlainDirective {
5169
+ constructor() {
5170
+ }
5171
+ get hostClasses() {
5172
+ return {
5173
+ 'dropdown-item-text': true,
5174
+ };
5175
+ }
5176
+ }
5177
+ DropdownItemPlainDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemPlainDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5178
+ DropdownItemPlainDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownItemPlainDirective, selector: "[cDropdownItemPlain]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
5179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemPlainDirective, decorators: [{
5180
+ type: Directive,
5181
+ args: [{
5182
+ selector: '[cDropdownItemPlain]'
5183
+ }]
5184
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
5185
+ type: HostBinding,
5186
+ args: ['class']
5187
+ }] } });
5188
+
5189
+ class DropdownCloseDirective {
5190
+ constructor(dropdownService, dropdown) {
5191
+ this.dropdownService = dropdownService;
5192
+ this.dropdown = dropdown;
5193
+ this._tabIndex = null;
5194
+ }
5195
+ ngAfterViewInit() {
5196
+ var _a;
5197
+ if (this.dropdownComponent) {
5198
+ this.dropdown = this.dropdownComponent;
5199
+ this.dropdownService = (_a = this.dropdownComponent) === null || _a === void 0 ? void 0 : _a.dropdownService;
5200
+ }
5201
+ }
5202
+ get hostClasses() {
5203
+ return {
5204
+ disabled: this.disabled
5205
+ };
5206
+ }
5207
+ set tabIndex(value) {
5208
+ this._tabIndex = value;
5209
+ }
5210
+ get tabIndex() {
5211
+ return this.disabled ? '-1' : this._tabIndex;
5212
+ }
5213
+ get isDisabled() {
5214
+ return this.disabled || null;
5215
+ }
5216
+ onClick($event) {
5217
+ !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
5218
+ }
5219
+ onKeyUp($event) {
5220
+ if ($event.key === 'Enter') {
5221
+ !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
5222
+ }
5223
+ }
5224
+ }
5225
+ DropdownCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownCloseDirective, deps: [{ token: DropdownService }, { token: DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5226
+ DropdownCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownCloseDirective, selector: "[cDropdownClose]", inputs: { disabled: "disabled", dropdownComponent: "dropdownComponent", tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick($event)", "keyup": "onKeyUp($event)" }, properties: { "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.aria-disabled": "this.isDisabled" } }, exportAs: ["cDropdownClose"], ngImport: i0 });
5227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownCloseDirective, decorators: [{
5228
+ type: Directive,
5229
+ args: [{
5230
+ selector: '[cDropdownClose]',
5231
+ exportAs: 'cDropdownClose'
5232
+ }]
5233
+ }], ctorParameters: function () {
5234
+ return [{ type: DropdownService }, { type: DropdownComponent, decorators: [{
5235
+ type: Optional
5236
+ }] }];
5237
+ }, propDecorators: { disabled: [{
5238
+ type: Input
5239
+ }], dropdownComponent: [{
5240
+ type: Input
5241
+ }], hostClasses: [{
5242
+ type: HostBinding,
5243
+ args: ['class']
5244
+ }], tabIndex: [{
5245
+ type: HostBinding,
5246
+ args: ['attr.tabindex']
5247
+ }, {
5248
+ type: Input
5249
+ }], isDisabled: [{
5250
+ type: HostBinding,
5251
+ args: ['attr.aria-disabled']
5252
+ }], onClick: [{
5253
+ type: HostListener,
5254
+ args: ['click', ['$event']]
5255
+ }], onKeyUp: [{
5256
+ type: HostListener,
5257
+ args: ['keyup', ['$event']]
5258
+ }] } });
5259
+
5260
+ class DropdownModule {
5261
+ }
5262
+ DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5263
+ DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, declarations: [DropdownComponent,
5264
+ DropdownDividerDirective,
5265
+ DropdownHeaderDirective,
5266
+ DropdownItemDirective,
5267
+ DropdownItemPlainDirective,
5268
+ DropdownToggleDirective,
5269
+ DropdownMenuDirective,
5270
+ DropdownCloseDirective], imports: [CommonModule], exports: [DropdownComponent,
5271
+ DropdownDividerDirective,
5272
+ DropdownHeaderDirective,
5273
+ DropdownItemDirective,
5274
+ DropdownItemPlainDirective,
5275
+ DropdownToggleDirective,
5276
+ DropdownMenuDirective,
5277
+ DropdownCloseDirective] });
5278
+ DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, providers: [
5279
+ DropdownService,
5280
+ ], imports: [CommonModule] });
5281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, decorators: [{
5282
+ type: NgModule,
5283
+ args: [{
5284
+ declarations: [
5285
+ DropdownComponent,
5286
+ DropdownDividerDirective,
5287
+ DropdownHeaderDirective,
5288
+ DropdownItemDirective,
5289
+ DropdownItemPlainDirective,
5290
+ DropdownToggleDirective,
5291
+ DropdownMenuDirective,
5292
+ DropdownCloseDirective
5293
+ ],
5294
+ imports: [
5295
+ CommonModule,
5296
+ ],
5297
+ exports: [
5298
+ DropdownComponent,
5299
+ DropdownDividerDirective,
5300
+ DropdownHeaderDirective,
5301
+ DropdownItemDirective,
5302
+ DropdownItemPlainDirective,
5303
+ DropdownToggleDirective,
5304
+ DropdownMenuDirective,
5305
+ DropdownCloseDirective
5306
+ ],
5307
+ providers: [
5308
+ DropdownService,
5309
+ ]
5310
+ }]
5311
+ }] });
5312
+
5042
5313
  class FormSelectDirective {
5043
5314
  constructor() {
5044
5315
  /**
@@ -5325,14 +5596,15 @@ class TimePickerComponent {
5325
5596
  ];
5326
5597
  this._timeInputValue = (_b = (_a = this.time) === null || _a === void 0 ? void 0 : _a.toLocaleTimeString(this.locale, { timeStyle: this.seconds ? 'medium' : 'short' })) !== null && _b !== void 0 ? _b : '';
5327
5598
  this.selectTime = new FormGroup({
5328
- selectHours: new FormControl({ value: this.hour, disabled: this.disabled }),
5329
- selectMinutes: new FormControl({ value: this.minute, disabled: this.disabled }),
5330
- selectSeconds: new FormControl({ value: this.second, disabled: this.disabled }),
5331
- selectDayPeriod: new FormControl({ value: this.dayPeriod, disabled: this.disabled })
5332
- });
5333
- this.timeInput = new FormControl({ value: this.timeInputValue, disabled: this.disabled }, [
5334
- Validators.required
5335
- ]);
5599
+ selectHours: new FormControl({ value: this.hour, disabled: this.disabled }, { validators: [Validators.min(0)] }),
5600
+ selectMinutes: new FormControl({ value: this.minute, disabled: this.disabled }, Validators.min(0)),
5601
+ selectSeconds: new FormControl({ value: this.second, disabled: this.disabled }, Validators.min(0)),
5602
+ selectDayPeriod: new FormControl({ value: this.dayPeriod, disabled: this.disabled }, Validators.required)
5603
+ }, { validators: [Validators.required] });
5604
+ this.timeInput = new FormControl({
5605
+ value: this.timeInputValue,
5606
+ disabled: this.disabled
5607
+ }, { validators: [Validators.required] });
5336
5608
  this._hour = -1;
5337
5609
  this._minute = -1;
5338
5610
  this._second = -1;
@@ -5421,7 +5693,7 @@ class TimePickerComponent {
5421
5693
  return this._time;
5422
5694
  }
5423
5695
  /**
5424
- * Toggle the visibility of dropdown menu component.
5696
+ * Toggle the visibility of dropdown timepicker menu component.
5425
5697
  * @type boolean
5426
5698
  * @default false
5427
5699
  */
@@ -5441,6 +5713,13 @@ class TimePickerComponent {
5441
5713
  get timeInputValue() {
5442
5714
  return this._timeInputValue;
5443
5715
  }
5716
+ get timePickerClasses() {
5717
+ return {
5718
+ 'form-control': this.variant === 'select' && this.valid !== undefined,
5719
+ 'is-valid': this.valid === true,
5720
+ 'is-invalid': this.valid === false
5721
+ };
5722
+ }
5444
5723
  set hour(value) {
5445
5724
  if (this._hour !== value) {
5446
5725
  if (value < 0) {
@@ -5506,6 +5785,7 @@ class TimePickerComponent {
5506
5785
  this._second = -1;
5507
5786
  this.dayPeriod = 'am';
5508
5787
  this.patchSelectTimeValues();
5788
+ this.timeInputValue = '';
5509
5789
  }
5510
5790
  emitTime(time) {
5511
5791
  var _a, _b, _c;
@@ -5668,7 +5948,7 @@ class TimePickerComponent {
5668
5948
  handleTimeInputChange($event) {
5669
5949
  var _a;
5670
5950
  const value = (_a = $event.target) === null || _a === void 0 ? void 0 : _a.value;
5671
- if (!isValidTime(value)) {
5951
+ if (!value || !isValidTime(value)) {
5672
5952
  this.clearTime();
5673
5953
  return;
5674
5954
  }
@@ -5678,15 +5958,32 @@ class TimePickerComponent {
5678
5958
  handleClear($event) {
5679
5959
  this.clearTime();
5680
5960
  }
5961
+ handleBlur($event) {
5962
+ var _a, _b;
5963
+ if (this.disabled) {
5964
+ return;
5965
+ }
5966
+ (_b = (_a = this.dropdownRef) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.classList.remove('show');
5967
+ setTimeout(() => {
5968
+ this.onBlur();
5969
+ }, 100);
5970
+ }
5971
+ handleFocus($event) {
5972
+ var _a, _b;
5973
+ if (this.disabled) {
5974
+ return;
5975
+ }
5976
+ (_b = (_a = this.dropdownRef) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.classList.add('show');
5977
+ }
5681
5978
  }
5682
5979
  TimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5683
- TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TimePickerComponent, selector: "c-time-picker", inputs: { cleaner: "cleaner", dateTimeFormatOptions: "dateTimeFormatOptions", disabled: "disabled", filterHours: "filterHours", filterMinutes: "filterMinutes", filterSeconds: "filterSeconds", indicator: "indicator", inputReadOnly: "inputReadOnly", locale: "locale", placeholder: "placeholder", seconds: "seconds", size: "size", time: "time", variant: "variant", visible: "visible" }, outputs: { timeChange: "timeChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
5980
+ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TimePickerComponent, selector: "c-time-picker", inputs: { cleaner: "cleaner", dateTimeFormatOptions: "dateTimeFormatOptions", disabled: "disabled", filterHours: "filterHours", filterMinutes: "filterMinutes", filterSeconds: "filterSeconds", indicator: "indicator", inputReadOnly: "inputReadOnly", locale: "locale", placeholder: "placeholder", seconds: "seconds", size: "size", time: "time", variant: "variant", valid: "valid", visible: "visible" }, outputs: { timeChange: "timeChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
5684
5981
  {
5685
5982
  provide: NG_VALUE_ACCESSOR,
5686
5983
  useExisting: forwardRef(() => TimePickerComponent),
5687
5984
  multi: true
5688
5985
  }
5689
- ], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], exportAs: ["cTimePicker"], usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker-timepickers\" *ngIf=\"variant==='select'\">\r\n <div class=\"picker time-picker\">\r\n <div [formGroup]=\"selectTime\" class=\"time-picker-body\">\r\n <span class=\"time-picker-inline-icon\"></span>\r\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectHours\" (ngModelChange)=\"handleSelectHoursChange($event)\">\r\n <option *ngFor=\"let hour of listOfHours12; index as i; trackBy: trackByHour\" [ngValue]=\"hour.value\" [attr.disabled]=\"hour.disabled || null\">{{hour.label}}</option>\r\n </select>\r\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectMinutes\" (ngModelChange)=\"handleSelectMinutesChange($event)\">\r\n <option *ngFor=\"let minute of listOfMinutes\" [ngValue]=\"minute.value\" [attr.disabled]=\"minute.disabled || null\">{{minute.label}}</option>\r\n </select>\r\n <ng-template [ngIf]=\"seconds\">\r\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectSeconds\" (ngModelChange)=\"handleSelectSecondsChange($event)\">\r\n <option *ngFor=\"let second of listOfSeconds\" [ngValue]=\"second.value\" [attr.disabled]=\"second.disabled || null\">{{second.label}}</option>\r\n </select>\r\n </ng-template>\r\n <ng-template [ngIf]=\"hour12\">\r\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectDayPeriod\" (ngModelChange)=\"handleSelectDayPeriodChange($event)\">\r\n <option *ngFor=\"let dayPeriod of dayPeriods\" [ngValue]=\"dayPeriod.value\" class=\"time-picker-roll-cell\">{{dayPeriod.label}}</option>\r\n </select>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"time-picker picker\" *ngIf=\"variant==='roll'\" [visible]=\"visible\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\">\r\n <input (change)=\"handleTimeInputChange($event)\"\r\n [formControl]=\"timeInput\"\r\n [placeholder]=\"placeholder\"\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon time-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && time && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\r\n <span class=\"picker-input-group-icon time-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div cDropdownMenu #dropdownMenu=\"cDropdownMenu\">\r\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\r\n <c-time-picker-roll-col\r\n [elements]=\"listOfHours12\"\r\n [selected]=\"hour\"\r\n (selectedChange)=\"handleSelectHoursChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-col>\r\n <c-time-picker-roll-col\r\n [elements]=\"listOfMinutes\"\r\n [selected]=\"minute\"\r\n (selectedChange)=\"handleSelectMinutesChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-col>\r\n <c-time-picker-roll-col\r\n *ngIf=\"seconds\"\r\n [elements]=\"listOfSeconds\"\r\n [selected]=\"second\"\r\n (selectedChange)=\"handleSelectSecondsChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-col>\r\n <c-time-picker-roll-am-pm\r\n *ngIf=\"hour12\" [elements]=\"dayPeriods\"\r\n [selected]=\"dayPeriod\"\r\n (selectedChange)=\"handleSelectDayPeriodChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-am-pm>\r\n </div>\r\n <div *ngIf=\"templates?.timePickerFooter\" class=\"picker-footer\">\r\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\"></ng-container>\r\n </div>\r\n </div>\r\n</c-dropdown>\r\n", styles: [".disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.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.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { 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: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "directive", type: FormSelectDirective, selector: "select[cSelect]", inputs: ["sizing", "valid"] }, { kind: "component", type: InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "component", type: TimePickerRollColComponent, selector: "c-time-picker-roll-col", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"], exportAs: ["cTimePickerRollCol"] }, { kind: "component", type: TimePickerRollAmPmComponent, selector: "c-time-picker-roll-am-pm", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"] }] });
5986
+ ], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: DropdownComponent, descendants: true, read: ElementRef }], exportAs: ["cTimePicker"], usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker-timepickers\" *ngIf=\"variant==='select'\">\n <div class=\"picker time-picker\">\n <div [formGroup]=\"selectTime\" class=\"time-picker-body\" [ngClass]=\"timePickerClasses\">\n <span class=\"time-picker-inline-icon\"></span>\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectHours\" (ngModelChange)=\"handleSelectHoursChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let hour of listOfHours12; index as i; trackBy: trackByHour\" [ngValue]=\"hour.value\" [attr.disabled]=\"hour.disabled || null\">{{hour.label}}</option>\n </select>\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectMinutes\" (ngModelChange)=\"handleSelectMinutesChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let minute of listOfMinutes\" [ngValue]=\"minute.value\" [attr.disabled]=\"minute.disabled || null\">{{minute.label}}</option>\n </select>\n <ng-template [ngIf]=\"seconds\">\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectSeconds\" (ngModelChange)=\"handleSelectSecondsChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let second of listOfSeconds\" [ngValue]=\"second.value\" [attr.disabled]=\"second.disabled || null\">{{second.label}}</option>\n </select>\n </ng-template>\n <ng-template [ngIf]=\"hour12\">\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectDayPeriod\" (ngModelChange)=\"handleSelectDayPeriodChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let dayPeriod of dayPeriods\" [ngValue]=\"dayPeriod.value\" class=\"time-picker-roll-cell\">{{dayPeriod.label}}</option>\n </select>\n </ng-template>\n </div>\n </div>\n</div>\n\n<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"time-picker picker\" [ngClass]=\"timePickerClasses\" *ngIf=\"variant==='roll'\" [visible]=\"visible\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\">\n <input (blur)=\"handleBlur($event);\"\n (change)=\"handleTimeInputChange($event)\"\n (focus)=\"handleFocus($event)\"\n [formControl]=\"timeInput\"\n [placeholder]=\"placeholder\"\n cFormControl\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon time-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && time && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon time-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu #dropdownMenu=\"cDropdownMenu\">\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\n <c-time-picker-roll-col\n [elements]=\"listOfHours12\"\n [selected]=\"hour\"\n (selectedChange)=\"handleSelectHoursChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n [elements]=\"listOfMinutes\"\n [selected]=\"minute\"\n (selectedChange)=\"handleSelectMinutesChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n *ngIf=\"seconds\"\n [elements]=\"listOfSeconds\"\n [selected]=\"second\"\n (selectedChange)=\"handleSelectSecondsChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-am-pm\n *ngIf=\"hour12\" [elements]=\"dayPeriods\"\n [selected]=\"dayPeriod\"\n (selectedChange)=\"handleSelectDayPeriodChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-am-pm>\n </div>\n <div *ngIf=\"templates?.timePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n</c-dropdown>\n", styles: [".disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.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.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { 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: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "directive", type: FormSelectDirective, selector: "select[cSelect]", inputs: ["sizing", "valid"] }, { kind: "component", type: InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "component", type: TimePickerRollColComponent, selector: "c-time-picker-roll-col", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"], exportAs: ["cTimePickerRollCol"] }, { kind: "component", type: TimePickerRollAmPmComponent, selector: "c-time-picker-roll-am-pm", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"] }] });
5690
5987
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TimePickerComponent, decorators: [{
5691
5988
  type: Component,
5692
5989
  args: [{ selector: 'c-time-picker', exportAs: 'cTimePicker', providers: [
@@ -5695,7 +5992,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5695
5992
  useExisting: forwardRef(() => TimePickerComponent),
5696
5993
  multi: true
5697
5994
  }
5698
- ], template: "<div class=\"date-picker-timepickers\" *ngIf=\"variant==='select'\">\r\n <div class=\"picker time-picker\">\r\n <div [formGroup]=\"selectTime\" class=\"time-picker-body\">\r\n <span class=\"time-picker-inline-icon\"></span>\r\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectHours\" (ngModelChange)=\"handleSelectHoursChange($event)\">\r\n <option *ngFor=\"let hour of listOfHours12; index as i; trackBy: trackByHour\" [ngValue]=\"hour.value\" [attr.disabled]=\"hour.disabled || null\">{{hour.label}}</option>\r\n </select>\r\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectMinutes\" (ngModelChange)=\"handleSelectMinutesChange($event)\">\r\n <option *ngFor=\"let minute of listOfMinutes\" [ngValue]=\"minute.value\" [attr.disabled]=\"minute.disabled || null\">{{minute.label}}</option>\r\n </select>\r\n <ng-template [ngIf]=\"seconds\">\r\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectSeconds\" (ngModelChange)=\"handleSelectSecondsChange($event)\">\r\n <option *ngFor=\"let second of listOfSeconds\" [ngValue]=\"second.value\" [attr.disabled]=\"second.disabled || null\">{{second.label}}</option>\r\n </select>\r\n </ng-template>\r\n <ng-template [ngIf]=\"hour12\">\r\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectDayPeriod\" (ngModelChange)=\"handleSelectDayPeriodChange($event)\">\r\n <option *ngFor=\"let dayPeriod of dayPeriods\" [ngValue]=\"dayPeriod.value\" class=\"time-picker-roll-cell\">{{dayPeriod.label}}</option>\r\n </select>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"time-picker picker\" *ngIf=\"variant==='roll'\" [visible]=\"visible\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\">\r\n <input (change)=\"handleTimeInputChange($event)\"\r\n [formControl]=\"timeInput\"\r\n [placeholder]=\"placeholder\"\r\n cFormControl\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon time-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && time && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\r\n <span class=\"picker-input-group-icon time-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div cDropdownMenu #dropdownMenu=\"cDropdownMenu\">\r\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\r\n <c-time-picker-roll-col\r\n [elements]=\"listOfHours12\"\r\n [selected]=\"hour\"\r\n (selectedChange)=\"handleSelectHoursChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-col>\r\n <c-time-picker-roll-col\r\n [elements]=\"listOfMinutes\"\r\n [selected]=\"minute\"\r\n (selectedChange)=\"handleSelectMinutesChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-col>\r\n <c-time-picker-roll-col\r\n *ngIf=\"seconds\"\r\n [elements]=\"listOfSeconds\"\r\n [selected]=\"second\"\r\n (selectedChange)=\"handleSelectSecondsChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-col>\r\n <c-time-picker-roll-am-pm\r\n *ngIf=\"hour12\" [elements]=\"dayPeriods\"\r\n [selected]=\"dayPeriod\"\r\n (selectedChange)=\"handleSelectDayPeriodChange($event)\"\r\n [disabled]=\"disabled\"\r\n [refresh]=\"dropdownMenu.visible\"\r\n role=\"listbox\"\r\n >\r\n </c-time-picker-roll-am-pm>\r\n </div>\r\n <div *ngIf=\"templates?.timePickerFooter\" class=\"picker-footer\">\r\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\"></ng-container>\r\n </div>\r\n </div>\r\n</c-dropdown>\r\n", styles: [".disabled{pointer-events:none}\n"] }]
5995
+ ], template: "<div class=\"date-picker-timepickers\" *ngIf=\"variant==='select'\">\n <div class=\"picker time-picker\">\n <div [formGroup]=\"selectTime\" class=\"time-picker-body\" [ngClass]=\"timePickerClasses\">\n <span class=\"time-picker-inline-icon\"></span>\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectHours\" (ngModelChange)=\"handleSelectHoursChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let hour of listOfHours12; index as i; trackBy: trackByHour\" [ngValue]=\"hour.value\" [attr.disabled]=\"hour.disabled || null\">{{hour.label}}</option>\n </select>\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectMinutes\" (ngModelChange)=\"handleSelectMinutesChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let minute of listOfMinutes\" [ngValue]=\"minute.value\" [attr.disabled]=\"minute.disabled || null\">{{minute.label}}</option>\n </select>\n <ng-template [ngIf]=\"seconds\">\n {{' :'}}<select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectSeconds\" (ngModelChange)=\"handleSelectSecondsChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let second of listOfSeconds\" [ngValue]=\"second.value\" [attr.disabled]=\"second.disabled || null\">{{second.label}}</option>\n </select>\n </ng-template>\n <ng-template [ngIf]=\"hour12\">\n <select [attr.disabled]=\"disabled || null\" cSelect class=\"ms-0\" formControlName=\"selectDayPeriod\" (ngModelChange)=\"handleSelectDayPeriodChange($event)\" (blur)=\"onBlur()\" [sizing]=\"size ?? ''\">\n <option *ngFor=\"let dayPeriod of dayPeriods\" [ngValue]=\"dayPeriod.value\" class=\"time-picker-roll-cell\">{{dayPeriod.label}}</option>\n </select>\n </ng-template>\n </div>\n </div>\n</div>\n\n<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"time-picker picker\" [ngClass]=\"timePickerClasses\" *ngIf=\"variant==='roll'\" [visible]=\"visible\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\">\n <input (blur)=\"handleBlur($event);\"\n (change)=\"handleTimeInputChange($event)\"\n (focus)=\"handleFocus($event)\"\n [formControl]=\"timeInput\"\n [placeholder]=\"placeholder\"\n cFormControl\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon time-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && time && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon time-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu #dropdownMenu=\"cDropdownMenu\">\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\n <c-time-picker-roll-col\n [elements]=\"listOfHours12\"\n [selected]=\"hour\"\n (selectedChange)=\"handleSelectHoursChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n [elements]=\"listOfMinutes\"\n [selected]=\"minute\"\n (selectedChange)=\"handleSelectMinutesChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n *ngIf=\"seconds\"\n [elements]=\"listOfSeconds\"\n [selected]=\"second\"\n (selectedChange)=\"handleSelectSecondsChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-am-pm\n *ngIf=\"hour12\" [elements]=\"dayPeriods\"\n [selected]=\"dayPeriod\"\n (selectedChange)=\"handleSelectDayPeriodChange($event)\"\n [disabled]=\"disabled\"\n [refresh]=\"dropdownMenu.visible\"\n role=\"listbox\"\n >\n </c-time-picker-roll-am-pm>\n </div>\n <div *ngIf=\"templates?.timePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n</c-dropdown>\n", styles: [".disabled{pointer-events:none}\n"] }]
5699
5996
  }], ctorParameters: function () { return []; }, propDecorators: { cleaner: [{
5700
5997
  type: Input
5701
5998
  }], dateTimeFormatOptions: [{
@@ -5724,6 +6021,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5724
6021
  type: Input
5725
6022
  }], variant: [{
5726
6023
  type: Input
6024
+ }], valid: [{
6025
+ type: Input
5727
6026
  }], visible: [{
5728
6027
  type: Input
5729
6028
  }], timeChange: [{
@@ -5731,9 +6030,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
5731
6030
  }], onBlur: [{
5732
6031
  type: HostListener,
5733
6032
  args: ['blur']
5734
- }], dropdown: [{
6033
+ }], dropdownRef: [{
5735
6034
  type: ViewChild,
5736
- args: ['dropdown']
6035
+ args: [DropdownComponent, { read: ElementRef }]
5737
6036
  }], contentTemplates: [{
5738
6037
  type: ContentChildren,
5739
6038
  args: [TemplateIdDirective, { descendants: true }]
@@ -5925,7 +6224,7 @@ class DateRangePickerComponent {
5925
6224
  // return this._timepicker;
5926
6225
  }
5927
6226
  /**
5928
- * Toggle the visibility of the component.
6227
+ * Toggle the visibility of the dropdown date-picker component.
5929
6228
  * @type boolean
5930
6229
  * @default false
5931
6230
  */
@@ -6060,6 +6359,12 @@ class DateRangePickerComponent {
6060
6359
  get inputEndHoverValue() {
6061
6360
  return this._inputEndHoverValue;
6062
6361
  }
6362
+ get datePickerClasses() {
6363
+ return {
6364
+ 'is-valid': this.valid === true,
6365
+ 'is-invalid': this.valid === false
6366
+ };
6367
+ }
6063
6368
  formatDate(date) {
6064
6369
  return this.format
6065
6370
  ? format(date, this.format)
@@ -6227,13 +6532,13 @@ class DateRangePickerComponent {
6227
6532
  }
6228
6533
  }
6229
6534
  DateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DateRangePickerComponent, deps: [{ token: i1$2.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
6230
- DateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DateRangePickerComponent, selector: "c-date-range-picker", inputs: { dayFormat: "dayFormat", calendars: "calendars", cleaner: "cleaner", format: "format", indicator: "indicator", inputReadOnly: "inputReadOnly", navYearFirst: "navYearFirst", placeholder: "placeholder", ranges: "ranges", rangesButtonsColor: "rangesButtonsColor", rangesButtonsSize: "rangesButtonsSize", rangesButtonsVariant: "rangesButtonsVariant", separator: "separator", size: "size", timepicker: "timepicker", visible: "visible", startDate: "startDate", endDate: "endDate", calendarDate: "calendarDate", disabledDates: "disabledDates", firstDayOfWeek: "firstDayOfWeek", locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: "navigation", range: "range", dateFilter: "dateFilter", disabled: "disabled", value: "value", weekdayFormat: "weekdayFormat", popperjsOptions: ["popperOptions", "popperjsOptions"] }, outputs: { valueChange: "valueChange", calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
6535
+ DateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DateRangePickerComponent, selector: "c-date-range-picker", inputs: { dayFormat: "dayFormat", calendars: "calendars", cleaner: "cleaner", format: "format", indicator: "indicator", inputReadOnly: "inputReadOnly", navYearFirst: "navYearFirst", placeholder: "placeholder", ranges: "ranges", rangesButtonsColor: "rangesButtonsColor", rangesButtonsSize: "rangesButtonsSize", rangesButtonsVariant: "rangesButtonsVariant", separator: "separator", size: "size", timepicker: "timepicker", valid: "valid", visible: "visible", startDate: "startDate", endDate: "endDate", calendarDate: "calendarDate", disabledDates: "disabledDates", firstDayOfWeek: "firstDayOfWeek", locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: "navigation", range: "range", dateFilter: "dateFilter", disabled: "disabled", value: "value", weekdayFormat: "weekdayFormat", popperjsOptions: ["popperOptions", "popperjsOptions"] }, outputs: { valueChange: "valueChange", calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
6231
6536
  {
6232
6537
  provide: NG_VALUE_ACCESSOR,
6233
6538
  useExisting: forwardRef(() => DateRangePickerComponent),
6234
6539
  multi: true
6235
6540
  }
6236
- ], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "startDateElementRef", first: true, predicate: ["startDateElementRef"], descendants: true }, { propertyName: "endDateElementRef", first: true, predicate: ["endDateElementRef"], descendants: true }], exportAs: ["cDateRangePicker"], usesOnChanges: true, ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n #startDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cFormControl\r\n #endDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\r\n <!-- todo-->\r\n <c-time-picker\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!startDate\"\r\n [time]=\"startDate ?? undefined\"\r\n (timeChange)=\"handleStartTimeChange($event)\"\r\n ></c-time-picker>\r\n <c-time-picker\r\n *ngIf=\"range\"\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!endDate\"\r\n [time]=\"endDate ?? undefined\"\r\n (timeChange)=\"handleEndTimeChange($event)\"\r\n ></c-time-picker>\r\n </div>\r\n </div>\r\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\r\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: CalendarComponent, selector: "c-calendar", inputs: ["calendarDate", "calendars", "dayFormat", "disabledDates", "startDate", "endDate", "firstDayOfWeek", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "range", "view", "weekdayFormat", "dateFilter"], outputs: ["calendarCellHover", "calendarDateChange", "endDateChange", "startDateChange", "viewChange"], exportAs: ["cCalendar"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "component", type: InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "component", type: TimePickerComponent, selector: "c-time-picker", inputs: ["cleaner", "dateTimeFormatOptions", "disabled", "filterHours", "filterMinutes", "filterSeconds", "indicator", "inputReadOnly", "locale", "placeholder", "seconds", "size", "time", "variant", "visible"], outputs: ["timeChange"], exportAs: ["cTimePicker"] }] });
6541
+ ], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "startDateElementRef", first: true, predicate: ["startDateElementRef"], descendants: true }, { propertyName: "endDateElementRef", first: true, predicate: ["endDateElementRef"], descendants: true }], exportAs: ["cDateRangePicker"], usesOnChanges: true, ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [ngClass]=\"datePickerClasses\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\"\n >\n <input (change)=\"handleStartDateInputChange($event)\"\n [formControl]=\"startDateInput\"\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\n cFormControl\n #startDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"range ? undefined : valid\"\n >\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\n </span>\n <input (change)=\"handleEndDateInputChange($event)\"\n *ngIf=\"range\"\n [formControl]=\"endDateInput\"\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\n cFormControl\n #endDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu>\n <div class=\"date-picker-body\">\n <ng-template [ngIf]=\"!isMobile\">\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\n <button (click)=\"setCustomRange(customRange)\"\n *ngFor=\"let customRange of customRanges\"\n [color]=\"rangesButtonsColor\"\n [size]=\"rangesButtonsSize\"\n [variant]=\"rangesButtonsVariant\"\n cButton>\n {{getCustomRangeKey(customRange)}}\n </button>\n </div>\n </ng-template>\n <c-calendar\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\n (endDateChange)=\"handleEndDateChange($event)\"\n (startDateChange)=\"handleStartDateChange($event)\"\n [calendarDate]=\"calendarDate\"\n [calendars]=\"isMobile ? 1 : calendars\"\n [dateFilter]=\"dateFilter\"\n [disabledDates]=\"disabledDates\"\n [endDate]=\"endDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [locale]=\"locale\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [navigation]=\"navigation\"\n [range]=\"range\"\n [startDate]=\"startDate\"\n [navYearFirst]=\"navYearFirst\"\n [dayFormat]=\"dayFormat\"\n [weekdayFormat]=\"weekdayFormat\"\n class=\"date-picker-calendars\"\n ></c-calendar>\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\n <!-- todo-->\n <c-time-picker\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!startDate\"\n [time]=\"startDate ?? undefined\"\n (timeChange)=\"handleStartTimeChange($event)\"\n ></c-time-picker>\n <c-time-picker\n *ngIf=\"range\"\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!endDate\"\n [time]=\"endDate ?? undefined\"\n (timeChange)=\"handleEndTimeChange($event)\"\n ></c-time-picker>\n </div>\n </div>\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</c-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: CalendarComponent, selector: "c-calendar", inputs: ["calendarDate", "calendars", "dayFormat", "disabledDates", "startDate", "endDate", "firstDayOfWeek", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "range", "view", "weekdayFormat", "dateFilter"], outputs: ["calendarCellHover", "calendarDateChange", "endDateChange", "startDateChange", "viewChange"], exportAs: ["cCalendar"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "component", type: InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "component", type: TimePickerComponent, selector: "c-time-picker", inputs: ["cleaner", "dateTimeFormatOptions", "disabled", "filterHours", "filterMinutes", "filterSeconds", "indicator", "inputReadOnly", "locale", "placeholder", "seconds", "size", "time", "variant", "valid", "visible"], outputs: ["timeChange"], exportAs: ["cTimePicker"] }] });
6237
6542
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DateRangePickerComponent, decorators: [{
6238
6543
  type: Component,
6239
6544
  args: [{ selector: 'c-date-range-picker', exportAs: 'cDateRangePicker', providers: [
@@ -6242,7 +6547,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6242
6547
  useExisting: forwardRef(() => DateRangePickerComponent),
6243
6548
  multi: true
6244
6549
  }
6245
- ], template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n #startDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cFormControl\r\n #endDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\r\n <!-- todo-->\r\n <c-time-picker\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!startDate\"\r\n [time]=\"startDate ?? undefined\"\r\n (timeChange)=\"handleStartTimeChange($event)\"\r\n ></c-time-picker>\r\n <c-time-picker\r\n *ngIf=\"range\"\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!endDate\"\r\n [time]=\"endDate ?? undefined\"\r\n (timeChange)=\"handleEndTimeChange($event)\"\r\n ></c-time-picker>\r\n </div>\r\n </div>\r\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\r\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n" }]
6550
+ ], template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [ngClass]=\"datePickerClasses\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\"\n >\n <input (change)=\"handleStartDateInputChange($event)\"\n [formControl]=\"startDateInput\"\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\n cFormControl\n #startDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"range ? undefined : valid\"\n >\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\n </span>\n <input (change)=\"handleEndDateInputChange($event)\"\n *ngIf=\"range\"\n [formControl]=\"endDateInput\"\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\n cFormControl\n #endDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu>\n <div class=\"date-picker-body\">\n <ng-template [ngIf]=\"!isMobile\">\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\n <button (click)=\"setCustomRange(customRange)\"\n *ngFor=\"let customRange of customRanges\"\n [color]=\"rangesButtonsColor\"\n [size]=\"rangesButtonsSize\"\n [variant]=\"rangesButtonsVariant\"\n cButton>\n {{getCustomRangeKey(customRange)}}\n </button>\n </div>\n </ng-template>\n <c-calendar\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\n (endDateChange)=\"handleEndDateChange($event)\"\n (startDateChange)=\"handleStartDateChange($event)\"\n [calendarDate]=\"calendarDate\"\n [calendars]=\"isMobile ? 1 : calendars\"\n [dateFilter]=\"dateFilter\"\n [disabledDates]=\"disabledDates\"\n [endDate]=\"endDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [locale]=\"locale\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [navigation]=\"navigation\"\n [range]=\"range\"\n [startDate]=\"startDate\"\n [navYearFirst]=\"navYearFirst\"\n [dayFormat]=\"dayFormat\"\n [weekdayFormat]=\"weekdayFormat\"\n class=\"date-picker-calendars\"\n ></c-calendar>\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\n <!-- todo-->\n <c-time-picker\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!startDate\"\n [time]=\"startDate ?? undefined\"\n (timeChange)=\"handleStartTimeChange($event)\"\n ></c-time-picker>\n <c-time-picker\n *ngIf=\"range\"\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!endDate\"\n [time]=\"endDate ?? undefined\"\n (timeChange)=\"handleEndTimeChange($event)\"\n ></c-time-picker>\n </div>\n </div>\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</c-dropdown>\n" }]
6246
6551
  }], ctorParameters: function () { return [{ type: i1$2.BreakpointObserver }]; }, propDecorators: { dayFormat: [{
6247
6552
  type: Input
6248
6553
  }], calendars: [{
@@ -6273,6 +6578,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
6273
6578
  type: Input
6274
6579
  }], timepicker: [{
6275
6580
  type: Input
6581
+ }], valid: [{
6582
+ type: Input
6276
6583
  }], visible: [{
6277
6584
  type: Input
6278
6585
  }], startDate: [{
@@ -6599,382 +6906,111 @@ class FormTextDirective {
6599
6906
  };
6600
6907
  }
6601
6908
  }
6602
- FormTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6603
- FormTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormTextDirective, selector: "[cFormText]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormTextDirective, decorators: [{
6605
- type: Directive,
6606
- args: [{
6607
- selector: '[cFormText]'
6608
- }]
6609
- }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
6610
- type: HostBinding,
6611
- args: ['class']
6612
- }] } });
6613
-
6614
- class FormFloatingDirective {
6615
- constructor() {
6616
- this._floating = true;
6617
- }
6618
- /**
6619
- * Enable floating labels
6620
- * @type boolean
6621
- */
6622
- get floating() {
6623
- return this._floating;
6624
- }
6625
- set floating(value) {
6626
- this._floating = coerceBooleanProperty(value);
6627
- }
6628
- get hostClasses() {
6629
- return {
6630
- 'form-floating': this.floating,
6631
- };
6632
- }
6633
- }
6634
- FormFloatingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFloatingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6635
- FormFloatingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormFloatingDirective, selector: "[cFormFloating]", inputs: { floating: ["cFormFloating", "floating"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6636
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFloatingDirective, decorators: [{
6637
- type: Directive,
6638
- args: [{
6639
- selector: '[cFormFloating]'
6640
- }]
6641
- }], ctorParameters: function () { return []; }, propDecorators: { floating: [{
6642
- type: Input,
6643
- args: ['cFormFloating']
6644
- }], hostClasses: [{
6645
- type: HostBinding,
6646
- args: ['class']
6647
- }] } });
6648
-
6649
- class FormModule {
6650
- }
6651
- FormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6652
- FormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: FormModule, declarations: [FormDirective,
6653
- FormCheckComponent,
6654
- FormControlDirective,
6655
- FormFeedbackComponent,
6656
- FormFloatingDirective,
6657
- FormLabelDirective,
6658
- FormSelectDirective,
6659
- FormTextDirective,
6660
- InputGroupComponent,
6661
- InputGroupTextDirective,
6662
- FormCheckLabelDirective,
6663
- FormCheckInputDirective], imports: [CommonModule], exports: [FormDirective,
6664
- FormCheckComponent,
6665
- FormControlDirective,
6666
- FormFeedbackComponent,
6667
- FormFloatingDirective,
6668
- FormLabelDirective,
6669
- FormSelectDirective,
6670
- FormTextDirective,
6671
- InputGroupComponent,
6672
- InputGroupTextDirective,
6673
- FormCheckLabelDirective,
6674
- FormCheckInputDirective] });
6675
- FormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormModule, imports: [CommonModule] });
6676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormModule, decorators: [{
6677
- type: NgModule,
6678
- args: [{
6679
- declarations: [
6680
- FormDirective,
6681
- FormCheckComponent,
6682
- FormControlDirective,
6683
- FormFeedbackComponent,
6684
- FormFloatingDirective,
6685
- FormLabelDirective,
6686
- FormSelectDirective,
6687
- FormTextDirective,
6688
- InputGroupComponent,
6689
- InputGroupTextDirective,
6690
- FormCheckLabelDirective,
6691
- FormCheckInputDirective,
6692
- ],
6693
- imports: [CommonModule],
6694
- exports: [
6695
- FormDirective,
6696
- FormCheckComponent,
6697
- FormControlDirective,
6698
- FormFeedbackComponent,
6699
- FormFloatingDirective,
6700
- FormLabelDirective,
6701
- FormSelectDirective,
6702
- FormTextDirective,
6703
- InputGroupComponent,
6704
- InputGroupTextDirective,
6705
- FormCheckLabelDirective,
6706
- FormCheckInputDirective
6707
- ]
6708
- }]
6709
- }] });
6710
-
6711
- class DropdownDividerDirective {
6712
- constructor() {
6713
- }
6714
- get hostClasses() {
6715
- return {
6716
- 'dropdown-divider': true,
6717
- };
6718
- }
6719
- }
6720
- DropdownDividerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownDividerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6721
- DropdownDividerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownDividerDirective, selector: "[cDropdownDivider]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownDividerDirective, decorators: [{
6723
- type: Directive,
6724
- args: [{
6725
- selector: '[cDropdownDivider]'
6726
- }]
6727
- }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
6728
- type: HostBinding,
6729
- args: ['class']
6730
- }] } });
6731
-
6732
- class DropdownHeaderDirective {
6733
- constructor() {
6734
- }
6735
- get hostClasses() {
6736
- return {
6737
- 'dropdown-header': true,
6738
- };
6739
- }
6740
- }
6741
- DropdownHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6742
- DropdownHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownHeaderDirective, selector: "[cDropdownHeader]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownHeaderDirective, decorators: [{
6744
- type: Directive,
6745
- args: [{
6746
- selector: '[cDropdownHeader]'
6747
- }]
6748
- }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
6749
- type: HostBinding,
6750
- args: ['class']
6751
- }] } });
6752
-
6753
- class DropdownItemDirective {
6754
- constructor(dropdownService, dropdown) {
6755
- this.dropdownService = dropdownService;
6756
- this.dropdown = dropdown;
6757
- /**
6758
- * Configure dropdown-item close dropdown behavior.
6759
- * @type boolean
6760
- * @default true
6761
- */
6762
- this.autoClose = true;
6763
- this._tabIndex = null;
6764
- }
6765
- get ariaCurrent() {
6766
- return this.active ? 'true' : null;
6767
- }
6768
- get hostClasses() {
6769
- return {
6770
- 'dropdown-item': true,
6771
- active: this.active,
6772
- disabled: this.disabled
6773
- };
6774
- }
6775
- set tabIndex(value) {
6776
- this._tabIndex = value;
6777
- }
6778
- get tabIndex() {
6779
- return this.disabled ? '-1' : this._tabIndex;
6780
- }
6781
- get isDisabled() {
6782
- return this.disabled || null;
6783
- }
6784
- onClick($event) {
6785
- if (this.autoClose) {
6786
- this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });
6787
- }
6788
- }
6789
- onKeyUp($event) {
6790
- if ($event.key === 'Enter') {
6791
- if (this.autoClose) {
6792
- this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
6793
- }
6794
- }
6795
- }
6796
- }
6797
- DropdownItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemDirective, deps: [{ token: DropdownService }, { token: DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6798
- DropdownItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownItemDirective, selector: "[cDropdownItem]", inputs: { active: "active", autoClose: "autoClose", disabled: "disabled", tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick($event)", "keyup": "onKeyUp($event)" }, properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.aria-disabled": "this.isDisabled" } }, exportAs: ["cDropdownItem"], ngImport: i0 });
6799
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemDirective, decorators: [{
6800
- type: Directive,
6801
- args: [{
6802
- selector: '[cDropdownItem]',
6803
- exportAs: 'cDropdownItem'
6804
- }]
6805
- }], ctorParameters: function () {
6806
- return [{ type: DropdownService }, { type: DropdownComponent, decorators: [{
6807
- type: Optional
6808
- }] }];
6809
- }, propDecorators: { active: [{
6810
- type: Input
6811
- }], autoClose: [{
6812
- type: Input
6813
- }], disabled: [{
6814
- type: Input
6815
- }], ariaCurrent: [{
6816
- type: HostBinding,
6817
- args: ['attr.aria-current']
6818
- }], hostClasses: [{
6819
- type: HostBinding,
6820
- args: ['class']
6821
- }], tabIndex: [{
6822
- type: HostBinding,
6823
- args: ['attr.tabindex']
6824
- }, {
6825
- type: Input
6826
- }], isDisabled: [{
6827
- type: HostBinding,
6828
- args: ['attr.aria-disabled']
6829
- }], onClick: [{
6830
- type: HostListener,
6831
- args: ['click', ['$event']]
6832
- }], onKeyUp: [{
6833
- type: HostListener,
6834
- args: ['keyup', ['$event']]
6835
- }] } });
6836
-
6837
- class DropdownItemPlainDirective {
6838
- constructor() {
6839
- }
6840
- get hostClasses() {
6841
- return {
6842
- 'dropdown-item-text': true,
6843
- };
6844
- }
6845
- }
6846
- DropdownItemPlainDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemPlainDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6847
- DropdownItemPlainDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownItemPlainDirective, selector: "[cDropdownItemPlain]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownItemPlainDirective, decorators: [{
6909
+ FormTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6910
+ FormTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormTextDirective, selector: "[cFormText]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormTextDirective, decorators: [{
6849
6912
  type: Directive,
6850
6913
  args: [{
6851
- selector: '[cDropdownItemPlain]'
6914
+ selector: '[cFormText]'
6852
6915
  }]
6853
6916
  }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
6854
6917
  type: HostBinding,
6855
6918
  args: ['class']
6856
6919
  }] } });
6857
6920
 
6858
- class DropdownCloseDirective {
6859
- constructor(dropdownService, dropdown) {
6860
- this.dropdownService = dropdownService;
6861
- this.dropdown = dropdown;
6862
- this._tabIndex = null;
6921
+ class FormFloatingDirective {
6922
+ constructor() {
6923
+ this._floating = true;
6863
6924
  }
6864
- ngAfterViewInit() {
6865
- var _a;
6866
- if (this.dropdownComponent) {
6867
- this.dropdown = this.dropdownComponent;
6868
- this.dropdownService = (_a = this.dropdownComponent) === null || _a === void 0 ? void 0 : _a.dropdownService;
6869
- }
6925
+ /**
6926
+ * Enable floating labels
6927
+ * @type boolean
6928
+ */
6929
+ get floating() {
6930
+ return this._floating;
6931
+ }
6932
+ set floating(value) {
6933
+ this._floating = coerceBooleanProperty(value);
6870
6934
  }
6871
6935
  get hostClasses() {
6872
6936
  return {
6873
- disabled: this.disabled
6937
+ 'form-floating': this.floating,
6874
6938
  };
6875
6939
  }
6876
- set tabIndex(value) {
6877
- this._tabIndex = value;
6878
- }
6879
- get tabIndex() {
6880
- return this.disabled ? '-1' : this._tabIndex;
6881
- }
6882
- get isDisabled() {
6883
- return this.disabled || null;
6884
- }
6885
- onClick($event) {
6886
- !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
6887
- }
6888
- onKeyUp($event) {
6889
- if ($event.key === 'Enter') {
6890
- !this.disabled && this.dropdownService.toggle({ visible: false, dropdown: this.dropdown });
6891
- }
6892
- }
6893
6940
  }
6894
- DropdownCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownCloseDirective, deps: [{ token: DropdownService }, { token: DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6895
- DropdownCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DropdownCloseDirective, selector: "[cDropdownClose]", inputs: { disabled: "disabled", dropdownComponent: "dropdownComponent", tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick($event)", "keyup": "onKeyUp($event)" }, properties: { "class": "this.hostClasses", "attr.tabindex": "this.tabIndex", "attr.aria-disabled": "this.isDisabled" } }, exportAs: ["cDropdownClose"], ngImport: i0 });
6896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownCloseDirective, decorators: [{
6941
+ FormFloatingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFloatingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6942
+ FormFloatingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FormFloatingDirective, selector: "[cFormFloating]", inputs: { floating: ["cFormFloating", "floating"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
6943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormFloatingDirective, decorators: [{
6897
6944
  type: Directive,
6898
6945
  args: [{
6899
- selector: '[cDropdownClose]',
6900
- exportAs: 'cDropdownClose'
6946
+ selector: '[cFormFloating]'
6901
6947
  }]
6902
- }], ctorParameters: function () {
6903
- return [{ type: DropdownService }, { type: DropdownComponent, decorators: [{
6904
- type: Optional
6905
- }] }];
6906
- }, propDecorators: { disabled: [{
6907
- type: Input
6908
- }], dropdownComponent: [{
6909
- type: Input
6948
+ }], ctorParameters: function () { return []; }, propDecorators: { floating: [{
6949
+ type: Input,
6950
+ args: ['cFormFloating']
6910
6951
  }], hostClasses: [{
6911
6952
  type: HostBinding,
6912
6953
  args: ['class']
6913
- }], tabIndex: [{
6914
- type: HostBinding,
6915
- args: ['attr.tabindex']
6916
- }, {
6917
- type: Input
6918
- }], isDisabled: [{
6919
- type: HostBinding,
6920
- args: ['attr.aria-disabled']
6921
- }], onClick: [{
6922
- type: HostListener,
6923
- args: ['click', ['$event']]
6924
- }], onKeyUp: [{
6925
- type: HostListener,
6926
- args: ['keyup', ['$event']]
6927
6954
  }] } });
6928
6955
 
6929
- class DropdownModule {
6956
+ class FormModule {
6930
6957
  }
6931
- DropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6932
- DropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, declarations: [DropdownComponent,
6933
- DropdownDividerDirective,
6934
- DropdownHeaderDirective,
6935
- DropdownItemDirective,
6936
- DropdownItemPlainDirective,
6937
- DropdownToggleDirective,
6938
- DropdownMenuDirective,
6939
- DropdownCloseDirective], imports: [CommonModule], exports: [DropdownComponent,
6940
- DropdownDividerDirective,
6941
- DropdownHeaderDirective,
6942
- DropdownItemDirective,
6943
- DropdownItemPlainDirective,
6944
- DropdownToggleDirective,
6945
- DropdownMenuDirective,
6946
- DropdownCloseDirective] });
6947
- DropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, providers: [
6948
- DropdownService,
6949
- ], imports: [CommonModule] });
6950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DropdownModule, decorators: [{
6958
+ FormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6959
+ FormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: FormModule, declarations: [FormDirective,
6960
+ FormCheckComponent,
6961
+ FormControlDirective,
6962
+ FormFeedbackComponent,
6963
+ FormFloatingDirective,
6964
+ FormLabelDirective,
6965
+ FormSelectDirective,
6966
+ FormTextDirective,
6967
+ InputGroupComponent,
6968
+ InputGroupTextDirective,
6969
+ FormCheckLabelDirective,
6970
+ FormCheckInputDirective], imports: [CommonModule], exports: [FormDirective,
6971
+ FormCheckComponent,
6972
+ FormControlDirective,
6973
+ FormFeedbackComponent,
6974
+ FormFloatingDirective,
6975
+ FormLabelDirective,
6976
+ FormSelectDirective,
6977
+ FormTextDirective,
6978
+ InputGroupComponent,
6979
+ InputGroupTextDirective,
6980
+ FormCheckLabelDirective,
6981
+ FormCheckInputDirective] });
6982
+ FormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormModule, imports: [CommonModule] });
6983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormModule, decorators: [{
6951
6984
  type: NgModule,
6952
6985
  args: [{
6953
6986
  declarations: [
6954
- DropdownComponent,
6955
- DropdownDividerDirective,
6956
- DropdownHeaderDirective,
6957
- DropdownItemDirective,
6958
- DropdownItemPlainDirective,
6959
- DropdownToggleDirective,
6960
- DropdownMenuDirective,
6961
- DropdownCloseDirective
6962
- ],
6963
- imports: [
6964
- CommonModule,
6987
+ FormDirective,
6988
+ FormCheckComponent,
6989
+ FormControlDirective,
6990
+ FormFeedbackComponent,
6991
+ FormFloatingDirective,
6992
+ FormLabelDirective,
6993
+ FormSelectDirective,
6994
+ FormTextDirective,
6995
+ InputGroupComponent,
6996
+ InputGroupTextDirective,
6997
+ FormCheckLabelDirective,
6998
+ FormCheckInputDirective,
6965
6999
  ],
7000
+ imports: [CommonModule],
6966
7001
  exports: [
6967
- DropdownComponent,
6968
- DropdownDividerDirective,
6969
- DropdownHeaderDirective,
6970
- DropdownItemDirective,
6971
- DropdownItemPlainDirective,
6972
- DropdownToggleDirective,
6973
- DropdownMenuDirective,
6974
- DropdownCloseDirective
6975
- ],
6976
- providers: [
6977
- DropdownService,
7002
+ FormDirective,
7003
+ FormCheckComponent,
7004
+ FormControlDirective,
7005
+ FormFeedbackComponent,
7006
+ FormFloatingDirective,
7007
+ FormLabelDirective,
7008
+ FormSelectDirective,
7009
+ FormTextDirective,
7010
+ InputGroupComponent,
7011
+ InputGroupTextDirective,
7012
+ FormCheckLabelDirective,
7013
+ FormCheckInputDirective
6978
7014
  ]
6979
7015
  }]
6980
7016
  }] });
@@ -7110,7 +7146,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
7110
7146
  useExisting: forwardRef(() => DatePickerComponent),
7111
7147
  multi: true
7112
7148
  }
7113
- ], exportAs: ["cDatePicker"], usesInheritance: true, ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n #startDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cFormControl\r\n #endDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\r\n <!-- todo-->\r\n <c-time-picker\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!startDate\"\r\n [time]=\"startDate ?? undefined\"\r\n (timeChange)=\"handleStartTimeChange($event)\"\r\n ></c-time-picker>\r\n <c-time-picker\r\n *ngIf=\"range\"\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!endDate\"\r\n [time]=\"endDate ?? undefined\"\r\n (timeChange)=\"handleEndTimeChange($event)\"\r\n ></c-time-picker>\r\n </div>\r\n </div>\r\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\r\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: CalendarComponent, selector: "c-calendar", inputs: ["calendarDate", "calendars", "dayFormat", "disabledDates", "startDate", "endDate", "firstDayOfWeek", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "range", "view", "weekdayFormat", "dateFilter"], outputs: ["calendarCellHover", "calendarDateChange", "endDateChange", "startDateChange", "viewChange"], exportAs: ["cCalendar"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "component", type: InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "component", type: TimePickerComponent, selector: "c-time-picker", inputs: ["cleaner", "dateTimeFormatOptions", "disabled", "filterHours", "filterMinutes", "filterSeconds", "indicator", "inputReadOnly", "locale", "placeholder", "seconds", "size", "time", "variant", "visible"], outputs: ["timeChange"], exportAs: ["cTimePicker"] }] });
7149
+ ], exportAs: ["cDatePicker"], usesInheritance: true, ngImport: i0, template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [ngClass]=\"datePickerClasses\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\"\n >\n <input (change)=\"handleStartDateInputChange($event)\"\n [formControl]=\"startDateInput\"\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\n cFormControl\n #startDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"range ? undefined : valid\"\n >\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\n </span>\n <input (change)=\"handleEndDateInputChange($event)\"\n *ngIf=\"range\"\n [formControl]=\"endDateInput\"\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\n cFormControl\n #endDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu>\n <div class=\"date-picker-body\">\n <ng-template [ngIf]=\"!isMobile\">\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\n <button (click)=\"setCustomRange(customRange)\"\n *ngFor=\"let customRange of customRanges\"\n [color]=\"rangesButtonsColor\"\n [size]=\"rangesButtonsSize\"\n [variant]=\"rangesButtonsVariant\"\n cButton>\n {{getCustomRangeKey(customRange)}}\n </button>\n </div>\n </ng-template>\n <c-calendar\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\n (endDateChange)=\"handleEndDateChange($event)\"\n (startDateChange)=\"handleStartDateChange($event)\"\n [calendarDate]=\"calendarDate\"\n [calendars]=\"isMobile ? 1 : calendars\"\n [dateFilter]=\"dateFilter\"\n [disabledDates]=\"disabledDates\"\n [endDate]=\"endDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [locale]=\"locale\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [navigation]=\"navigation\"\n [range]=\"range\"\n [startDate]=\"startDate\"\n [navYearFirst]=\"navYearFirst\"\n [dayFormat]=\"dayFormat\"\n [weekdayFormat]=\"weekdayFormat\"\n class=\"date-picker-calendars\"\n ></c-calendar>\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\n <!-- todo-->\n <c-time-picker\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!startDate\"\n [time]=\"startDate ?? undefined\"\n (timeChange)=\"handleStartTimeChange($event)\"\n ></c-time-picker>\n <c-time-picker\n *ngIf=\"range\"\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!endDate\"\n [time]=\"endDate ?? undefined\"\n (timeChange)=\"handleEndTimeChange($event)\"\n ></c-time-picker>\n </div>\n </div>\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</c-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "component", type: CalendarComponent, selector: "c-calendar", inputs: ["calendarDate", "calendars", "dayFormat", "disabledDates", "startDate", "endDate", "firstDayOfWeek", "locale", "maxDate", "minDate", "navigation", "navYearFirst", "range", "view", "weekdayFormat", "dateFilter"], outputs: ["calendarCellHover", "calendarDateChange", "endDateChange", "startDateChange", "viewChange"], exportAs: ["cCalendar"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "component", type: InputGroupComponent, selector: "c-input-group", inputs: ["sizing"] }, { kind: "directive", type: InputGroupTextDirective, selector: "[cInputGroupText]" }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "dark", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible", "dark"], exportAs: ["cDropdownMenu"] }, { kind: "component", type: TimePickerComponent, selector: "c-time-picker", inputs: ["cleaner", "dateTimeFormatOptions", "disabled", "filterHours", "filterMinutes", "filterSeconds", "indicator", "inputReadOnly", "locale", "placeholder", "seconds", "size", "time", "variant", "valid", "visible"], outputs: ["timeChange"], exportAs: ["cTimePicker"] }] });
7114
7150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
7115
7151
  type: Component,
7116
7152
  args: [{ selector: 'c-date-picker', exportAs: 'cDatePicker', providers: [
@@ -7119,7 +7155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
7119
7155
  useExisting: forwardRef(() => DatePickerComponent),
7120
7156
  multi: true
7121
7157
  }
7122
- ], template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\r\n <c-input-group [caret]=\"false\"\r\n [disabled]=\"disabled ?? dropdown.visible\"\r\n [sizing]=\"size ?? ''\"\r\n cDropdownToggle\r\n class=\"picker-input-group\"\r\n >\r\n <input (change)=\"handleStartDateInputChange($event)\"\r\n [formControl]=\"startDateInput\"\r\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\r\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\r\n cFormControl\r\n #startDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\r\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\r\n </span>\r\n <input (change)=\"handleEndDateInputChange($event)\"\r\n *ngIf=\"range\"\r\n [formControl]=\"endDateInput\"\r\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\r\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\r\n cFormControl\r\n #endDateElementRef\r\n [attr.tabindex]=\"disabled ? -1 : 0\"\r\n [attr.disabled]=\"disabled ? '' : null\"\r\n pattern=\"[1-9]*\"\r\n [readonly]=\"inputReadOnly ?? null\"\r\n >\r\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\r\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\r\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\r\n </span>\r\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\r\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\r\n </span>\r\n </span>\r\n\r\n </c-input-group>\r\n <div cDropdownMenu>\r\n <div class=\"date-picker-body\">\r\n <ng-template [ngIf]=\"!isMobile\">\r\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\r\n <button (click)=\"setCustomRange(customRange)\"\r\n *ngFor=\"let customRange of customRanges\"\r\n [color]=\"rangesButtonsColor\"\r\n [size]=\"rangesButtonsSize\"\r\n [variant]=\"rangesButtonsVariant\"\r\n cButton>\r\n {{getCustomRangeKey(customRange)}}\r\n </button>\r\n </div>\r\n </ng-template>\r\n <c-calendar\r\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\r\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\r\n (endDateChange)=\"handleEndDateChange($event)\"\r\n (startDateChange)=\"handleStartDateChange($event)\"\r\n [calendarDate]=\"calendarDate\"\r\n [calendars]=\"isMobile ? 1 : calendars\"\r\n [dateFilter]=\"dateFilter\"\r\n [disabledDates]=\"disabledDates\"\r\n [endDate]=\"endDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [locale]=\"locale\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [navigation]=\"navigation\"\r\n [range]=\"range\"\r\n [startDate]=\"startDate\"\r\n [navYearFirst]=\"navYearFirst\"\r\n [dayFormat]=\"dayFormat\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n class=\"date-picker-calendars\"\r\n ></c-calendar>\r\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\r\n <!-- todo-->\r\n <c-time-picker\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!startDate\"\r\n [time]=\"startDate ?? undefined\"\r\n (timeChange)=\"handleStartTimeChange($event)\"\r\n ></c-time-picker>\r\n <c-time-picker\r\n *ngIf=\"range\"\r\n variant=\"select\"\r\n [locale]=\"locale\"\r\n [disabled]=\"!endDate\"\r\n [time]=\"endDate ?? undefined\"\r\n (timeChange)=\"handleEndTimeChange($event)\"\r\n ></c-time-picker>\r\n </div>\r\n </div>\r\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\r\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n</c-dropdown>\r\n" }]
7158
+ ], template: "<c-dropdown #dropdown=\"cDropdown\" [autoClose]=\"'outside'\" class=\"date-picker picker\" [ngClass]=\"datePickerClasses\" [visible]=\"visible\" [popperOptions]=\"popperjsOptions\">\n <c-input-group [caret]=\"false\"\n [disabled]=\"disabled ?? dropdown.visible\"\n [sizing]=\"size ?? ''\"\n cDropdownToggle\n class=\"picker-input-group\"\n >\n <input (change)=\"handleStartDateInputChange($event)\"\n [formControl]=\"startDateInput\"\n [ngClass]=\"{hover: !!inputStartHoverValue}\"\n [placeholder]=\"startDatePlaceholder ?? placeholder[0]\"\n cFormControl\n #startDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"range ? undefined : valid\"\n >\n <span *ngIf=\"range && separator !== false\" cInputGroupText>\n <span class=\"picker-input-group-icon date-picker-arrow-icon\"></span>\n </span>\n <input (change)=\"handleEndDateInputChange($event)\"\n *ngIf=\"range\"\n [formControl]=\"endDateInput\"\n [ngClass]=\"{hover: !!inputEndHoverValue}\"\n [placeholder]=\"endDatePlaceholder ?? placeholder[1]\"\n cFormControl\n #endDateElementRef\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [attr.disabled]=\"disabled ? '' : null\"\n pattern=\"[1-9]*\"\n [readonly]=\"inputReadOnly ?? null\"\n [valid]=\"valid\"\n >\n <span *ngIf=\"indicator || cleaner\" cInputGroupText>\n <span *ngIf=\"indicator\" class=\"picker-input-group-indicator\">\n <span class=\"picker-input-group-icon date-picker-input-icon\"></span>\n </span>\n <span (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && startDateElementRef.value && !disabled\" class=\"picker-input-group-cleaner\" role=\"button\">\n <span class=\"picker-input-group-icon date-picker-cleaner-icon\"></span>\n </span>\n </span>\n\n </c-input-group>\n <div cDropdownMenu>\n <div class=\"date-picker-body\">\n <ng-template [ngIf]=\"!isMobile\">\n <div *ngIf=\"ranges\" class=\"date-picker-ranges\">\n <button (click)=\"setCustomRange(customRange)\"\n *ngFor=\"let customRange of customRanges\"\n [color]=\"rangesButtonsColor\"\n [size]=\"rangesButtonsSize\"\n [variant]=\"rangesButtonsVariant\"\n cButton>\n {{getCustomRangeKey(customRange)}}\n </button>\n </div>\n </ng-template>\n <c-calendar\n (calendarCellHover)=\"handleCalendarCellHover($event)\"\n (calendarDateChange)=\"handleCalendarDateChange($event)\"\n (endDateChange)=\"handleEndDateChange($event)\"\n (startDateChange)=\"handleStartDateChange($event)\"\n [calendarDate]=\"calendarDate\"\n [calendars]=\"isMobile ? 1 : calendars\"\n [dateFilter]=\"dateFilter\"\n [disabledDates]=\"disabledDates\"\n [endDate]=\"endDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [locale]=\"locale\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [navigation]=\"navigation\"\n [range]=\"range\"\n [startDate]=\"startDate\"\n [navYearFirst]=\"navYearFirst\"\n [dayFormat]=\"dayFormat\"\n [weekdayFormat]=\"weekdayFormat\"\n class=\"date-picker-calendars\"\n ></c-calendar>\n <div *ngIf=\"false && timepicker\" class=\"date-picker-timepickers\">\n <!-- todo-->\n <c-time-picker\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!startDate\"\n [time]=\"startDate ?? undefined\"\n (timeChange)=\"handleStartTimeChange($event)\"\n ></c-time-picker>\n <c-time-picker\n *ngIf=\"range\"\n variant=\"select\"\n [locale]=\"locale\"\n [disabled]=\"!endDate\"\n [time]=\"endDate ?? undefined\"\n (timeChange)=\"handleEndTimeChange($event)\"\n ></c-time-picker>\n </div>\n </div>\n <div *ngIf=\"templates?.datePickerFooter\" class=\"picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.datePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n <ng-content></ng-content>\n</c-dropdown>\n" }]
7123
7159
  }], ctorParameters: function () { return [{ type: i1$2.BreakpointObserver }]; }, propDecorators: { placeholder: [{
7124
7160
  type: Input
7125
7161
  }], startDateChange: [{
@@ -8723,6 +8759,11 @@ class MultiSelectComponent {
8723
8759
  var _a, _b;
8724
8760
  return this.multiple ? [...this._value] : (_b = (_a = this._value[0]) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
8725
8761
  }
8762
+ /**
8763
+ * Toggle the visibility of the dropdown select component.
8764
+ * @type boolean
8765
+ * @default false
8766
+ */
8726
8767
  set visible(value) {
8727
8768
  const newValue = coerceBooleanProperty(value);
8728
8769
  if (newValue !== this._visible) {
@@ -8767,7 +8808,9 @@ class MultiSelectComponent {
8767
8808
  [`form-multi-select-${this.size}`]: !!this.size,
8768
8809
  'form-multi-select-with-cleaner': this.cleaner,
8769
8810
  show: this.visible,
8770
- disabled: this.disabled
8811
+ disabled: this.disabled,
8812
+ 'is-valid': this.valid === true,
8813
+ 'is-invalid': this.valid === false
8771
8814
  };
8772
8815
  }
8773
8816
  get tabIndex() {
@@ -9038,7 +9081,7 @@ class MultiSelectComponent {
9038
9081
  }
9039
9082
  }
9040
9083
  MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1$3.FocusMonitor }, { token: MultiSelectService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
9041
- MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MultiSelectComponent, selector: "c-multi-select", inputs: { cleaner: "cleaner", disabled: "disabled", multiple: "multiple", nativeName: "nativeName", nativeId: "nativeId", optionsMaxHeight: "optionsMaxHeight", optionsStyle: "optionsStyle", placeholder: "placeholder", search: "search", searchNoResultsLabel: "searchNoResultsLabel", selectAll: "selectAll", selectAllLabel: "selectAllLabel", selectionType: "selectionType", selectionTypeCounterText: "selectionTypeCounterText", selectionTypeCounterTextPluralMap: "selectionTypeCounterTextPluralMap", size: "size", value: "value", visible: "visible", popperjsOptions: ["popperOptions", "popperjsOptions"] }, outputs: { valueChange: "valueChange", visibleChange: "visibleChange" }, host: { listeners: { "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class": "this.hostClasses", "attr.tabindex": "this.tabIndex" } }, providers: [
9084
+ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: MultiSelectComponent, selector: "c-multi-select", inputs: { cleaner: "cleaner", disabled: "disabled", multiple: "multiple", nativeName: "nativeName", nativeId: "nativeId", optionsMaxHeight: "optionsMaxHeight", optionsStyle: "optionsStyle", placeholder: "placeholder", search: "search", searchNoResultsLabel: "searchNoResultsLabel", selectAll: "selectAll", selectAllLabel: "selectAllLabel", selectionType: "selectionType", selectionTypeCounterText: "selectionTypeCounterText", selectionTypeCounterTextPluralMap: "selectionTypeCounterTextPluralMap", size: "size", value: "value", valid: "valid", visible: "visible", popperjsOptions: ["popperOptions", "popperjsOptions"] }, outputs: { valueChange: "valueChange", visibleChange: "visibleChange" }, host: { listeners: { "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class": "this.hostClasses", "attr.tabindex": "this.tabIndex" } }, providers: [
9042
9085
  MultiSelectService,
9043
9086
  {
9044
9087
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true
@@ -9088,6 +9131,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
9088
9131
  type: Input
9089
9132
  }], valueChange: [{
9090
9133
  type: Output
9134
+ }], valid: [{
9135
+ type: Input
9091
9136
  }], visible: [{
9092
9137
  type: Input
9093
9138
  }], visibleChange: [{
@@ -11409,12 +11454,12 @@ class SidebarComponent {
11409
11454
  _SidebarComponent_layoutChangeSubscription.set(this, void 0);
11410
11455
  _SidebarComponent_stateToggleSubscription.set(this, void 0);
11411
11456
  this.state = {
11412
- sidebar: this
11457
+ sidebar: this,
11413
11458
  };
11414
11459
  _SidebarComponent_stateInitial.set(this, {
11415
11460
  narrow: false,
11416
11461
  visible: false,
11417
- unfoldable: false
11462
+ unfoldable: false,
11418
11463
  });
11419
11464
  /**
11420
11465
  * Place sidebar in non-static positions. [docs]
@@ -11596,7 +11641,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
11596
11641
  args: [{
11597
11642
  selector: 'c-sidebar',
11598
11643
  exportAs: 'cSidebar',
11599
- template: '<ng-content></ng-content>'
11644
+ template: '<ng-content></ng-content>',
11600
11645
  }]
11601
11646
  }], ctorParameters: function () {
11602
11647
  return [{ type: Document, decorators: [{
@@ -12594,92 +12639,114 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
12594
12639
  }]
12595
12640
  }] });
12596
12641
 
12597
- var _SmartTableFilterComponent_dueTime, _SmartTableFilterComponent_value, _SmartTableFilterComponent_eventType, _SmartTableFilterComponent_lazy, _SmartTableFilterComponent_valueSubscription, _SmartTableFilterComponent_inputSubscription;
12598
- class SmartTableFilterComponent {
12599
- constructor() {
12600
- _SmartTableFilterComponent_dueTime.set(this, 300);
12601
- _SmartTableFilterComponent_value.set(this, '');
12602
- _SmartTableFilterComponent_eventType.set(this, '');
12603
- _SmartTableFilterComponent_lazy.set(this, false);
12604
- _SmartTableFilterComponent_valueSubscription.set(this, void 0);
12605
- _SmartTableFilterComponent_inputSubscription.set(this, void 0);
12642
+ var _FilterInputDirective_value, _FilterInputDirective_valueSubscription, _FilterInputDirective_inputSubscription, _FilterInputDirective_destroy$;
12643
+ class FilterInputDirective {
12644
+ constructor(elementRef) {
12645
+ this.elementRef = elementRef;
12646
+ _FilterInputDirective_value.set(this, '');
12647
+ _FilterInputDirective_valueSubscription.set(this, void 0);
12648
+ _FilterInputDirective_inputSubscription.set(this, void 0);
12606
12649
  this.value$ = new BehaviorSubject('');
12607
- this.filterLabel = 'Filter:';
12608
- this.filterPlaceholder = 'Filter';
12650
+ _FilterInputDirective_destroy$.set(this, new Subject());
12651
+ this.emitObject = {
12652
+ value: '',
12653
+ type: '',
12654
+ column: ''
12655
+ };
12656
+ this.delay = 300;
12657
+ this.onEvent = 'input';
12609
12658
  this.valueChange = new EventEmitter();
12610
12659
  }
12611
- set tableFilter(value) {
12612
- __classPrivateFieldSet(this, _SmartTableFilterComponent_lazy, (typeof value === 'object' && value.lazy) ? true : false, "f");
12613
- }
12614
- ;
12615
12660
  set value(value) {
12616
12661
  this.value$.next(value);
12617
12662
  }
12618
- get hostClasses() {
12619
- return {
12620
- row: true,
12621
- 'mb-2': true
12622
- };
12623
- }
12624
12663
  ngAfterViewInit() {
12625
12664
  this.setSubscription();
12626
12665
  }
12627
12666
  ngOnDestroy() {
12628
12667
  this.setSubscription(false);
12629
12668
  }
12630
- setSubscription(subscribe = !__classPrivateFieldGet(this, _SmartTableFilterComponent_valueSubscription, "f")) {
12631
- var _a, _b;
12669
+ setSubscription(subscribe = !__classPrivateFieldGet(this, _FilterInputDirective_valueSubscription, "f")) {
12632
12670
  if (subscribe) {
12633
- __classPrivateFieldSet(this, _SmartTableFilterComponent_valueSubscription, this.value$
12634
- .pipe(distinctUntilChanged())
12671
+ __classPrivateFieldSet(this, _FilterInputDirective_valueSubscription, this.value$
12672
+ .pipe(distinctUntilChanged(), takeUntil(__classPrivateFieldGet(this, _FilterInputDirective_destroy$, "f")))
12635
12673
  .subscribe(value => {
12636
- if (__classPrivateFieldGet(this, _SmartTableFilterComponent_value, "f") !== value) {
12637
- __classPrivateFieldSet(this, _SmartTableFilterComponent_value, value, "f");
12638
- this.valueChange.emit({ value, type: __classPrivateFieldGet(this, _SmartTableFilterComponent_eventType, "f") });
12674
+ if (__classPrivateFieldGet(this, _FilterInputDirective_value, "f") !== value) {
12675
+ __classPrivateFieldSet(this, _FilterInputDirective_value, value, "f");
12676
+ this.emitObject = Object.assign(Object.assign({}, this.emitObject), { value: value, type: this.onEvent });
12677
+ this.valueChange.emit(Object.assign({}, this.emitObject));
12639
12678
  }
12640
12679
  }), "f");
12641
- const eventName = __classPrivateFieldGet(this, _SmartTableFilterComponent_lazy, "f") ? 'change' : 'input';
12642
- let dueTime = __classPrivateFieldGet(this, _SmartTableFilterComponent_dueTime, "f");
12643
- __classPrivateFieldSet(this, _SmartTableFilterComponent_inputSubscription, fromEvent(this.filterInput.nativeElement, eventName)
12644
- .pipe(tap((event) => {
12645
- var _a;
12646
- dueTime = __classPrivateFieldGet(this, _SmartTableFilterComponent_lazy, "f") ? 0 : __classPrivateFieldGet(this, _SmartTableFilterComponent_dueTime, "f");
12647
- __classPrivateFieldSet(this, _SmartTableFilterComponent_eventType, (_a = event.type) !== null && _a !== void 0 ? _a : eventName, "f");
12648
- }), map(event => {
12680
+ const dueTime = this.onEvent === 'change' ? 0 : this.delay;
12681
+ __classPrivateFieldSet(this, _FilterInputDirective_inputSubscription, fromEvent(this.elementRef.nativeElement, this.onEvent)
12682
+ .pipe(map(event => {
12649
12683
  return event.target.value;
12650
- }), debounceTime(dueTime))
12684
+ }), debounceTime(dueTime), takeUntil(__classPrivateFieldGet(this, _FilterInputDirective_destroy$, "f")))
12651
12685
  .subscribe((value) => {
12652
- if (value !== __classPrivateFieldGet(this, _SmartTableFilterComponent_value, "f")) {
12686
+ if (value !== __classPrivateFieldGet(this, _FilterInputDirective_value, "f")) {
12653
12687
  this.value$.next(value);
12654
12688
  }
12655
12689
  }), "f");
12656
12690
  }
12657
12691
  else {
12658
- (_a = __classPrivateFieldGet(this, _SmartTableFilterComponent_inputSubscription, "f")) === null || _a === void 0 ? void 0 : _a.unsubscribe();
12659
- this.value$.complete();
12660
- (_b = __classPrivateFieldGet(this, _SmartTableFilterComponent_valueSubscription, "f")) === null || _b === void 0 ? void 0 : _b.unsubscribe();
12692
+ __classPrivateFieldGet(this, _FilterInputDirective_destroy$, "f").next(true);
12661
12693
  }
12662
12694
  }
12663
12695
  }
12664
- _SmartTableFilterComponent_dueTime = new WeakMap(), _SmartTableFilterComponent_value = new WeakMap(), _SmartTableFilterComponent_eventType = new WeakMap(), _SmartTableFilterComponent_lazy = new WeakMap(), _SmartTableFilterComponent_valueSubscription = new WeakMap(), _SmartTableFilterComponent_inputSubscription = new WeakMap();
12696
+ _FilterInputDirective_value = new WeakMap(), _FilterInputDirective_valueSubscription = new WeakMap(), _FilterInputDirective_inputSubscription = new WeakMap(), _FilterInputDirective_destroy$ = new WeakMap();
12697
+ FilterInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FilterInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
12698
+ FilterInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: FilterInputDirective, selector: "[cFilterInput]", inputs: { delay: "delay", onEvent: "onEvent", value: "value" }, outputs: { valueChange: "valueChange" }, exportAs: ["cFilterInput"], ngImport: i0 });
12699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FilterInputDirective, decorators: [{
12700
+ type: Directive,
12701
+ args: [{
12702
+ selector: '[cFilterInput]',
12703
+ exportAs: 'cFilterInput'
12704
+ // standalone: true
12705
+ }]
12706
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { delay: [{
12707
+ type: Input
12708
+ }], onEvent: [{
12709
+ type: Input
12710
+ }], value: [{
12711
+ type: Input
12712
+ }], valueChange: [{
12713
+ type: Output
12714
+ }] } });
12715
+
12716
+ var _SmartTableFilterComponent_filterInputDirective;
12717
+ class SmartTableFilterComponent {
12718
+ constructor() {
12719
+ _SmartTableFilterComponent_filterInputDirective.set(this, inject(FilterInputDirective));
12720
+ this.value$ = __classPrivateFieldGet(this, _SmartTableFilterComponent_filterInputDirective, "f").value$;
12721
+ this.filterLabel = 'Filter:';
12722
+ this.filterPlaceholder = 'Filter';
12723
+ }
12724
+ get hostClasses() {
12725
+ return {
12726
+ row: true,
12727
+ 'mb-2': true
12728
+ };
12729
+ }
12730
+ get labelClasses() {
12731
+ return {
12732
+ 'col-form-label': true,
12733
+ [`col-form-label-${this.sizing}`]: !!this.sizing
12734
+ };
12735
+ }
12736
+ ;
12737
+ }
12738
+ _SmartTableFilterComponent_filterInputDirective = new WeakMap();
12665
12739
  SmartTableFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12666
- SmartTableFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: { filterLabel: "filterLabel", filterPlaceholder: "filterPlaceholder", tableFilter: "tableFilter", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true, static: true }], ngImport: i0, template: "<label *ngIf=\"!!filterLabel\" cLabel=\"col\" class=\"col-auto\">{{filterLabel}}</label>\r\n<div class=\"col-auto\">\r\n <input\r\n [placeholder]=\"filterPlaceholder\"\r\n [value]=\"(value$ | async)\"\r\n cFormControl\r\n size=\"10\"\r\n #filterInput\r\n />\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "directive", type: FormLabelDirective, selector: "[cLabel]", inputs: ["cLabel", "sizing"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12740
+ SmartTableFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: { filterLabel: "filterLabel", filterPlaceholder: "filterPlaceholder", sizing: "sizing" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<label *ngIf=\"!!filterLabel\" [ngClass]=\"labelClasses\" cLabel=\"col\" class=\"col-auto\">\r\n {{filterLabel}}\r\n</label>\r\n<div class=\"col-auto\">\r\n <input\r\n [placeholder]=\"filterPlaceholder\"\r\n [sizing]=\"sizing\"\r\n [value]=\"value$ | async\"\r\n cFormControl\r\n size=\"10\"\r\n />\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "directive", type: FormLabelDirective, selector: "[cLabel]", inputs: ["cLabel", "sizing"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12667
12741
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableFilterComponent, decorators: [{
12668
12742
  type: Component,
12669
- args: [{ selector: 'c-smart-table-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label *ngIf=\"!!filterLabel\" cLabel=\"col\" class=\"col-auto\">{{filterLabel}}</label>\r\n<div class=\"col-auto\">\r\n <input\r\n [placeholder]=\"filterPlaceholder\"\r\n [value]=\"(value$ | async)\"\r\n cFormControl\r\n size=\"10\"\r\n #filterInput\r\n />\r\n</div>\r\n" }]
12743
+ args: [{ selector: 'c-smart-table-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label *ngIf=\"!!filterLabel\" [ngClass]=\"labelClasses\" cLabel=\"col\" class=\"col-auto\">\r\n {{filterLabel}}\r\n</label>\r\n<div class=\"col-auto\">\r\n <input\r\n [placeholder]=\"filterPlaceholder\"\r\n [sizing]=\"sizing\"\r\n [value]=\"value$ | async\"\r\n cFormControl\r\n size=\"10\"\r\n />\r\n</div>\r\n" }]
12670
12744
  }], ctorParameters: function () { return []; }, propDecorators: { filterLabel: [{
12671
12745
  type: Input
12672
12746
  }], filterPlaceholder: [{
12673
12747
  type: Input
12674
- }], tableFilter: [{
12675
- type: Input
12676
- }], value: [{
12748
+ }], sizing: [{
12677
12749
  type: Input
12678
- }], valueChange: [{
12679
- type: Output
12680
- }], filterInput: [{
12681
- type: ViewChild,
12682
- args: ['filterInput', { static: true }]
12683
12750
  }], hostClasses: [{
12684
12751
  type: HostBinding,
12685
12752
  args: ['class']
@@ -12952,6 +13019,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
12952
13019
  args: ['class']
12953
13020
  }] } });
12954
13021
 
13022
+ var _SmartTableColumnFilterComponent_filterInputDirective;
13023
+ class SmartTableColumnFilterComponent {
13024
+ constructor() {
13025
+ _SmartTableColumnFilterComponent_filterInputDirective.set(this, inject(FilterInputDirective));
13026
+ this.value$ = __classPrivateFieldGet(this, _SmartTableColumnFilterComponent_filterInputDirective, "f").value$;
13027
+ this.sizing = 'sm';
13028
+ }
13029
+ set column(value) {
13030
+ __classPrivateFieldGet(this, _SmartTableColumnFilterComponent_filterInputDirective, "f").emitObject = Object.assign(Object.assign({}, __classPrivateFieldGet(this, _SmartTableColumnFilterComponent_filterInputDirective, "f").emitObject), { column: value });
13031
+ }
13032
+ ;
13033
+ }
13034
+ _SmartTableColumnFilterComponent_filterInputDirective = new WeakMap();
13035
+ SmartTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableColumnFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13036
+ SmartTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableColumnFilterComponent, selector: "c-smart-table-column-filter", inputs: { column: "column", sizing: "sizing" }, ngImport: i0, template: "<input\r\n [sizing]=\"sizing\"\r\n [value]=\"value$ | async\"\r\n cFormControl\r\n/>\r\n", dependencies: [{ kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableColumnFilterComponent, decorators: [{
13038
+ type: Component,
13039
+ args: [{ selector: 'c-smart-table-column-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\r\n [sizing]=\"sizing\"\r\n [value]=\"value$ | async\"\r\n cFormControl\r\n/>\r\n" }]
13040
+ }], ctorParameters: function () { return []; }, propDecorators: { column: [{
13041
+ type: Input
13042
+ }], sizing: [{
13043
+ type: Input
13044
+ }] } });
13045
+
12955
13046
  class SmartTableHeadComponent {
12956
13047
  constructor() {
12957
13048
  this.columnFilterState = {};
@@ -13055,10 +13146,10 @@ class SmartTableHeadComponent {
13055
13146
  }
13056
13147
  return (typeof column !== 'object') ? true : typeof column.sorter === 'undefined' ? true : column.sorter;
13057
13148
  }
13058
- handleColumnFilterValueChange($event, column) {
13149
+ handleColumnFilterValueChange($event) {
13150
+ const { value, type: eventType, column } = Object.assign({}, $event);
13059
13151
  const columnKey = this.columnKey(column);
13060
- const columnFilterValue = $event.target.value;
13061
- const eventType = $event.type;
13152
+ const columnFilterValue = value;
13062
13153
  const isLazy = typeof this.columnFilter === 'object' && this.columnFilter.lazy === true;
13063
13154
  if (((isLazy && eventType === 'input') || (!isLazy && eventType === 'change')) && columnFilterValue.length !== 0) {
13064
13155
  return;
@@ -13074,12 +13165,16 @@ class SmartTableHeadComponent {
13074
13165
  var _a;
13075
13166
  return `columnFilter_${(_a = this.columnKey(column)) !== null && _a !== void 0 ? _a : '_undefined'}`;
13076
13167
  }
13168
+ get columnFilterEvent() {
13169
+ return (typeof this.columnFilter === 'object' && this.columnFilter.lazy) ? 'change' : 'input';
13170
+ }
13171
+ ;
13077
13172
  }
13078
13173
  SmartTableHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13079
- SmartTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: { columnFilter: "columnFilter", columnFilterState: "columnFilterState", columnSorter: "columnSorter", component: "component", columns: "columns", selectable: "selectable", selectAll: "selectAll", sorterValue: "sorterValue", columnFilterTemplates: "columnFilterTemplates" }, outputs: { columnFilterStateChange: "columnFilterStateChange", sorterStateChange: "sorterStateChange", selectAllChange: "selectAllChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<tr>\r\n <th *ngIf=\"selectable\">\r\n <input (change)=\"handleSelectAllChecked($event)\"\r\n [checked]=\"selectAll === true\"\r\n [indeterminate]=\"selectAll === 'indeterminate'\"\r\n cFormCheckInput>\r\n </th>\r\n <th\r\n (click)=\"handleSortClick(column, i)\"\r\n *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\r\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\r\n ></ng-container>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n<tr *ngIf=\"columnFilter\">\r\n <th *ngIf=\"selectable\"></th>\r\n <th *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"></ng-container>\r\n <ng-template #defaultColumnFilter let-column>\r\n <input\r\n (change)=\"handleColumnFilterValueChange($event, column)\"\r\n (input)=\"handleColumnFilterValueChange($event, column)\"\r\n *ngIf=\"columnFilterEnabled(column)\"\r\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\r\n cFormControl\r\n sizing=\"sm\"\r\n />\r\n </ng-template>\r\n </th>\r\n</tr>\r\n\r\n<ng-template #columnSorterIconTemplate let-columnSorterState>\r\n <ng-container [ngSwitch]=\"columnSorterState\">\r\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!--todo: sortingIconCustom Templates-->\r\n<ng-template #sortingIconTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\r\n ></polygon>\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconAscendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconDescendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] });
13174
+ SmartTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: { columnFilter: "columnFilter", columnFilterState: "columnFilterState", columnSorter: "columnSorter", component: "component", columns: "columns", selectable: "selectable", selectAll: "selectAll", sorterValue: "sorterValue", columnFilterTemplates: "columnFilterTemplates" }, outputs: { columnFilterStateChange: "columnFilterStateChange", sorterStateChange: "sorterStateChange", selectAllChange: "selectAllChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<tr>\r\n <th *ngIf=\"selectable\">\r\n <input (change)=\"handleSelectAllChecked($event)\"\r\n [checked]=\"selectAll === true\"\r\n [indeterminate]=\"selectAll === 'indeterminate'\"\r\n cFormCheckInput>\r\n </th>\r\n <th\r\n (click)=\"handleSortClick(column, i)\"\r\n *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\r\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\r\n ></ng-container>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n<tr *ngIf=\"columnFilter\">\r\n <th *ngIf=\"selectable\"></th>\r\n <th *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"></ng-container>\r\n <ng-template #defaultColumnFilter let-column>\r\n <c-smart-table-column-filter\r\n (valueChange)=\"handleColumnFilterValueChange($event)\"\r\n *ngIf=\"columnFilterEnabled(column)\"\r\n [column]=\"column\"\r\n [delay]=\"300\"\r\n [onEvent]=\"columnFilterEvent\"\r\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\r\n cFilterInput\r\n sizing=\"sm\"\r\n ></c-smart-table-column-filter>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n\r\n<ng-template #columnSorterIconTemplate let-columnSorterState>\r\n <ng-container [ngSwitch]=\"columnSorterState\">\r\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!--todo: sortingIconCustom Templates-->\r\n<ng-template #sortingIconTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\r\n ></polygon>\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconAscendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconDescendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }, { kind: "component", type: SmartTableColumnFilterComponent, selector: "c-smart-table-column-filter", inputs: ["column", "sizing"] }] });
13080
13175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableHeadComponent, decorators: [{
13081
13176
  type: Component,
13082
- args: [{ selector: 'c-smart-table-head', template: "<tr>\r\n <th *ngIf=\"selectable\">\r\n <input (change)=\"handleSelectAllChecked($event)\"\r\n [checked]=\"selectAll === true\"\r\n [indeterminate]=\"selectAll === 'indeterminate'\"\r\n cFormCheckInput>\r\n </th>\r\n <th\r\n (click)=\"handleSortClick(column, i)\"\r\n *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\r\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\r\n ></ng-container>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n<tr *ngIf=\"columnFilter\">\r\n <th *ngIf=\"selectable\"></th>\r\n <th *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"></ng-container>\r\n <ng-template #defaultColumnFilter let-column>\r\n <input\r\n (change)=\"handleColumnFilterValueChange($event, column)\"\r\n (input)=\"handleColumnFilterValueChange($event, column)\"\r\n *ngIf=\"columnFilterEnabled(column)\"\r\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\r\n cFormControl\r\n sizing=\"sm\"\r\n />\r\n </ng-template>\r\n </th>\r\n</tr>\r\n\r\n<ng-template #columnSorterIconTemplate let-columnSorterState>\r\n <ng-container [ngSwitch]=\"columnSorterState\">\r\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!--todo: sortingIconCustom Templates-->\r\n<ng-template #sortingIconTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\r\n ></polygon>\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconAscendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconDescendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"] }]
13177
+ args: [{ selector: 'c-smart-table-head', template: "<tr>\r\n <th *ngIf=\"selectable\">\r\n <input (change)=\"handleSelectAllChecked($event)\"\r\n [checked]=\"selectAll === true\"\r\n [indeterminate]=\"selectAll === 'indeterminate'\"\r\n cFormCheckInput>\r\n </th>\r\n <th\r\n (click)=\"handleSortClick(column, i)\"\r\n *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <div class=\"d-inline\">{{ columnLabel(column) }}</div>\r\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\r\n <ng-container\r\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\"\r\n ></ng-container>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n<tr *ngIf=\"columnFilter\">\r\n <th *ngIf=\"selectable\"></th>\r\n <th *ngFor=\"let column of columns; let i = index\"\r\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\r\n [cTableColor]=\"tableHeaderCellColor(column)\"\r\n [ngStyle]=\"tableHeaderCellStyles(column)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\"></ng-container>\r\n <ng-template #defaultColumnFilter let-column>\r\n <c-smart-table-column-filter\r\n (valueChange)=\"handleColumnFilterValueChange($event)\"\r\n *ngIf=\"columnFilterEnabled(column)\"\r\n [column]=\"column\"\r\n [delay]=\"300\"\r\n [onEvent]=\"columnFilterEvent\"\r\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\r\n cFilterInput\r\n sizing=\"sm\"\r\n ></c-smart-table-column-filter>\r\n </ng-template>\r\n </th>\r\n</tr>\r\n\r\n<ng-template #columnSorterIconTemplate let-columnSorterState>\r\n <ng-container [ngSwitch]=\"columnSorterState\">\r\n <span *ngSwitchCase=\"'asc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchCase=\"'desc'\" class=\"float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\r\n </span>\r\n <span *ngSwitchDefault class=\"opacity-25 float-end me-1\">\r\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\r\n </span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<!--todo: sortingIconCustom Templates-->\r\n<ng-template #sortingIconTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\r\n ></polygon>\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconAscendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #sortingIconDescendingTemplate>\r\n <svg\r\n class=\"icon icon-custom-size\"\r\n role=\"img\"\r\n viewBox=\"0 0 512 512\"\r\n width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <polygon\r\n class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\r\n ></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"] }]
13083
13178
  }], ctorParameters: function () { return []; }, propDecorators: { columnFilter: [{
13084
13179
  type: Input
13085
13180
  }], columnFilterState: [{
@@ -13337,6 +13432,10 @@ class SmartTableComponent {
13337
13432
  });
13338
13433
  return sorted;
13339
13434
  }
13435
+ get tableFilterEvent() {
13436
+ return (typeof this.tableFilter === 'object' && this.tableFilter.lazy) ? 'change' : 'input';
13437
+ }
13438
+ ;
13340
13439
  get columnFiltered() {
13341
13440
  let _items = this._items;
13342
13441
  if (this.columnFilter &&
@@ -13526,10 +13625,10 @@ class SmartTableComponent {
13526
13625
  }
13527
13626
  }
13528
13627
  SmartTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableComponent, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Component });
13529
- SmartTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableComponent, selector: "c-smart-table", inputs: { activePage: "activePage", cleaner: "cleaner", clickableRows: "clickableRows", columns: "columns", columnFilter: "columnFilter", columnFilterValue: "columnFilterValue", columnSorter: "columnSorter", footer: "footer", header: "header", items: "items", itemsPerPage: "itemsPerPage", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", itemsPerPageSelect: "itemsPerPageSelect", loading: "loading", noItemsLabel: "noItemsLabel", pagination: "pagination", selectable: "selectable", sorterValue: "sorterValue", tableFilter: "tableFilter", tableFilterLabel: "tableFilterLabel", tableFilterPlaceholder: "tableFilterPlaceholder", tableFilterValue: "tableFilterValue", tableBodyProps: "tableBodyProps", tableFootProps: "tableFootProps", tableHeadProps: "tableHeadProps", tableProps: "tableProps" }, outputs: { selectedItemsChange: "selectedItemsChange", sorterValueChange: "sorterValueChange", activePageChange: "activePageChange", itemsPerPageChange: "itemsPerPageChange", rowClick: "rowClick", columnFilterValueChange: "columnFilterValueChange", filteredItemsChange: "filteredItemsChange", tableFilterValueChange: "tableFilterValueChange" }, queries: [{ propertyName: "columnTemplates", predicate: TemplateIdDirective }], exportAs: ["cSmartTable"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\"></ng-container>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #tableFilterTemplate>\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [tableFilter]=\"tableFilter\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </ng-template>\r\n\r\n <ng-template #tableCleanerTemplate>\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n variant=\"ghost\"\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr>\r\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\r\n </tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\r\n class=\"icon icon-custom-size\" width=\"18\">\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }, { kind: "directive", type: TableDirective, selector: "table[cTable]", inputs: ["align", "borderColor", "bordered", "borderless", "caption", "color", "hover", "responsive", "small", "striped", "stripedColumns"] }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: TableActiveDirective, selector: "[cTableActive]", inputs: ["cTableActive"] }, { kind: "component", type: SmartPaginationComponent, selector: "c-smart-pagination", inputs: ["activePage", "arrows", "doubleArrows", "dots", "limit", "pages", "firstButton", "lastButton", "nextButton", "previousButton", "align", "size", "role"], outputs: ["activePageChange"], exportAs: ["cSmartPagination"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: AlignDirective, selector: "[cAlign]", inputs: ["cAlign"] }, { kind: "component", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: ["filterLabel", "filterPlaceholder", "tableFilter", "value"], outputs: ["valueChange"] }, { kind: "component", type: SmartTableItemsPerPageSelectorComponent, selector: "c-smart-table-items-per-page-selector", inputs: ["itemsPerPage", "itemsPerPageLabel", "itemsPerPageOptions"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "selectable", "selectAll", "sorterValue", "columnFilterTemplates"], outputs: ["columnFilterStateChange", "sorterStateChange", "selectAllChange"] }] });
13628
+ SmartTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmartTableComponent, selector: "c-smart-table", inputs: { activePage: "activePage", cleaner: "cleaner", clickableRows: "clickableRows", columns: "columns", columnFilter: "columnFilter", columnFilterValue: "columnFilterValue", columnSorter: "columnSorter", footer: "footer", header: "header", items: "items", itemsPerPage: "itemsPerPage", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", itemsPerPageSelect: "itemsPerPageSelect", loading: "loading", noItemsLabel: "noItemsLabel", pagination: "pagination", selectable: "selectable", sorterValue: "sorterValue", tableFilter: "tableFilter", tableFilterLabel: "tableFilterLabel", tableFilterPlaceholder: "tableFilterPlaceholder", tableFilterValue: "tableFilterValue", tableBodyProps: "tableBodyProps", tableFootProps: "tableFootProps", tableHeadProps: "tableHeadProps", tableProps: "tableProps" }, outputs: { selectedItemsChange: "selectedItemsChange", sorterValueChange: "sorterValueChange", activePageChange: "activePageChange", itemsPerPageChange: "itemsPerPageChange", rowClick: "rowClick", columnFilterValueChange: "columnFilterValueChange", filteredItemsChange: "filteredItemsChange", tableFilterValueChange: "tableFilterValueChange" }, queries: [{ propertyName: "columnTemplates", predicate: TemplateIdDirective }], exportAs: ["cSmartTable"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\"></ng-container>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #tableFilterTemplate>\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [delay]=\"300\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [onEvent]=\"tableFilterEvent\"\r\n [value]=\"tableFilterState\"\r\n cFilterInput\r\n >\r\n </c-smart-table-filter>\r\n </ng-template>\r\n\r\n <ng-template #tableCleanerTemplate>\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n variant=\"ghost\"\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr>\r\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\r\n </tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\r\n class=\"icon icon-custom-size\" width=\"18\">\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }, { kind: "directive", type: TableDirective, selector: "table[cTable]", inputs: ["align", "borderColor", "bordered", "borderless", "caption", "color", "hover", "responsive", "small", "striped", "stripedColumns"] }, { kind: "directive", type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: TableActiveDirective, selector: "[cTableActive]", inputs: ["cTableActive"] }, { kind: "component", type: SmartPaginationComponent, selector: "c-smart-pagination", inputs: ["activePage", "arrows", "doubleArrows", "dots", "limit", "pages", "firstButton", "lastButton", "nextButton", "previousButton", "align", "size", "role"], outputs: ["activePageChange"], exportAs: ["cSmartPagination"] }, { kind: "directive", type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid"] }, { kind: "directive", type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: AlignDirective, selector: "[cAlign]", inputs: ["cAlign"] }, { kind: "component", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: ["filterLabel", "filterPlaceholder", "sizing"] }, { kind: "component", type: SmartTableItemsPerPageSelectorComponent, selector: "c-smart-table-items-per-page-selector", inputs: ["itemsPerPage", "itemsPerPageLabel", "itemsPerPageOptions"], outputs: ["itemsPerPageChange"] }, { kind: "component", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "selectable", "selectAll", "sorterValue", "columnFilterTemplates"], outputs: ["columnFilterStateChange", "sorterStateChange", "selectAllChange"] }, { kind: "directive", type: FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }] });
13530
13629
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmartTableComponent, decorators: [{
13531
13630
  type: Component,
13532
- args: [{ selector: 'c-smart-table', exportAs: 'cSmartTable', template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\"></ng-container>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #tableFilterTemplate>\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [tableFilter]=\"tableFilter\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </ng-template>\r\n\r\n <ng-template #tableCleanerTemplate>\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n variant=\"ghost\"\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr>\r\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\r\n </tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\r\n class=\"icon icon-custom-size\" width=\"18\">\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"] }]
13631
+ args: [{ selector: 'c-smart-table', exportAs: 'cSmartTable', template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableFilterTemplate\"></ng-container>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <ng-container *ngTemplateOutlet=\"tableCleanerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #tableFilterTemplate>\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [delay]=\"300\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [onEvent]=\"tableFilterEvent\"\r\n [value]=\"tableFilterState\"\r\n cFilterInput\r\n >\r\n </c-smart-table-filter>\r\n </ng-template>\r\n\r\n <ng-template #tableCleanerTemplate>\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n variant=\"ghost\"\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [columnSorter]=\"columnSorter\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n [columnFilterTemplates]=\"columnFilterTemplates\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr>\r\n <td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td>\r\n </tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\" pointer-events=\"none\" role=\"img\"\r\n class=\"icon icon-custom-size\" width=\"18\">\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n <polygon\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"\r\n class=\"ci-primary\">\r\n </polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"] }]
13533
13632
  }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }]; }, propDecorators: { activePage: [{
13534
13633
  type: Input
13535
13634
  }], cleaner: [{
@@ -13854,7 +13953,9 @@ SmartTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version
13854
13953
  SmartTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SmartTableModule, declarations: [SmartTableComponent,
13855
13954
  SmartTableFilterComponent,
13856
13955
  SmartTableItemsPerPageSelectorComponent,
13857
- SmartTableHeadComponent], imports: [CommonModule,
13956
+ SmartTableHeadComponent,
13957
+ FilterInputDirective,
13958
+ SmartTableColumnFilterComponent], imports: [CommonModule,
13858
13959
  ElementCoverModule,
13859
13960
  TableModule,
13860
13961
  PaginationModule,
@@ -13884,6 +13985,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
13884
13985
  SmartTableFilterComponent,
13885
13986
  SmartTableItemsPerPageSelectorComponent,
13886
13987
  SmartTableHeadComponent,
13988
+ FilterInputDirective,
13989
+ SmartTableColumnFilterComponent
13887
13990
  ],
13888
13991
  exports: [SmartTableComponent, SmartTableFilterComponent],
13889
13992
  imports: [