zek 19.0.20 → 19.0.22

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
@@ -1379,30 +1379,131 @@ class RandomHelper {
1379
1379
  }
1380
1380
 
1381
1381
  class StorageHelper {
1382
+ // Check if logic is running in a browser environment
1383
+ static isBrowser() {
1384
+ return typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';
1385
+ }
1386
+ /**
1387
+ * Saves data to localStorage.
1388
+ * Automatically stringifies objects, arrays, booleans, and numbers.
1389
+ */
1382
1390
  static set(key, value) {
1383
- if (!key) {
1391
+ if (!this.isBrowser() || !key)
1392
+ return;
1393
+ // Fix: Only remove if strictly null or undefined.
1394
+ // Prevents accidental deletion of 0, false, or ""
1395
+ if (value === null || value === undefined) {
1396
+ this.remove(key);
1384
1397
  return;
1385
1398
  }
1386
- if (!value) {
1387
- localStorage.removeItem(key);
1399
+ try {
1400
+ // If it's a string, store as is. Otherwise, stringify it.
1401
+ const data = typeof value === 'string' ? value : JSON.stringify(value);
1402
+ localStorage.setItem(key, data);
1403
+ }
1404
+ catch (error) {
1405
+ console.error(`Error saving ${key} to localStorage`, error);
1406
+ }
1407
+ }
1408
+ /**
1409
+ * Retrieves data from localStorage.
1410
+ * Tries to parse JSON; returns string (or original type) if parsing fails.
1411
+ */
1412
+ static get(key) {
1413
+ if (!this.isBrowser() || !key)
1414
+ return null;
1415
+ const item = localStorage.getItem(key);
1416
+ if (item === null)
1417
+ return null;
1418
+ try {
1419
+ // Fix: robust parsing handles objects, arrays, and stringified primitives
1420
+ return JSON.parse(item);
1421
+ }
1422
+ catch (e) {
1423
+ // If parsing fails, return the raw string
1424
+ return item;
1425
+ }
1426
+ }
1427
+ /**
1428
+ * Removes a specific item.
1429
+ */
1430
+ static remove(key) {
1431
+ if (!this.isBrowser() || !key)
1432
+ return;
1433
+ localStorage.removeItem(key);
1434
+ }
1435
+ /**
1436
+ * Clears all local storage.
1437
+ */
1438
+ static clear() {
1439
+ if (!this.isBrowser())
1440
+ return;
1441
+ localStorage.clear();
1442
+ }
1443
+ }
1444
+ class SessionStorageHelper {
1445
+ // Check if logic is running in a browser environment
1446
+ static isBrowser() {
1447
+ return typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined';
1448
+ }
1449
+ /**
1450
+ * Saves data to sessionStorage.
1451
+ * automatically stringifies objects/arrays.
1452
+ */
1453
+ static set(key, value) {
1454
+ if (!this.isBrowser() || !key)
1455
+ return;
1456
+ // Fix: Only remove if strictly null or undefined.
1457
+ // Allowing false, 0, or "" to be stored.
1458
+ if (value === null || value === undefined) {
1459
+ this.remove(key);
1388
1460
  return;
1389
1461
  }
1390
- if (typeof value === "object") {
1391
- value = JSON.stringify(value);
1462
+ try {
1463
+ // Store strings as is, stringify everything else (objects, arrays, numbers, booleans)
1464
+ const data = typeof value === 'string' ? value : JSON.stringify(value);
1465
+ sessionStorage.setItem(key, data);
1466
+ }
1467
+ catch (error) {
1468
+ console.error(`Error saving ${key} to sessionStorage`, error);
1392
1469
  }
1393
- localStorage.setItem(key, value);
1394
1470
  }
1471
+ /**
1472
+ * Retrieves data from sessionStorage.
1473
+ * Tries to parse JSON; returns string if parsing fails.
1474
+ */
1395
1475
  static get(key) {
1396
- const str = localStorage.getItem(key);
1397
- if (!str) {
1476
+ if (!this.isBrowser() || !key)
1398
1477
  return null;
1478
+ const item = sessionStorage.getItem(key);
1479
+ if (item === null)
1480
+ return null;
1481
+ try {
1482
+ // Attempt to parse. This handles objects "{}", arrays "[]",
1483
+ // and stringified primitives like "true" or "123".
1484
+ return JSON.parse(item);
1399
1485
  }
1400
- // assume it is an object that has been stringified
1401
- if (str[0] === '{') {
1402
- const v = JSON.parse(str);
1403
- return v;
1486
+ catch (e) {
1487
+ // If parsing fails, it was likely a simple string to begin with.
1488
+ // Return as-is.
1489
+ return item;
1404
1490
  }
1405
- return str;
1491
+ }
1492
+ /**
1493
+ * Removes a specific item.
1494
+ */
1495
+ static remove(key) {
1496
+ if (!this.isBrowser() || !key)
1497
+ return;
1498
+ sessionStorage.removeItem(key);
1499
+ }
1500
+ /**
1501
+ * Clears all session storage.
1502
+ */
1503
+ static clear() {
1504
+ if (!this.isBrowser())
1505
+ return;
1506
+ sessionStorage.clear();
1406
1507
  }
1407
1508
  }
1408
1509
 
@@ -3076,18 +3177,18 @@ class ListBaseComponent extends BaseComponent {
3076
3177
  initStoredFilter() {
3077
3178
  const filterParam = this.getQueryParam('filter') || this.getParam('filter');
3078
3179
  if (filterParam) {
3079
- const tmp = StorageHelper.get('filter');
3180
+ const tmp = SessionStorageHelper.get('filter');
3080
3181
  if (tmp && tmp.url && tmp.url === this.url && tmp.filter) {
3081
3182
  this.filter = Object.assign({}, tmp.filter);
3082
3183
  //this.filter = { ...tmp.filter };
3083
3184
  //we dont need this.assignFilter(); because after initStoredFilter(); will be assigned.
3084
3185
  }
3085
3186
  else {
3086
- localStorage.removeItem('filter');
3187
+ SessionStorageHelper.remove('filter');
3087
3188
  }
3088
3189
  }
3089
3190
  else {
3090
- localStorage.removeItem('filter');
3191
+ SessionStorageHelper.remove('filter');
3091
3192
  }
3092
3193
  }
3093
3194
  async changePage(page) {
@@ -3123,7 +3224,7 @@ class ListBaseComponent extends BaseComponent {
3123
3224
  this.internalSaveFilter();
3124
3225
  }
3125
3226
  internalSaveFilter() {
3126
- StorageHelper.set('filter', {
3227
+ SessionStorageHelper.set('filter', {
3127
3228
  url: this.url,
3128
3229
  filter: this.internalFilter
3129
3230
  });
@@ -6753,10 +6854,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
6753
6854
  type: Input
6754
6855
  }] } });
6755
6856
 
6756
- class ZekSelect2 {
6857
+ class ZekSelect2 extends CoreComponent {
6757
6858
  filter;
6758
6859
  text;
6759
- elementId = RandomHelper.randomHex();
6860
+ _disabled = false;
6861
+ get disabled() {
6862
+ return this._disabled;
6863
+ }
6864
+ set disabled(value) {
6865
+ const v = Convert.toBooleanProperty(value);
6866
+ if (this._disabled !== v) {
6867
+ this._disabled = v;
6868
+ this.onDisabledChanged();
6869
+ }
6870
+ }
6871
+ onDisabledChanged() { }
6760
6872
  _data = [];
6761
6873
  get data() {
6762
6874
  return this._data;
@@ -6812,10 +6924,6 @@ class ZekSelect2 {
6812
6924
  // public set dropdown(v: any) {
6813
6925
  // this._dropdown = v;
6814
6926
  // }
6815
- ngOnDestroy() {
6816
- // this.dropdown?.dispose();
6817
- // this.dropdown = null;
6818
- }
6819
6927
  onTextChange(text) {
6820
6928
  this.filter = StringHelper.tryTrim(text);
6821
6929
  this.filterData();
@@ -6900,13 +7008,15 @@ class ZekSelect2 {
6900
7008
  }
6901
7009
  }
6902
7010
  }
6903
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ZekSelect2, deps: [], target: i0.ɵɵFactoryTarget.Component });
6904
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", 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"] }] });
7011
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ZekSelect2, deps: null, target: i0.ɵɵFactoryTarget.Component });
7012
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.6", type: ZekSelect2, isStandalone: true, selector: "zek-select2,[zek-select2]", inputs: { disabled: "disabled", data: "data", textField: "textField", valueField: "valueField", placeholder: "placeholder", value: "value" }, outputs: { selectedItemChange: "selectedItemChange", valueChange: "valueChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{uniqueId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\"\r\n id=\"input-{{uniqueId}}\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"text\"\r\n (ngModelChange)=\"onTextChange($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"inputUnfocused()\">\r\n <button [disabled]=\"disabled\" class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{uniqueId}}\" 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-{{uniqueId}}\">\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"] }] });
6905
7013
  }
