zek 17.3.65 → 17.3.68
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/esm2022/lib/models/api.mjs +2 -0
- package/esm2022/lib/models/index.mjs +2 -1
- package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +2 -2
- package/esm2022/lib/modules/file-input/file-input.mjs +80 -0
- package/esm2022/lib/modules/file-input/index.mjs +2 -0
- package/esm2022/lib/modules/index.mjs +3 -3
- package/esm2022/lib/modules/numeric/numeric.directive.mjs +2 -2
- package/esm2022/lib/modules/utc-to-local/utc-to-local.pipe.mjs +2 -3
- package/esm2022/lib/services/file.service.mjs +23 -0
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/utils/date-helper.mjs +1 -4
- package/fesm2022/zek.mjs +119 -35
- package/fesm2022/zek.mjs.map +1 -1
- package/lib/models/api.d.ts +7 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/modules/file-input/file-input.d.ts +22 -0
- package/lib/modules/file-input/index.d.ts +1 -0
- package/lib/modules/index.d.ts +2 -1
- package/lib/services/file.service.d.ts +11 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/utils/date-helper.d.ts +0 -1
- package/package.json +1 -1
package/fesm2022/zek.mjs
CHANGED
|
@@ -493,9 +493,6 @@ class TimeHelper {
|
|
|
493
493
|
}
|
|
494
494
|
|
|
495
495
|
class DateHelper {
|
|
496
|
-
static minDate() {
|
|
497
|
-
return new Date(0);
|
|
498
|
-
}
|
|
499
496
|
static equals(value1, value2) {
|
|
500
497
|
const val1 = (value1 === undefined || value1 === null) ? null : value1;
|
|
501
498
|
const val2 = (value2 === undefined || value2 === null) ? null : value2;
|
|
@@ -1958,6 +1955,23 @@ class CustomHttpParamEncoder {
|
|
|
1958
1955
|
}
|
|
1959
1956
|
}
|
|
1960
1957
|
|
|
1958
|
+
class FileService extends CrudService {
|
|
1959
|
+
constructor(api, httpErrorHandler) {
|
|
1960
|
+
super('files', api, httpErrorHandler);
|
|
1961
|
+
}
|
|
1962
|
+
download(id, hash) {
|
|
1963
|
+
return this.api.getBlob(`api/${this.controller}`, { id, hash }).pipe(catchError(this.handleError(this.download.name, null)));
|
|
1964
|
+
}
|
|
1965
|
+
presignedUrl(id, hash) {
|
|
1966
|
+
return this.api.get(`api/${this.controller}/${id}/${hash}/presigned-url`).pipe(catchError(this.handleError(this.presignedUrl.name, null)));
|
|
1967
|
+
}
|
|
1968
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileService, deps: [{ token: WebApiClient }, { token: HttpErrorHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1969
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileService }); }
|
|
1970
|
+
}
|
|
1971
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: FileService, decorators: [{
|
|
1972
|
+
type: Injectable
|
|
1973
|
+
}], ctorParameters: () => [{ type: WebApiClient }, { type: HttpErrorHandler }] });
|
|
1974
|
+
|
|
1961
1975
|
class CoreComponent {
|
|
1962
1976
|
constructor() {
|
|
1963
1977
|
this.loading = false;
|
|
@@ -2094,7 +2108,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
2094
2108
|
type: Output
|
|
2095
2109
|
}] } });
|
|
2096
2110
|
|
|
2097
|
-
let uniqueId$
|
|
2111
|
+
let uniqueId$7 = 0;
|
|
2098
2112
|
class CoreUiComponent extends CoreComponent {
|
|
2099
2113
|
constructor(_renderer, _elementRef
|
|
2100
2114
|
//private _changeDetector: ChangeDetectorRef
|
|
@@ -2111,7 +2125,7 @@ class CoreUiComponent extends CoreComponent {
|
|
|
2111
2125
|
this._onTouched = () => { };
|
|
2112
2126
|
this.change = new EventEmitter();
|
|
2113
2127
|
this.changing = new EventEmitter();
|
|
2114
|
-
this._name = `zek-${++uniqueId$
|
|
2128
|
+
this._name = `zek-${++uniqueId$7}`;
|
|
2115
2129
|
this._isInitialized = false;
|
|
2116
2130
|
this._value = null;
|
|
2117
2131
|
this._readonly = false;
|
|
@@ -3173,7 +3187,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
3173
3187
|
}]
|
|
3174
3188
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Router }] });
|
|
3175
3189
|
|
|
3176
|
-
let uniqueId$
|
|
3190
|
+
let uniqueId$6 = 0;
|
|
3177
3191
|
/**
|
|
3178
3192
|
* Provider Expression that allows bb to register as a ControlValueAccessor. This
|
|
3179
3193
|
* allows it to support [(ngModel)] and ngControl.
|
|
@@ -3187,7 +3201,7 @@ const ZEK_BB_CONTROL_VALUE_ACCESSOR = {
|
|
|
3187
3201
|
class ZekButtonBrowse extends CoreUiComponent {
|
|
3188
3202
|
constructor() {
|
|
3189
3203
|
super(...arguments);
|
|
3190
|
-
this._uniqueId = `zek-bb-${++uniqueId$
|
|
3204
|
+
this._uniqueId = `zek-bb-${++uniqueId$6}`;
|
|
3191
3205
|
/** The unique ID for the bb. */
|
|
3192
3206
|
this.id = this._uniqueId;
|
|
3193
3207
|
this.filter = {};
|
|
@@ -3513,6 +3527,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
3513
3527
|
type: Output
|
|
3514
3528
|
}] } });
|
|
3515
3529
|
|
|
3530
|
+
class ZekCallbackPipe {
|
|
3531
|
+
transform(items, callback, filter) {
|
|
3532
|
+
if (!items || !callback) {
|
|
3533
|
+
return items;
|
|
3534
|
+
}
|
|
3535
|
+
return filter
|
|
3536
|
+
? items.filter(item => callback(item, filter))
|
|
3537
|
+
: items.filter(item => callback(item));
|
|
3538
|
+
}
|
|
3539
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekCallbackPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3540
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekCallbackPipe, isStandalone: true, name: "callback", pure: false }); }
|
|
3541
|
+
}
|
|
3542
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekCallbackPipe, decorators: [{
|
|
3543
|
+
type: Pipe,
|
|
3544
|
+
args: [{
|
|
3545
|
+
standalone: true,
|
|
3546
|
+
name: 'callback',
|
|
3547
|
+
pure: false //this pure need because we are changing filter model and pure=false is handling
|
|
3548
|
+
}]
|
|
3549
|
+
}] });
|
|
3550
|
+
|
|
3516
3551
|
class ZekCard {
|
|
3517
3552
|
/**
|
|
3518
3553
|
*
|
|
@@ -3655,30 +3690,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
3655
3690
|
type: Input
|
|
3656
3691
|
}] } });
|
|
3657
3692
|
|
|
3658
|
-
class ZekCallbackPipe {
|
|
3659
|
-
transform(items, callback, filter) {
|
|
3660
|
-
if (!items || !callback) {
|
|
3661
|
-
return items;
|
|
3662
|
-
}
|
|
3663
|
-
return filter
|
|
3664
|
-
? items.filter(item => callback(item, filter))
|
|
3665
|
-
: items.filter(item => callback(item));
|
|
3666
|
-
}
|
|
3667
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekCallbackPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3668
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ZekCallbackPipe, isStandalone: true, name: "callback", pure: false }); }
|
|
3669
|
-
}
|
|
3670
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekCallbackPipe, decorators: [{
|
|
3671
|
-
type: Pipe,
|
|
3672
|
-
args: [{
|
|
3673
|
-
standalone: true,
|
|
3674
|
-
name: 'callback',
|
|
3675
|
-
pure: false //this pure need because we are changing filter model and pure=false is handling
|
|
3676
|
-
}]
|
|
3677
|
-
}] });
|
|
3678
|
-
|
|
3679
3693
|
class ZekDateAgoPipe {
|
|
3680
3694
|
transform(value, args) {
|
|
3681
|
-
if (value === undefined || value === null || value === '' || value !== value)
|
|
3695
|
+
if (typeof value === 'undefined' || value === null || value === '' || value !== value)
|
|
3682
3696
|
return null;
|
|
3683
3697
|
const date = DateHelper.toDate(value);
|
|
3684
3698
|
const seconds = Math.floor((+new Date() - +new Date(date)) / 1000);
|
|
@@ -4062,6 +4076,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
4062
4076
|
}]
|
|
4063
4077
|
}] });
|
|
4064
4078
|
|
|
4079
|
+
let uniqueId$5 = 0;
|
|
4080
|
+
class ZekFileInput extends CoreUiComponent {
|
|
4081
|
+
constructor() {
|
|
4082
|
+
super(...arguments);
|
|
4083
|
+
// @Input() model!: string[] | null;
|
|
4084
|
+
this.onUpload = new EventEmitter();
|
|
4085
|
+
this.fileService = inject(FileService);
|
|
4086
|
+
this._uniqueId = `zek-file-input-${++uniqueId$5}`;
|
|
4087
|
+
/** The unique ID for the tag. */
|
|
4088
|
+
this.id = this._uniqueId;
|
|
4089
|
+
this._accept = '*';
|
|
4090
|
+
this._multiple = false;
|
|
4091
|
+
}
|
|
4092
|
+
get inputId() {
|
|
4093
|
+
return `${this.id || this._uniqueId}-input`;
|
|
4094
|
+
}
|
|
4095
|
+
get accept() {
|
|
4096
|
+
return this._accept;
|
|
4097
|
+
}
|
|
4098
|
+
set accept(v) {
|
|
4099
|
+
if (!v)
|
|
4100
|
+
this._accept = '*';
|
|
4101
|
+
else
|
|
4102
|
+
this._accept = v;
|
|
4103
|
+
}
|
|
4104
|
+
get multiple() {
|
|
4105
|
+
return this._multiple;
|
|
4106
|
+
}
|
|
4107
|
+
set multiple(v) {
|
|
4108
|
+
this._multiple = Convert.toBooleanProperty(v);
|
|
4109
|
+
}
|
|
4110
|
+
// files: File[] | null = null;
|
|
4111
|
+
clickInput() {
|
|
4112
|
+
const el = document.getElementById(this.inputId);
|
|
4113
|
+
if (el) {
|
|
4114
|
+
el.click();
|
|
4115
|
+
}
|
|
4116
|
+
}
|
|
4117
|
+
async onFileInputChange(event) {
|
|
4118
|
+
event.preventDefault();
|
|
4119
|
+
event.stopPropagation();
|
|
4120
|
+
const files = event?.target?.files;
|
|
4121
|
+
if (Array.isArray(!files))
|
|
4122
|
+
return;
|
|
4123
|
+
const formData = new FormData();
|
|
4124
|
+
for (let i = 0; i < files.length; i++) {
|
|
4125
|
+
const file = files[i];
|
|
4126
|
+
formData.append('files', file, file.name);
|
|
4127
|
+
}
|
|
4128
|
+
this.fileService.save(formData).subscribe(data => {
|
|
4129
|
+
if (data?.success) {
|
|
4130
|
+
this.onUpload.emit(data.value);
|
|
4131
|
+
}
|
|
4132
|
+
});
|
|
4133
|
+
}
|
|
4134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFileInput, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
4135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ZekFileInput, isStandalone: true, selector: "zek-file-input", inputs: { id: "id", accept: "accept", multiple: "multiple" }, outputs: { onUpload: "onUpload" }, host: { properties: { "attr.id": "id" } }, providers: [FileService], usesInheritance: true, ngImport: i0, template: "<input type=\"file\" class=\"form-control\"\r\n name=\"{{inputId}}\"\r\n id=\"{{inputId}}\"\r\n [multiple]=\"multiple\" [accept]=\"accept\" [required]=\"required\" [disabled]=\"readonly\"\r\n #fileInput\r\n (change)=\"onFileInputChange($event)\" />", styles: [":host input[type=file]{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }] }); }
|
|
4136
|
+
}
|
|
4137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekFileInput, decorators: [{
|
|
4138
|
+
type: Component,
|
|
4139
|
+
args: [{ standalone: true, imports: [CommonModule, FormsModule], selector: 'zek-file-input', providers: [FileService], host: {
|
|
4140
|
+
'[attr.id]': 'id',
|
|
4141
|
+
}, template: "<input type=\"file\" class=\"form-control\"\r\n name=\"{{inputId}}\"\r\n id=\"{{inputId}}\"\r\n [multiple]=\"multiple\" [accept]=\"accept\" [required]=\"required\" [disabled]=\"readonly\"\r\n #fileInput\r\n (change)=\"onFileInputChange($event)\" />", styles: [":host input[type=file]{display:none}\n"] }]
|
|
4142
|
+
}], propDecorators: { onUpload: [{
|
|
4143
|
+
type: Output
|
|
4144
|
+
}], id: [{
|
|
4145
|
+
type: Input
|
|
4146
|
+
}], accept: [{
|
|
4147
|
+
type: Input
|
|
4148
|
+
}], multiple: [{
|
|
4149
|
+
type: Input
|
|
4150
|
+
}] } });
|
|
4151
|
+
|
|
4065
4152
|
let uniqueId$4 = 0;
|
|
4066
4153
|
class ZekModal extends CoreComponent {
|
|
4067
4154
|
constructor() {
|
|
@@ -5124,7 +5211,7 @@ class ZekNumericDirective {
|
|
|
5124
5211
|
return this._digits;
|
|
5125
5212
|
}
|
|
5126
5213
|
set digits(v) {
|
|
5127
|
-
const tmp = MathHelper.clamp(Convert.toNumber(v)
|
|
5214
|
+
const tmp = MathHelper.clamp(Convert.toNumber(v) ?? 0, 0, 29);
|
|
5128
5215
|
this._digits = tmp;
|
|
5129
5216
|
}
|
|
5130
5217
|
get negative() {
|
|
@@ -6739,8 +6826,7 @@ class ZekUtcToLocalPipe {
|
|
|
6739
6826
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ZekUtcToLocalPipe, decorators: [{
|
|
6740
6827
|
type: Pipe,
|
|
6741
6828
|
args: [{
|
|
6742
|
-
name: 'utcToLocal'
|
|
6743
|
-
pure: true
|
|
6829
|
+
name: 'utcToLocal'
|
|
6744
6830
|
}]
|
|
6745
6831
|
}], ctorParameters: () => [{ type: i1$2.DatePipe }] });
|
|
6746
6832
|
class ZekUtcToLocalModule {
|
|
@@ -7073,8 +7159,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
7073
7159
|
args: [{ standalone: true, selector: 'zek-wizard2', imports: [CommonModule], template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>" }]
|
|
7074
7160
|
}] });
|
|
7075
7161
|
|
|
7076
|
-
// export * from './'
|
|
7077
|
-
|
|
7078
7162
|
class WebApiModule {
|
|
7079
7163
|
static forRoot(config) {
|
|
7080
7164
|
return {
|
|
@@ -7107,5 +7191,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
7107
7191
|
* Generated bundle index. Do not edit.
|
|
7108
7192
|
*/
|
|
7109
7193
|
|
|
7110
|
-
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, 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 };
|
|
7194
|
+
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, FileBase, FileBytes, FileHelper, FileService, 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, 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 };
|
|
7111
7195
|
//# sourceMappingURL=zek.mjs.map
|