zek 17.3.47 → 17.3.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fesm2022/zek.mjs CHANGED
@@ -9,7 +9,7 @@ import * as i1$1 from '@angular/common/http';
9
9
  import { HttpParams, HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';
10
10
  import * as i1$2 from '@angular/common';
11
11
  import { CommonModule, DatePipe } from '@angular/common';
12
- import * as i1$4 from '@angular/forms';
12
+ import * as i2$1 from '@angular/forms';
13
13
  import { NG_VALUE_ACCESSOR, FormsModule, NG_VALIDATORS } from '@angular/forms';
14
14
  import * as i1$3 from '@angular/platform-browser';
15
15
  import { finalize, map, takeWhile } from 'rxjs/operators';
@@ -2028,7 +2028,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
2028
2028
  type: Output
2029
2029
  }] } });
2030
2030
 
2031
- let uniqueId$5 = 0;
2031
+ let uniqueId$6 = 0;
2032
2032
  class CoreUiComponent extends CoreComponent {
2033
2033
  constructor(_renderer, _elementRef
2034
2034
  //private _changeDetector: ChangeDetectorRef
@@ -2045,7 +2045,7 @@ class CoreUiComponent extends CoreComponent {
2045
2045
  this._onTouched = () => { };
2046
2046
  this.change = new EventEmitter();
2047
2047
  this.changing = new EventEmitter();
2048
- this._name = `zek-${++uniqueId$5}`;
2048
+ this._name = `zek-${++uniqueId$6}`;
2049
2049
  this._isInitialized = false;
2050
2050
  this._value = null;
2051
2051
  this._readonly = false;
@@ -2567,6 +2567,7 @@ class ListBaseComponent extends BaseComponent {
2567
2567
  this.isFiltered = false;
2568
2568
  this.selectedIds = [];
2569
2569
  this.pager = new Pager();
2570
+ this.tableId = 'table';
2570
2571
  this.approveModel = {};
2571
2572
  this.approvedMesage = 'Alert.Approved';
2572
2573
  this.disapprovedMesage = 'Alert.Disapproved';
@@ -2599,6 +2600,10 @@ class ListBaseComponent extends BaseComponent {
2599
2600
  apiGetAll(filter) {
2600
2601
  return this.service.getAll(filter);
2601
2602
  }
2603
+ scrollTop() {
2604
+ const el = document.getElementById(this.tableId);
2605
+ el?.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' });
2606
+ }
2602
2607
  initDefaultFilter() {
2603
2608
  }
2604
2609
  initStoredFilter() {
@@ -2617,11 +2622,12 @@ class ListBaseComponent extends BaseComponent {
2617
2622
  localStorage.removeItem('filter');
2618
2623
  }
2619
2624
  }
2620
- changePage(page) {
2625
+ async changePage(page) {
2621
2626
  this.internalFilter.page = page;
2622
2627
  this.filter.page = page;
2623
- this.refresh();
2628
+ await this.bindModel();
2624
2629
  this.autoSaveFilter();
2630
+ this.scrollTop();
2625
2631
  }
2626
2632
  changePageSize(pageSize) {
2627
2633
  this.internalFilter.pageSize = pageSize;
@@ -2632,10 +2638,13 @@ class ListBaseComponent extends BaseComponent {
2632
2638
  this.filterModal?.show();
2633
2639
  }
2634
2640
  search() {
2635
- //this.filterModal?.hide();
2636
2641
  this.assignFilter();
2637
- this.changePage(1);
2638
- //this.internalAutoSaveFilter();
2642
+ // this.changePage(1);
2643
+ //can't use this because don't want to execute scrollTop
2644
+ this.internalFilter.page = 1;
2645
+ this.filter.page = 1;
2646
+ this.bindModel();
2647
+ this.autoSaveFilter();
2639
2648
  }
2640
2649
  assignFilter() {
2641
2650
  this.internalFilter = Object.assign({}, this.filter);
@@ -3074,7 +3083,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
3074
3083
  }]
3075
3084
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Router }] });
3076
3085
 
3077
- let uniqueId$4 = 0;
3086
+ let uniqueId$5 = 0;
3078
3087
  /**
3079
3088
  * Provider Expression that allows bb to register as a ControlValueAccessor. This
3080
3089
  * allows it to support [(ngModel)] and ngControl.
@@ -3088,7 +3097,7 @@ const ZEK_BB_CONTROL_VALUE_ACCESSOR = {
3088
3097
  class ZekButtonBrowse extends CoreUiComponent {
3089
3098
  constructor() {
3090
3099
  super(...arguments);
3091
- this._uniqueId = `zek-bb-${++uniqueId$4}`;
3100
+ this._uniqueId = `zek-bb-${++uniqueId$5}`;
3092
3101
  /** The unique ID for the bb. */
3093
3102
  this.id = this._uniqueId;
3094
3103
  this.filter = {};
@@ -3963,18 +3972,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
3963
3972
  }]