6906
7014
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ZekSelect2, decorators: [{
6907
7015
  type: Component,
6908
- args: [{ standalone: true, selector: 'zek-select2,[zek-select2]', imports: [CommonModule, FormsModule], 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"] }]
6909
- }], propDecorators: { data: [{
7016
+ args: [{ standalone: true, selector: 'zek-select2,[zek-select2]', imports: [CommonModule, FormsModule], template: "<div class=\"input-group position-relative\" id=\"dropdown-menu-container-{{uniqueId}}\">\r\n <input type=\"text\" class=\"form-control\" placeholder=\"{{placeholder}}\" data-bs-toggle=\"dropdown\"\r\n id=\"input-{{uniqueId}}\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"text\"\r\n (ngModelChange)=\"onTextChange($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"inputUnfocused()\">\r\n <button [disabled]=\"disabled\" class=\"btn btn-outline-secondary dropdown-toggle\" id=\"btn-{{uniqueId}}\" 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-{{uniqueId}}\">\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"] }]
7017
+ }], propDecorators: { disabled: [{
7018
+ type: Input
7019
+ }], data: [{
6910
7020
  type: Input
6911
7021
  }], textField: [{
6912
7022
  type: Input
@@ -7943,5 +8053,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
7943
8053
  * Generated bundle index. Do not edit.
7944
8054
  */
7945
8055
 
7946
- export { API_BASE_URL, AgePipe, Alert, AlertService, ArrayHelper, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, CacheHelper, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, ErrorHelper, ExcelHelper, FileHelper, FileService, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, Guid, HtmlHelper, HttpErrorHandler, IdName, IdNameChecked, IntervalHelper, 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, ZekDelayedInputDirective, ZekDeleteModal, ZekDisapproveModal, ZekDropdown, ZekEditToolbar, ZekFieldValidator, ZekFileInput, 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 };
8056
+ export { API_BASE_URL, AgePipe, Alert, AlertService, ArrayHelper, AuthService, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, CacheHelper, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, ErrorHelper, ExcelHelper, FileHelper, FileService, FilterBase, FilterHelper, GOOGLE_CLIENT_ID, Gender, Guid, HtmlHelper, HttpErrorHandler, IdName, IdNameChecked, IntervalHelper, 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, SessionStorageHelper, 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, ZekDelayedInputDirective, ZekDeleteModal, ZekDisapproveModal, ZekDropdown, ZekEditToolbar, ZekFieldValidator, ZekFileInput, 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 };
7947
8057
  //# sourceMappingURL=zek.mjs.map