3964
3973
  }] });
3965
3974
 
3966
- let uniqueId$3 = 0;
3975
+ let uniqueId$4 = 0;
3967
3976
  class ZekModal extends CoreComponent {
3968
3977
  constructor() {
3969
- super();
3978
+ super(...arguments);
3970
3979
  this.translate = inject(TranslateService);
3971
- this._uniqueId = `zek-modal-${++uniqueId$3}`;
3980
+ this._uniqueId = `zek-modal-${++uniqueId$4}`;
3972
3981
  /** The unique ID for the radio button. */
3973
3982
  this.id = this._uniqueId;
3974
3983
  this.modalId = `${this.id}-modal`;
3975
3984
  this.lableId = `${this.id}-lable`;
3976
3985
  this.cancelButtonId = `${this.id}-cancel-button`;
3977
3986
  this.okButtonId = `${this.id}-ok-button`;
3987
+ this.elementId = RandomHelper.randomHex();
3978
3988
  this._showOk = true;
3979
3989
  this._disabledOk = false;
3980
3990
  this._showCancel = true;
@@ -3989,7 +3999,6 @@ class ZekModal extends CoreComponent {
3989
3999
  this._showHeader = true;
3990
4000
  this._showFooter = true;
3991
4001
  this.onValidating = new EventEmitter(false);
3992
- this.elementId = RandomHelper.randomHex();
3993
4002
  }
3994
4003
  async destroy() {
3995
4004
  await super.destroy();
@@ -4158,13 +4167,13 @@ class ZekModal extends CoreComponent {
4158
4167
  e.preventDefault();
4159
4168
  this.ok();
4160
4169
  }
4161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4162
4171
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekModal, selector: "zek-modal", inputs: { id: "id", model: "model", showOk: "showOk", disabledOk: "disabledOk", showCancel: "showCancel", autoHide: "autoHide", title: "title", text: "text", icon: "icon", okButtonText: "okButtonText", componentType: "componentType", size: "size", large: "large", xl: "xl", scrollable: "scrollable", fullscreen: "fullscreen", showHeader: "showHeader", showFooter: "showFooter" }, outputs: { onShown: "onShown", onHidden: "onHidden", onOk: "onOk", onValidating: "onValidating" }, usesInheritance: true, ngImport: i0, template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
4163
4172
  }
4164
4173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekModal, decorators: [{
4165
4174
  type: Component,
4166
4175
  args: [{ selector: 'zek-modal', template: "<div (keydown.enter)=\"keyDown($event)\" class=\"modal fade\" data-bs-backdrop=\"static\" id=\"{{modalId}}\" tabindex=\"-1\" attr.aria-labelledby=\"{{lableId}}\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog\" [ngClass]=\"{\r\n 'modal-sm': size === 'sm',\r\n 'modal-lg': size === 'lg', \r\n 'modal-xl': size === 'xl'\r\n }\" [class.modal-dialog-scrollable]=\"scrollable\" [class.modal-fullscreen]=\"fullscreen\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" *ngIf=\"showHeader\">\r\n <ng-content select=\"header\"></ng-content>\r\n <h5 class=\"modal-title\" id=\"{{lableId}}\">{{title}}</h5>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{text}}\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\r\n <ng-content select=\"footer\"></ng-content>\r\n <button [class.visually-hidden]=\"!showOk\" [disabled]=\"disabledOk\" type=\"button\" class=\"btn {{cssButton()}}\" id=\"{{okButtonId}}\" (click)=\"ok()\">\r\n <i *ngIf=\"icon\" class=\"{{ icon }}\"></i> {{ okButtonText }}\r\n </button>\r\n <button [class.visually-hidden]=\"!showCancel\" type=\"button\" class=\"btn btn-secondary\" id=\"{{cancelButtonId}}\" data-bs-dismiss=\"modal\">\r\n <i class=\"fa-solid fa-ban\"></i> {{ 'Action.Cancel' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
4167
- }], ctorParameters: () => [], propDecorators: { id: [{
4176
+ }], propDecorators: { id: [{
4168
4177
  type: Input
4169
4178
  }], model: [{
4170
4179
  type: Input
@@ -4484,12 +4493,12 @@ function loadScript$1(onLoaded, url, nonce) {
4484
4493
  }
4485
4494
  const loader$1 = { loadScript: loadScript$1 };
4486
4495
 
4487
- let uniqueId$2 = 0;
4496
+ let uniqueId$3 = 0;
4488
4497
  class ZekGoogleLoginButton extends CoreComponent {
4489
4498
  constructor(client_id) {
4490
4499
  super();
4491
4500
  this.client_id = client_id;
4492
- this._uniqueId = `zek-google-button-container-${++uniqueId$2}`;
4501
+ this._uniqueId = `zek-google-button-container-${++uniqueId$3}`;
4493
4502
  this.id = this._uniqueId;
4494
4503
  this._prompt = true;
4495
4504
  this._autoSelect = false;
@@ -5204,7 +5213,7 @@ class ZekPassword {
5204
5213
  this._type = this._type === 'password' ? 'text' : 'password';
5205
5214
  }
5206
5215
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5207
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPassword, isStandalone: true, selector: "zek-password", inputs: { name: "name", required: "required", minlength: "minlength", maxlength: "maxlength", model: "model" }, outputs: { onChange: "modelChange" }, ngImport: i0, template: "<div class=\"input-group has-validation\">\r\n <input type=\"{{type}}\" class=\"form-control\" name=\"{{name}}\" id=\"{{name}}\" [attr.aria-describedby]=\"name+'-show'\"\r\n [required]=\"required\" [minlength]=\"minlength\" [maxlength]=\"maxlength\"\r\n [ngModel]=\"model\" (ngModelChange)=\"onChange.emit($event)\"\r\n #password=\"ngModel\"\r\n >\r\n <button class=\"btn btn-outline-secondary\" type=\"button\" id=\"{{name}}-show\" (click)=\"showHide()\"><i class=\"fa-solid fa-eye\"></i></button>\r\n <div zek-field-validator [field]=\"password\"></div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ZekFieldValidator, selector: "zek-field-validator, [zek-field-validator]", inputs: ["field"] }] }); }
5216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekPassword, isStandalone: true, selector: "zek-password", inputs: { name: "name", required: "required", minlength: "minlength", maxlength: "maxlength", model: "model" }, outputs: { onChange: "modelChange" }, ngImport: i0, template: "<div class=\"input-group has-validation\">\r\n <input type=\"{{type}}\" class=\"form-control\" name=\"{{name}}\" id=\"{{name}}\" [attr.aria-describedby]=\"name+'-show'\"\r\n [required]=\"required\" [minlength]=\"minlength\" [maxlength]=\"maxlength\"\r\n [ngModel]=\"model\" (ngModelChange)=\"onChange.emit($event)\"\r\n #password=\"ngModel\"\r\n >\r\n <button class=\"btn btn-outline-secondary\" type=\"button\" id=\"{{name}}-show\" (click)=\"showHide()\"><i class=\"fa-solid fa-eye\"></i></button>\r\n <div zek-field-validator [field]=\"password\"></div>\r\n</div>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ZekFieldValidator, selector: "zek-field-validator, [zek-field-validator]", inputs: ["field"] }] }); }
5208
5217
  }
5209
5218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekPassword, decorators: [{
5210
5219
  type: Component,
@@ -5319,7 +5328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
5319
5328
  type: Input
5320
5329
  }] } });
5321
5330
 
5322
- let uniqueId$1 = 0;
5331
+ let uniqueId$2 = 0;
5323
5332
  /**
5324
5333
  * Provider Expression that allows zek-radio to register as a ControlValueAccessor. This
5325
5334
  * allows it to support [(ngModel)] and ngControl.
@@ -5334,7 +5343,7 @@ class ZekRadio extends CoreUiComponent {
5334
5343
  constructor(_changeDetector, _renderer, _elementRef) {
5335
5344
  super(_renderer, _elementRef);
5336
5345
  this._changeDetector = _changeDetector;
5337
- this._uniqueId = `zek-radio-${++uniqueId$1}`;
5346
+ this._uniqueId = `zek-radio-${++uniqueId$2}`;
5338
5347
  /** The unique ID for the radio button. */
5339
5348
  this.id = this._uniqueId;
5340
5349
  this._inline = false;
@@ -5625,7 +5634,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
5625
5634
  }]
5626
5635
  }] });
5627
5636
 
5628
- let uniqueId = 0;
5637
+ let uniqueId$1 = 0;
5629
5638
  const ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR = {
5630
5639
  provide: NG_VALUE_ACCESSOR,
5631
5640
  useExisting: forwardRef(() => ZekSelectMultiple),
@@ -5634,7 +5643,7 @@ const ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR = {
5634
5643
  class ZekSelectMultiple extends CoreUiComponent {
5635
5644
  constructor(renderer, elementRef) {
5636
5645
  super(renderer, elementRef);
5637
- this._uniqueId = `zek-select-${++uniqueId}`;
5646
+ this._uniqueId = `zek-select-${++uniqueId$1}`;
5638
5647
  /** The unique ID for the radio button. */
5639
5648
  this.id = this._uniqueId;
5640
5649
  this.css = 'primary';
@@ -5964,7 +5973,7 @@ class ZekSelect2 {
5964
5973
  }
5965
5974
  }
5966
5975
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5967
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2, isStandalone: true, selector: "zek-select2,[zek-select2]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{entry[textField]}}</a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{textField}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n<!-- <kendo-autocomplete\r\n [data]=\"data\"\r\n [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"\r\n (filterChange)=\"filterChange($event)\"\r\n (open)=\"open()\"\r\n (close)=\"close()\"\r\n (focus)=\"focus()\"\r\n (blur)=\"blur()\">\r\n</kendo-autocomplete> -->", styles: [".scrollable-menu{max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
5976
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2, isStandalone: true, selector: "zek-select2,[zek-select2]", inputs: { data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{entry[textField]}}</a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let entry of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(entry)\" class=\"dropdown-item\">{{textField}}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n<!-- <kendo-autocomplete\r\n [data]=\"data\"\r\n [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"\r\n (filterChange)=\"filterChange($event)\"\r\n (open)=\"open()\"\r\n (close)=\"close()\"\r\n (focus)=\"focus()\"\r\n (blur)=\"blur()\">\r\n</kendo-autocomplete> -->", styles: [".scrollable-menu{max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
5968
5977
  }
5969
5978
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2, decorators: [{
5970
5979
  type: Component,
@@ -6092,7 +6101,7 @@ class ZekSelect2Multiple {
6092
6101
  this.valueChange.emit(v);
6093
6102
  }
6094
6103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2Multiple, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6095
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", selectedField: "selectedField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.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: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
6104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekSelect2Multiple, isStandalone: true, selector: "zek-select2-multiple,[zek-select2-multiple]", inputs: { data: "data", textField: "textField", selectedField: "selectedField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{elementId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\" data-bs-auto-close=\"outside\" id=\"input-{{elementId}}\" [(ngModel)]=\"text\" (ngModelChange)=\"onTextChange($event)\" (focus)=\"onFocus($event)\" (blur)=\"inputUnfocused()\">\r\n <button class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{elementId}}\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" data-bs-reference=\"parent\"></button>\r\n <ul class=\"dropdown-menu dropdown-menu-start w-100 scrollable-menu\" id=\"dropdown-menu-{{elementId}}\">\r\n <ng-container *ngIf=\"textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item[textField]}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!textField\">\r\n <li *ngFor=\"let item of filteredData\">\r\n <a href=\"javascript:void(0)\" (click)=\"selectItem(item)\" class=\"dropdown-item\">\r\n <span *ngIf=\"item.selected\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.selected\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item}}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
6096
6105
  }
6097
6106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekSelect2Multiple, decorators: [{
6098
6107
  type: Component,
@@ -6307,6 +6316,110 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
6307
6316
  type: Input
6308
6317
  }] } });
6309
6318
 
6319
+ let uniqueId = 0;
6320
+ class ZekTag extends CoreUiComponent {
6321
+ constructor() {
6322
+ super(...arguments);
6323
+ this.modelChange = new EventEmitter();
6324
+ this._max = 1000000000;
6325
+ this._maxlength = null;
6326
+ this._duplicate = false;
6327
+ this.text = null;
6328
+ this._uniqueId = `zek-tag-${++uniqueId}`;
6329
+ /** The unique ID for the tag. */
6330
+ this.id = this._uniqueId;
6331
+ }
6332
+ get max() {
6333
+ return this._max;
6334
+ }
6335
+ set max(v) {
6336
+ const tmp = MathHelper.clamp(Convert.toNumber(v) || 0, 0, 1000000000);
6337
+ if (this._max !== tmp) {
6338
+ this._max = tmp;
6339
+ }
6340
+ }
6341
+ get maxlength() {
6342
+ return this._maxlength;
6343
+ }
6344
+ set maxlength(v) {
6345
+ const tmp = Convert.parseNumber(v);
6346
+ if (tmp !== null) {
6347
+ const num = MathHelper.clamp(tmp, 0, 1000000000);
6348
+ if (this._maxlength !== num) {
6349
+ this._maxlength = num;
6350
+ }
6351
+ }
6352
+ this._maxlength = tmp;
6353
+ }
6354
+ get duplicate() {
6355
+ return this._duplicate;
6356
+ }
6357
+ set duplicate(v) {
6358
+ this._duplicate = Convert.toBooleanProperty(v);
6359
+ }
6360
+ onKeyEnter(e) {
6361
+ e.preventDefault();
6362
+ e.stopPropagation();
6363
+ if (this.add(this.text)) {
6364
+ this.text = null;
6365
+ }
6366
+ }
6367
+ get inputId() {
6368
+ return `${this.id || this._uniqueId}-input`;
6369
+ }
6370
+ add(text) {
6371
+ if (!text)
6372
+ return false;
6373
+ let emitModel = false;
6374
+ if (!this.model) {
6375
+ this.model = [];
6376
+ emitModel = true;
6377
+ }
6378
+ const maxlength = (this.maxlength || 0);
6379
+ if (maxlength > 0 && text.length > maxlength) {
6380
+ return false;
6381
+ }
6382
+ if (!this.duplicate && this.model.includes(text)) {
6383
+ return false;
6384
+ }
6385
+ if (this.model.length >= this.max) {
6386
+ return false;
6387
+ }
6388
+ this.model.push(text);
6389
+ if (emitModel)
6390
+ this.modelChange.emit(this.model);
6391
+ return true;
6392
+ }
6393
+ remove(item) {
6394
+ if (!this.model)
6395
+ return;
6396
+ const index = this.model.indexOf(item);
6397
+ if (index !== -1) {
6398
+ this.model.splice(index, 1);
6399
+ }
6400
+ }
6401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekTag, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6402
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekTag, isStandalone: true, selector: "zek-tag", inputs: { model: "model", max: "max", maxlength: "maxlength", duplicate: "duplicate", id: "id" }, outputs: { modelChange: "modelChange" }, host: { properties: { "attr.id": "id" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"d-flex flex-wrap align-items-center gap-1 form-control\">\r\n <ng-container *ngIf=\"model\">\r\n <button *ngFor=\"let item of model\" type=\"button\" (click)=\"remove(item)\" class=\"align-items-center gap-1 d-inline-flex py-0 border-0 btn btn-primary\">{{item}}<span class=\"d-inline-flex\" role=\"button\" tabindex=\"-1\"><i class=\"fa-solid fa-xmark\"></i></span></button>\r\n </ng-container>\r\n <div class=\"input-wrapper\"><span>i</span><input type=\"text\"\r\n [id]=\"inputId\"\r\n [name]=\"inputId\"\r\n [(ngModel)]=\"text\"\r\n [maxlength]=\"maxlength\"\r\n (keydown.enter)=\"onKeyEnter($event)\"></div>\r\n</div>", styles: [".input-wrapper{position:relative;min-width:4px;flex-grow:1;white-space:nowrap}.input-wrapper>span{visibility:hidden}.input-wrapper input[type=text]{position:absolute;top:0;left:0;padding:0;outline:0;border:0;width:100%;background-color:transparent}.input-wrapper input[type=text]::placeholder{color:#212529bf;opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
6403
+ }
6404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekTag, decorators: [{
6405
+ type: Component,
6406
+ args: [{ standalone: true, imports: [CommonModule, FormsModule], selector: 'zek-tag', host: {
6407
+ '[attr.id]': 'id',
6408
+ }, template: "<div class=\"d-flex flex-wrap align-items-center gap-1 form-control\">\r\n <ng-container *ngIf=\"model\">\r\n <button *ngFor=\"let item of model\" type=\"button\" (click)=\"remove(item)\" class=\"align-items-center gap-1 d-inline-flex py-0 border-0 btn btn-primary\">{{item}}<span class=\"d-inline-flex\" role=\"button\" tabindex=\"-1\"><i class=\"fa-solid fa-xmark\"></i></span></button>\r\n </ng-container>\r\n <div class=\"input-wrapper\"><span>i</span><input type=\"text\"\r\n [id]=\"inputId\"\r\n [name]=\"inputId\"\r\n [(ngModel)]=\"text\"\r\n [maxlength]=\"maxlength\"\r\n (keydown.enter)=\"onKeyEnter($event)\"></div>\r\n</div>", styles: [".input-wrapper{position:relative;min-width:4px;flex-grow:1;white-space:nowrap}.input-wrapper>span{visibility:hidden}.input-wrapper input[type=text]{position:absolute;top:0;left:0;padding:0;outline:0;border:0;width:100%;background-color:transparent}.input-wrapper input[type=text]::placeholder{color:#212529bf;opacity:1}\n"] }]
6409
+ }], propDecorators: { model: [{
6410
+ type: Input
6411
+ }], modelChange: [{
6412
+ type: Output
6413
+ }], max: [{
6414
+ type: Input
6415
+ }], maxlength: [{
6416
+ type: Input
6417
+ }], duplicate: [{
6418
+ type: Input
6419
+ }], id: [{
6420
+ type: Input
6421
+ }] } });
6422
+
6310
6423
  //import { toDate } from '../../extensions';
6311
6424
  class TimePipe {
6312
6425
  constructor(_datePipe) {
@@ -6893,5 +7006,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
6893
7006
  * Generated bundle index. Do not edit.
6894
7007
  */
6895
7008
 
6896
- export { API_BASE_URL, AgePipe, Alert, AlertService, ArrayHelper, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, ErrorHelper, ExcelHelper, FileBase, FileBytes, FileHelper, FileString, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PagedList, Pager, PagerHelper, PeriodRelation, PrintType, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RandomHelper, RangeValidator, ReCaptchaService, RecaptchaModule, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, TmpHelper, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, Validators, ValidatorsModule, WebApiClient, WebApiModule, ZekAlert, ZekApproveModal, ZekAutoComplete, ZekButtonBrowse, ZekButtonBrowseModalBase, ZekButtonBrowseModalToolbar, ZekButtonBrowseModule, ZekCallbackPipe, ZekCard, ZekCountdown, ZekDateAgoPipe, ZekDeleteModal, ZekDisapproveModal, ZekEditToolbar, ZekFieldValidator, ZekFileSizePipe, ZekFileViewer, ZekFilterModal, ZekGoogleLoginButton, ZekGoogleLoginModule, ZekGridToolbar, ZekGridToolbarBar, ZekListToolbar, ZekLoading, ZekLoadingModule, ZekLocalToUtcModule, ZekLocalToUtcPipe, ZekModal, ZekModalModule, ZekNumericDirective, ZekPageTitle, ZekPager, ZekPassword, ZekProgress, ZekRadio, ZekReadOnlyDirective, ZekRestoreModal, ZekSafePipe, ZekSelect2, ZekSelect2Multiple, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSubmitModal, ZekSumModal, ZekToast, ZekTooltip, ZekUtcToLocalModule, ZekUtcToLocalPipe, ZekValidation, ZekWizard, ZekWizard2, firstBy, handler, matchValidator, nullValidator, rangeValidator, zekAuthGuard };
7009
+ export { API_BASE_URL, AgePipe, Alert, AlertService, ArrayHelper, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, ErrorHelper, ExcelHelper, FileBase, FileBytes, FileHelper, FileString, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PagedList, Pager, PagerHelper, PeriodRelation, PrintType, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RandomHelper, RangeValidator, ReCaptchaService, RecaptchaModule, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, TmpHelper, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, Validators, ValidatorsModule, WebApiClient, WebApiModule, ZekAlert, ZekApproveModal, ZekAutoComplete, ZekButtonBrowse, ZekButtonBrowseModalBase, ZekButtonBrowseModalToolbar, ZekButtonBrowseModule, ZekCallbackPipe, ZekCard, ZekCountdown, ZekDateAgoPipe, ZekDeleteModal, ZekDisapproveModal, ZekEditToolbar, ZekFieldValidator, ZekFileSizePipe, ZekFileViewer, ZekFilterModal, ZekGoogleLoginButton, ZekGoogleLoginModule, ZekGridToolbar, ZekGridToolbarBar, ZekListToolbar, ZekLoading, ZekLoadingModule, ZekLocalToUtcModule, ZekLocalToUtcPipe, ZekModal, ZekModalModule, ZekNumericDirective, ZekPageTitle, ZekPager, ZekPassword, ZekProgress, ZekRadio, ZekReadOnlyDirective, ZekRestoreModal, ZekSafePipe, ZekSelect2, ZekSelect2Multiple, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSubmitModal, ZekSumModal, ZekTag, ZekToast, ZekTooltip, ZekUtcToLocalModule, ZekUtcToLocalPipe, ZekValidation, ZekWizard, ZekWizard2, firstBy, handler, matchValidator, nullValidator, rangeValidator, zekAuthGuard };
6897
7010
  //# sourceMappingURL=zek.mjs.map