@webilix/ngx-helper-m3 1.0.2 → 1.0.4
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/webilix-ngx-helper-m3.mjs +310 -26
- package/fesm2022/webilix-ngx-helper-m3.mjs.map +1 -1
- package/lib/container/bottom-sheet/container-bottom-sheet.component.d.ts +1 -0
- package/lib/container/container.interface.d.ts +1 -0
- package/lib/container/dialog/container-dialog.component.d.ts +1 -0
- package/lib/pipes/bank-card.pipe.d.ts +10 -0
- package/lib/pipes/date.pipe.d.ts +16 -0
- package/lib/pipes/duration.pipe.d.ts +35 -0
- package/lib/pipes/file-size.pipe.d.ts +9 -0
- package/lib/pipes/mobile.pipe.d.ts +9 -0
- package/lib/pipes/multi-line.pipe.d.ts +12 -0
- package/lib/pipes/period.pipe.d.ts +25 -0
- package/lib/pipes/price.pipe.d.ts +11 -0
- package/lib/pipes/safe.pipe.d.ts +14 -0
- package/lib/pipes/volume.pipe.d.ts +10 -0
- package/lib/pipes/weight.pipe.d.ts +10 -0
- package/package.json +4 -2
- package/public-api.d.ts +11 -0
@@ -1,22 +1,24 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { inject, Component, Injectable, InjectionToken, Injector } from '@angular/core';
|
3
|
-
import
|
4
|
-
import { NgClass, CommonModule } from '@angular/common';
|
2
|
+
import { inject, Component, Injectable, InjectionToken, Injector, Pipe } from '@angular/core';
|
3
|
+
import { NgClass, NgComponentOutlet } from '@angular/common';
|
5
4
|
import * as i1 from '@angular/material/button';
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
5
|
+
import { MatButtonModule, MatIconButton } from '@angular/material/button';
|
7
6
|
import * as i2 from '@angular/material/dialog';
|
8
7
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
9
8
|
import * as i3 from '@angular/material/icon';
|
10
|
-
import { MatIconModule } from '@angular/material/icon';
|
9
|
+
import { MatIconModule, MatIcon } from '@angular/material/icon';
|
11
10
|
import * as i1$1 from '@angular/material/bottom-sheet';
|
12
11
|
import { MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';
|
12
|
+
import { Helper } from '@webilix/helper-library';
|
13
|
+
import { JalaliDateTime } from '@webilix/jalali-date-time';
|
14
|
+
import * as i1$2 from '@angular/platform-browser';
|
13
15
|
|
14
16
|
class ConfirmDialogComponent {
|
15
17
|
confirm = inject(MAT_DIALOG_DATA);
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ConfirmDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-dialog" } }, ngImport: i0, template: "<mat-dialog-content>\n <content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n </content>\n</mat-dialog-content>\n<mat-dialog-actions [align]=\"'end'\">\n <button mat-button type=\"button\" mat-dialog-close [ngClass]=\"confirm.denyClass\">\u062E\u06CC\u0631</button>\n <button mat-button type=\"button\" [mat-dialog-close]=\"true\" [ngClass]=\"confirm.confirmClass\">\u0628\u0644\u06CC</button>\n</mat-dialog-actions>\n", styles: ["content{display:flex;align-items:flex-start;column-gap:1rem;padding-top:1rem}content .content{flex:1}content .content .question{text-align:justify}content .content .description{font-size:90%;margin-top:.5rem;text-align:justify}content .content .data{display:flex;align-items:center;column-gap:.5rem;font-size:90%;margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
18
20
|
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
20
22
|
type: Component,
|
21
23
|
args: [{ host: { selector: 'confirm-dialog' }, imports: [NgClass, MatButtonModule, MatDialogModule, MatIconModule], template: "<mat-dialog-content>\n <content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n </content>\n</mat-dialog-content>\n<mat-dialog-actions [align]=\"'end'\">\n <button mat-button type=\"button\" mat-dialog-close [ngClass]=\"confirm.denyClass\">\u062E\u06CC\u0631</button>\n <button mat-button type=\"button\" [mat-dialog-close]=\"true\" [ngClass]=\"confirm.confirmClass\">\u0628\u0644\u06CC</button>\n</mat-dialog-actions>\n", styles: ["content{display:flex;align-items:flex-start;column-gap:1rem;padding-top:1rem}content .content{flex:1}content .content .question{text-align:justify}content .content .description{font-size:90%;margin-top:.5rem;text-align:justify}content .content .data{display:flex;align-items:center;column-gap:.5rem;font-size:90%;margin-top:1rem}\n"] }]
|
22
24
|
}] });
|
@@ -30,10 +32,10 @@ class ConfirmBottomSheetComponent {
|
|
30
32
|
close(confirmed) {
|
31
33
|
this.matBottomSheetRef.dismiss(confirmed);
|
32
34
|
}
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfirmBottomSheetComponent, deps: [{ token: i1$1.MatBottomSheetRef }], target: i0.ɵɵFactoryTarget.Component });
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ConfirmBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-bottom-sheet" } }, ngImport: i0, template: "<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n</content>\n\n<div class=\"buttons\">\n <button mat-button type=\"button\" (click)=\"close()\" [ngClass]=\"confirm.denyClass\">\u062E\u06CC\u0631</button>\n <button mat-button type=\"button\" (click)=\"close(true)\" [ngClass]=\"confirm.confirmClass\">\u0628\u0644\u06CC</button>\n</div>\n", styles: ["content{display:flex;align-items:flex-start;column-gap:1rem;padding-top:1rem}content .content{flex:1}content .content .question{text-align:justify}content .content .description{font-size:90%;margin-top:.5rem;text-align:justify}content .content .data{display:flex;align-items:center;column-gap:.5rem;font-size:90%;margin-top:1rem}.buttons{display:flex;align-items:center;justify-content:flex-end;column-gap:1rem;margin:1rem 0 .5rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
35
37
|
}
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ConfirmBottomSheetComponent, decorators: [{
|
37
39
|
type: Component,
|
38
40
|
args: [{ host: { selector: 'confirm-bottom-sheet' }, imports: [NgClass, MatButtonModule, MatIconModule], template: "<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n</content>\n\n<div class=\"buttons\">\n <button mat-button type=\"button\" (click)=\"close()\" [ngClass]=\"confirm.denyClass\">\u062E\u06CC\u0631</button>\n <button mat-button type=\"button\" (click)=\"close(true)\" [ngClass]=\"confirm.confirmClass\">\u0628\u0644\u06CC</button>\n</div>\n", styles: ["content{display:flex;align-items:flex-start;column-gap:1rem;padding-top:1rem}content .content{flex:1}content .content .question{text-align:justify}content .content .description{font-size:90%;margin-top:.5rem;text-align:justify}content .content .data{display:flex;align-items:center;column-gap:.5rem;font-size:90%;margin-top:1rem}.buttons{display:flex;align-items:center;justify-content:flex-end;column-gap:1rem;margin:1rem 0 .5rem}\n"] }]
|
39
41
|
}], ctorParameters: () => [{ type: i1$1.MatBottomSheetRef }] });
|
@@ -123,10 +125,10 @@ class NgxHelperConfirmService {
|
|
123
125
|
denyClass: config?.denyClass,
|
124
126
|
});
|
125
127
|
}
|
126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
127
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperConfirmService, deps: [{ token: i1$1.MatBottomSheet }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
129
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperConfirmService, providedIn: 'root' });
|
128
130
|
}
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperConfirmService, decorators: [{
|
130
132
|
type: Injectable,
|
131
133
|
args: [{ providedIn: 'root' }]
|
132
134
|
}], ctorParameters: () => [{ type: i1$1.MatBottomSheet }, { type: i2.MatDialog }] });
|
@@ -154,12 +156,15 @@ class ContainerDialogComponent {
|
|
154
156
|
],
|
155
157
|
});
|
156
158
|
}
|
157
|
-
|
158
|
-
|
159
|
+
close() {
|
160
|
+
this.matDialogRef.close();
|
161
|
+
}
|
162
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ContainerDialogComponent, deps: [{ token: i2.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
163
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ContainerDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "container-dialog" } }, ngImport: i0, template: "<header>\n <div class=\"title\">{{ container.title }}</div>\n @if (!container.config.hideClose) {\n <button mat-icon-button type=\"button\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n", styles: ["header{display:flex;align-items:center;height:50px;line-height:50px;font-size:110%;padding:0 .5rem;border-bottom:1px solid var(--outline-variant)}header .title{flex:1;padding-right:.5rem}content{display:block;max-height:calc(80vh - 50px);overflow:auto}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
159
164
|
}
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ContainerDialogComponent, decorators: [{
|
161
166
|
type: Component,
|
162
|
-
args: [{ host: { selector: 'container-dialog' }, imports: [
|
167
|
+
args: [{ host: { selector: 'container-dialog' }, imports: [NgComponentOutlet, MatIconButton, MatIcon], template: "<header>\n <div class=\"title\">{{ container.title }}</div>\n @if (!container.config.hideClose) {\n <button mat-icon-button type=\"button\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n", styles: ["header{display:flex;align-items:center;height:50px;line-height:50px;font-size:110%;padding:0 .5rem;border-bottom:1px solid var(--outline-variant)}header .title{flex:1;padding-right:.5rem}content{display:block;max-height:calc(80vh - 50px);overflow:auto}\n"] }]
|
163
168
|
}], ctorParameters: () => [{ type: i2.MatDialogRef }] });
|
164
169
|
|
165
170
|
class ContainerBottomSheetComponent {
|
@@ -181,12 +186,15 @@ class ContainerBottomSheetComponent {
|
|
181
186
|
],
|
182
187
|
});
|
183
188
|
}
|
184
|
-
|
185
|
-
|
189
|
+
close() {
|
190
|
+
this.matBottomSheetRef.dismiss();
|
191
|
+
}
|
192
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ContainerBottomSheetComponent, deps: [{ token: i1$1.MatBottomSheetRef }], target: i0.ɵɵFactoryTarget.Component });
|
193
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ContainerBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "container-bottom-sheet" } }, ngImport: i0, template: "<header>\n <div class=\"title\">{{ container.title }}</div>\n @if (!container.config.hideClose) {\n <button mat-icon-button type=\"button\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n</header>\n<content>\n <div [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n </div>\n</content>\n", styles: ["header{display:flex;align-items:center;height:50px;line-height:50px;font-size:110%;padding:0 .5rem;border-bottom:1px solid var(--outline-variant)}header .title{flex:1;padding-right:.5rem}content{display:block;max-height:calc(80vh - 51px);overflow:auto}::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
186
194
|
}
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ContainerBottomSheetComponent, decorators: [{
|
188
196
|
type: Component,
|
189
|
-
args: [{ host: { selector: 'container-bottom-sheet' }, imports: [
|
197
|
+
args: [{ host: { selector: 'container-bottom-sheet' }, imports: [NgComponentOutlet, MatIconButton, MatIcon], template: "<header>\n <div class=\"title\">{{ container.title }}</div>\n @if (!container.config.hideClose) {\n <button mat-icon-button type=\"button\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n</header>\n<content>\n <div [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n </div>\n</content>\n", styles: ["header{display:flex;align-items:center;height:50px;line-height:50px;font-size:110%;padding:0 .5rem;border-bottom:1px solid var(--outline-variant)}header .title{flex:1;padding-right:.5rem}content{display:block;max-height:calc(80vh - 51px);overflow:auto}::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"] }]
|
190
198
|
}], ctorParameters: () => [{ type: i1$1.MatBottomSheetRef }] });
|
191
199
|
|
192
200
|
class NgxHelperContainerCalss {
|
@@ -246,14 +254,290 @@ class NgxHelperContainerService {
|
|
246
254
|
const config = arg1 || {};
|
247
255
|
return new NgxHelperContainerCalss(this.matBottomSheet, this.matDialog, { component, title, config });
|
248
256
|
}
|
249
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
250
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
257
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperContainerService, deps: [{ token: i1$1.MatBottomSheet }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
258
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperContainerService, providedIn: 'root' });
|
251
259
|
}
|
252
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperContainerService, decorators: [{
|
253
261
|
type: Injectable,
|
254
262
|
args: [{ providedIn: 'root' }]
|
255
263
|
}], ctorParameters: () => [{ type: i1$1.MatBottomSheet }, { type: i2.MatDialog }] });
|
256
264
|
|
265
|
+
class NgxHelperBankCardPipe {
|
266
|
+
transform(value, options) {
|
267
|
+
if (!Helper.IS.string(value) || value === '')
|
268
|
+
return '';
|
269
|
+
switch (options?.view) {
|
270
|
+
case 'BANK':
|
271
|
+
return Helper.BANK.findCard(value)?.title || '';
|
272
|
+
default:
|
273
|
+
return Helper.STRING.getBankCardView(value, options?.join || '-');
|
274
|
+
}
|
275
|
+
}
|
276
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperBankCardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
277
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperBankCardPipe, isStandalone: true, name: "ngxHelperBankCard" });
|
278
|
+
}
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperBankCardPipe, decorators: [{
|
280
|
+
type: Pipe,
|
281
|
+
args: [{ name: 'ngxHelperBankCard' }]
|
282
|
+
}] });
|
283
|
+
|
284
|
+
class NgxHelperDatePipe {
|
285
|
+
transform(value, options) {
|
286
|
+
if (!value || (!Helper.IS.date(value) && !Helper.IS.number(value)))
|
287
|
+
return '';
|
288
|
+
const date = typeof value === 'number' ? new Date(value) : value;
|
289
|
+
const jalali = JalaliDateTime();
|
290
|
+
const timezone = options?.timezone && jalali.timezones().includes(options?.timezone) ? options?.timezone : 'Asia/Tehran';
|
291
|
+
switch (options?.format || 'DATE') {
|
292
|
+
case 'FULL':
|
293
|
+
return jalali.toFullText(date, { format: 'W، d N Y H:I', timezone });
|
294
|
+
case 'SHORT':
|
295
|
+
return jalali.toFullText(date, { format: 'Y/M/D', timezone });
|
296
|
+
case 'DATE':
|
297
|
+
return jalali.toFullText(date, { format: 'W، d N Y', timezone });
|
298
|
+
case 'TIME':
|
299
|
+
return jalali.toFullText(date, { format: 'H:I', timezone });
|
300
|
+
case 'WEEK':
|
301
|
+
const { from, to } = jalali.periodWeek(1, date, timezone);
|
302
|
+
return Helper.DATE.jalaliPeriod(from, to, timezone);
|
303
|
+
case 'MONTH':
|
304
|
+
return jalali.toFullText(date, { format: 'N Y', timezone });
|
305
|
+
case 'YEAR':
|
306
|
+
return jalali.toFullText(date, { format: 'Y', timezone });
|
307
|
+
default:
|
308
|
+
return jalali.toFullText(date, { format: options?.format, timezone });
|
309
|
+
}
|
310
|
+
}
|
311
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
312
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperDatePipe, isStandalone: true, name: "ngxHelperDate" });
|
313
|
+
}
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperDatePipe, decorators: [{
|
315
|
+
type: Pipe,
|
316
|
+
args: [{ name: 'ngxHelperDate' }]
|
317
|
+
}] });
|
318
|
+
|
319
|
+
class NgxHelperDurationPipe {
|
320
|
+
transform(value, options) {
|
321
|
+
let seconds = 0;
|
322
|
+
if (Helper.IS.number(value))
|
323
|
+
seconds = Math.abs(value);
|
324
|
+
else if (Helper.IS.date(value))
|
325
|
+
seconds = Math.floor(Math.abs(new Date().getTime() - value.getTime()) / 1000);
|
326
|
+
else if (Helper.IS.object(value)) {
|
327
|
+
const from = 'from' in value ? value.from : new Date();
|
328
|
+
const to = 'to' in value ? value.to : new Date();
|
329
|
+
seconds = Math.floor(Math.abs(from.getTime() - to.getTime()) / 1000);
|
330
|
+
}
|
331
|
+
const days = Math.floor(seconds / (24 * 60 * 60));
|
332
|
+
seconds -= days * (24 * 60 * 60);
|
333
|
+
const hours = Math.floor(seconds / (60 * 60));
|
334
|
+
seconds -= hours * (60 * 60);
|
335
|
+
const minutes = Math.floor(seconds / 60);
|
336
|
+
seconds -= minutes * 60;
|
337
|
+
const hasDays = days !== 0;
|
338
|
+
const time = [hours, minutes, seconds].map((v) => v.toString().padStart(2, '0')).join(':');
|
339
|
+
switch (options?.format || 'TEXT') {
|
340
|
+
case 'TEXT':
|
341
|
+
const hasTime = !!hours || !!minutes || !!seconds;
|
342
|
+
const day = hasDays
|
343
|
+
? Helper.NUMBER.format(days, 'EN') + (!!options?.english ? (days === 1 ? ' day' : ' days') : ' روز')
|
344
|
+
: '';
|
345
|
+
const join = hasDays && hasTime ? (!!options?.english ? ', ' : ' و ') : '';
|
346
|
+
return (day + join + (!hasDays || hasTime ? time : '')).trim();
|
347
|
+
case 'FULL':
|
348
|
+
return (hasDays ? Helper.NUMBER.format(days, 'EN') + ':' : '') + time;
|
349
|
+
case 'DAY':
|
350
|
+
return Helper.NUMBER.format(days + (hours !== 0 || minutes !== 0 ? 1 : 0), !!options?.english ? 'EN' : 'FA');
|
351
|
+
case 'HOUR':
|
352
|
+
return Helper.NUMBER.format(days * 24 + hours + (minutes !== 0 ? 1 : 0), !!options?.english ? 'EN' : 'FA');
|
353
|
+
case 'MINUTE':
|
354
|
+
return Helper.NUMBER.format(days * 24 * 60 + hours * 60 + minutes, !!options?.english ? 'EN' : 'FA');
|
355
|
+
case 'SECOND':
|
356
|
+
return Helper.NUMBER.format(days * 24 * 3600 + hours * 3600 + minutes * 60 + seconds, !!options?.english ? 'EN' : 'FA');
|
357
|
+
}
|
358
|
+
}
|
359
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperDurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
360
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperDurationPipe, isStandalone: true, name: "ngxHelperDuration" });
|
361
|
+
}
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperDurationPipe, decorators: [{
|
363
|
+
type: Pipe,
|
364
|
+
args: [{ name: 'ngxHelperDuration' }]
|
365
|
+
}] });
|
366
|
+
|
367
|
+
class NgxHelperFileSizePipe {
|
368
|
+
transform(size, options) {
|
369
|
+
return Helper.NUMBER.toFileSize(size, !!options?.english ? 'EN' : 'FA');
|
370
|
+
}
|
371
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperFileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
372
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperFileSizePipe, isStandalone: true, name: "ngxHelperFileSize" });
|
373
|
+
}
|
374
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperFileSizePipe, decorators: [{
|
375
|
+
type: Pipe,
|
376
|
+
args: [{ name: 'ngxHelperFileSize' }]
|
377
|
+
}] });
|
378
|
+
|
379
|
+
class NgxHelperMobilePipe {
|
380
|
+
transform(value, options) {
|
381
|
+
if (!Helper.IS.string(value) || value === '')
|
382
|
+
return '';
|
383
|
+
return Helper.STRING.getMobileView(value, options?.join || '-');
|
384
|
+
}
|
385
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMobilePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
386
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMobilePipe, isStandalone: true, name: "ngxHelperMobile" });
|
387
|
+
}
|
388
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMobilePipe, decorators: [{
|
389
|
+
type: Pipe,
|
390
|
+
args: [{ name: 'ngxHelperMobile' }]
|
391
|
+
}] });
|
392
|
+
|
393
|
+
class NgxHelperMultiLinePipe {
|
394
|
+
sanitizer;
|
395
|
+
constructor(sanitizer) {
|
396
|
+
this.sanitizer = sanitizer;
|
397
|
+
}
|
398
|
+
transform(value, options) {
|
399
|
+
if (!Helper.IS.string(value) || value === '')
|
400
|
+
return '';
|
401
|
+
return options?.html
|
402
|
+
? this.sanitizer.bypassSecurityTrustHtml(value.replace(/(?:\r\n|\r|\n)/g, '<br />'))
|
403
|
+
: Helper.STRING.escapeHTML(value).replace(/(?:\r\n|\r|\n)/g, '<br />');
|
404
|
+
}
|
405
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMultiLinePipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
406
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMultiLinePipe, isStandalone: true, name: "ngxHelperMultiLine" });
|
407
|
+
}
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMultiLinePipe, decorators: [{
|
409
|
+
type: Pipe,
|
410
|
+
args: [{ name: 'ngxHelperMultiLine' }]
|
411
|
+
}], ctorParameters: () => [{ type: i1$2.DomSanitizer }] });
|
412
|
+
|
413
|
+
class NgxHelperPeriodPipe {
|
414
|
+
transform(value, options) {
|
415
|
+
const from = Helper.IS.date(value) ? value : 'from' in value ? value.from : new Date();
|
416
|
+
const to = Helper.IS.date(value) ? new Date() : 'to' in value ? value.to : new Date();
|
417
|
+
return Helper.DATE.jalaliPeriod(from, to, options?.timezone || '');
|
418
|
+
}
|
419
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperPeriodPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
420
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperPeriodPipe, isStandalone: true, name: "ngxHelperPeriod" });
|
421
|
+
}
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperPeriodPipe, decorators: [{
|
423
|
+
type: Pipe,
|
424
|
+
args: [{ name: 'ngxHelperPeriod' }]
|
425
|
+
}] });
|
426
|
+
|
427
|
+
class NgxHelperPricePipe {
|
428
|
+
transform(value, options) {
|
429
|
+
if (!Helper.IS.number(value) || value < 0)
|
430
|
+
return '';
|
431
|
+
const getPrice = (...titles) => {
|
432
|
+
const price = Helper.NUMBER.format(+value.toFixed(2), !!options?.english ? 'EN' : 'FA');
|
433
|
+
const unit = titles[options?.short ? 0 : 1][options?.english ? 0 : 1];
|
434
|
+
const currency = options?.currency ? ' ' + options?.currency : '';
|
435
|
+
return `${price} ${unit}${currency}`;
|
436
|
+
};
|
437
|
+
if (value < 1000)
|
438
|
+
return getPrice(['', ''], ['', '']);
|
439
|
+
value /= 1000;
|
440
|
+
if (value < 1000)
|
441
|
+
return getPrice(['T', 'ه'], ['Thousand', 'هزار']);
|
442
|
+
value /= 1000;
|
443
|
+
if (value < 1000)
|
444
|
+
return getPrice(['M', 'م'], ['Million', 'میلیون']);
|
445
|
+
value /= 1000;
|
446
|
+
return getPrice(['B', 'د'], ['Billion', 'میلیارد']);
|
447
|
+
}
|
448
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
449
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperPricePipe, isStandalone: true, name: "ngxHelperPrice" });
|
450
|
+
}
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperPricePipe, decorators: [{
|
452
|
+
type: Pipe,
|
453
|
+
args: [{ name: 'ngxHelperPrice' }]
|
454
|
+
}] });
|
455
|
+
|
456
|
+
class NgxHelperSafePipe {
|
457
|
+
domSanitizer;
|
458
|
+
constructor(domSanitizer) {
|
459
|
+
this.domSanitizer = domSanitizer;
|
460
|
+
}
|
461
|
+
transform(value, options) {
|
462
|
+
if (!Helper.IS.string(value) || value === '')
|
463
|
+
return '';
|
464
|
+
switch (options?.type || 'HTML') {
|
465
|
+
case 'STYLE':
|
466
|
+
return this.domSanitizer.bypassSecurityTrustStyle(value);
|
467
|
+
case 'SCRIPT':
|
468
|
+
return this.domSanitizer.bypassSecurityTrustScript(value);
|
469
|
+
case 'URL':
|
470
|
+
return this.domSanitizer.bypassSecurityTrustUrl(value);
|
471
|
+
case 'RESOURCE_URL':
|
472
|
+
return this.domSanitizer.bypassSecurityTrustResourceUrl(value);
|
473
|
+
case 'HTML':
|
474
|
+
return this.domSanitizer.bypassSecurityTrustHtml(value);
|
475
|
+
}
|
476
|
+
}
|
477
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperSafePipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
478
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperSafePipe, isStandalone: true, name: "ngxHelperSafe" });
|
479
|
+
}
|
480
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperSafePipe, decorators: [{
|
481
|
+
type: Pipe,
|
482
|
+
args: [{ name: 'ngxHelperSafe' }]
|
483
|
+
}], ctorParameters: () => [{ type: i1$2.DomSanitizer }] });
|
484
|
+
|
485
|
+
class NgxHelperVolumePipe {
|
486
|
+
transform(value, options) {
|
487
|
+
if (!Helper.IS.number(value) || value < 0)
|
488
|
+
return '';
|
489
|
+
const getVolume = (...titles) => {
|
490
|
+
const volume = Helper.NUMBER.format(+value.toFixed(2), options?.english ? 'EN' : 'FA');
|
491
|
+
const shortIndex = options?.short ? 0 : 1;
|
492
|
+
const titleIndex = options?.english ? 0 : 1;
|
493
|
+
return `${volume} ${titles[shortIndex][titleIndex]}`;
|
494
|
+
};
|
495
|
+
if (value === 0)
|
496
|
+
return getVolume(['', ''], ['', '']);
|
497
|
+
if (value < 1000)
|
498
|
+
return getVolume(['ML', 'م'], ['Milliliter', 'میلی لیتر']);
|
499
|
+
value /= 1000;
|
500
|
+
return getVolume(['L', 'ل'], ['Liter', 'لیتر']);
|
501
|
+
}
|
502
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperVolumePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
503
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperVolumePipe, isStandalone: true, name: "ngxHelperVolume" });
|
504
|
+
}
|
505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperVolumePipe, decorators: [{
|
506
|
+
type: Pipe,
|
507
|
+
args: [{ name: 'ngxHelperVolume' }]
|
508
|
+
}] });
|
509
|
+
|
510
|
+
class NgxHelperWeightPipe {
|
511
|
+
transform(value, options) {
|
512
|
+
if (!Helper.IS.number(value) || value < 0)
|
513
|
+
return '';
|
514
|
+
const getWeight = (...titles) => {
|
515
|
+
const weight = Helper.NUMBER.format(+value.toFixed(2), options?.english ? 'EN' : 'FA');
|
516
|
+
const shortIndex = options?.short ? 0 : 1;
|
517
|
+
const titleIndex = options?.english ? 0 : 1;
|
518
|
+
return `${weight} ${titles[shortIndex][titleIndex]}`;
|
519
|
+
};
|
520
|
+
if (value === 0)
|
521
|
+
return getWeight(['', ''], ['', '']);
|
522
|
+
if (value < 1000)
|
523
|
+
return getWeight(['G', 'گ'], ['Gram', 'گرم']);
|
524
|
+
value /= 1000;
|
525
|
+
if (value < 1000)
|
526
|
+
return getWeight(['K', 'ک'], ['Kilogram', 'کیلو']);
|
527
|
+
value /= 1000;
|
528
|
+
if (value < 1000)
|
529
|
+
return getWeight(['T', 'ت'], ['Tonne', 'تن']);
|
530
|
+
value /= 1000;
|
531
|
+
return getWeight(['KT', 'ه'], ['Kilotonne', 'هزار تن']);
|
532
|
+
}
|
533
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperWeightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
534
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperWeightPipe, isStandalone: true, name: "ngxHelperWeight" });
|
535
|
+
}
|
536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperWeightPipe, decorators: [{
|
537
|
+
type: Pipe,
|
538
|
+
args: [{ name: 'ngxHelperWeight' }]
|
539
|
+
}] });
|
540
|
+
|
257
541
|
/*
|
258
542
|
* Public API Surface of ngx-helper-m3
|
259
543
|
*/
|
@@ -262,5 +546,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
|
|
262
546
|
* Generated bundle index. Do not edit.
|
263
547
|
*/
|
264
548
|
|
265
|
-
export { NGX_HELPER_CONTAINER_CLOSE, NGX_HELPER_CONTAINER_DATA, NGX_HELPER_CONTAINER_TYPE, NgxHelperConfirmService, NgxHelperContainerService };
|
549
|
+
export { NGX_HELPER_CONTAINER_CLOSE, NGX_HELPER_CONTAINER_DATA, NGX_HELPER_CONTAINER_TYPE, NgxHelperBankCardPipe, NgxHelperConfirmService, NgxHelperContainerService, NgxHelperDatePipe, NgxHelperDurationPipe, NgxHelperFileSizePipe, NgxHelperMobilePipe, NgxHelperMultiLinePipe, NgxHelperPeriodPipe, NgxHelperPricePipe, NgxHelperSafePipe, NgxHelperVolumePipe, NgxHelperWeightPipe };
|
266
550
|
//# sourceMappingURL=webilix-ngx-helper-m3.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"webilix-ngx-helper-m3.mjs","sources":["../../../ngx-helper-m3/src/lib/confirm/dialog/confirm-dialog.component.ts","../../../ngx-helper-m3/src/lib/confirm/dialog/confirm-dialog.component.html","../../../ngx-helper-m3/src/lib/confirm/bottom-sheet/confirm-bottom-sheet.component.ts","../../../ngx-helper-m3/src/lib/confirm/bottom-sheet/confirm-bottom-sheet.component.html","../../../ngx-helper-m3/src/lib/confirm/confirm.service.ts","../../../ngx-helper-m3/src/lib/container/container.interface.ts","../../../ngx-helper-m3/src/lib/container/dialog/container-dialog.component.ts","../../../ngx-helper-m3/src/lib/container/dialog/container-dialog.component.html","../../../ngx-helper-m3/src/lib/container/bottom-sheet/container-bottom-sheet.component.ts","../../../ngx-helper-m3/src/lib/container/bottom-sheet/container-bottom-sheet.component.html","../../../ngx-helper-m3/src/lib/container/container.service.ts","../../../ngx-helper-m3/src/public-api.ts","../../../ngx-helper-m3/src/webilix-ngx-helper-m3.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { INgxHelperConfirm } from '../confirm.interface';\n\n@Component({\n host: { selector: 'confirm-dialog' },\n imports: [NgClass, MatButtonModule, MatDialogModule, MatIconModule],\n templateUrl: './confirm-dialog.component.html',\n styleUrl: './confirm-dialog.component.scss',\n})\nexport class ConfirmDialogComponent {\n public confirm: INgxHelperConfirm = inject(MAT_DIALOG_DATA);\n}\n","<mat-dialog-content>\n <content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n </content>\n</mat-dialog-content>\n<mat-dialog-actions [align]=\"'end'\">\n <button mat-button type=\"button\" mat-dialog-close [ngClass]=\"confirm.denyClass\">خیر</button>\n <button mat-button type=\"button\" [mat-dialog-close]=\"true\" [ngClass]=\"confirm.confirmClass\">بلی</button>\n</mat-dialog-actions>\n","import { Component, inject } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\nimport { MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { INgxHelperConfirm } from '../confirm.interface';\n\n@Component({\n host: { selector: 'confirm-bottom-sheet' },\n imports: [NgClass, MatButtonModule, MatIconModule],\n templateUrl: './confirm-bottom-sheet.component.html',\n styleUrl: './confirm-bottom-sheet.component.scss',\n})\nexport class ConfirmBottomSheetComponent {\n public confirm: INgxHelperConfirm = inject(MAT_BOTTOM_SHEET_DATA);\n\n constructor(private readonly matBottomSheetRef: MatBottomSheetRef<ConfirmBottomSheetComponent>) {}\n\n close(confirmed?: boolean) {\n this.matBottomSheetRef.dismiss(confirmed);\n }\n}\n","<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n</content>\n\n<div class=\"buttons\">\n <button mat-button type=\"button\" (click)=\"close()\" [ngClass]=\"confirm.denyClass\">خیر</button>\n <button mat-button type=\"button\" (click)=\"close(true)\" [ngClass]=\"confirm.confirmClass\">بلی</button>\n</div>\n","import { Injectable } from '@angular/core';\n\nimport { MatBottomSheet, MatBottomSheetConfig } from '@angular/material/bottom-sheet';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\nimport { ConfirmDialogComponent } from './dialog/confirm-dialog.component';\nimport { ConfirmBottomSheetComponent } from './bottom-sheet/confirm-bottom-sheet.component';\n\nimport { INgxHelperConfirm } from './confirm.interface';\n\ninterface IConfirmData {\n readonly title: string;\n readonly value?: string;\n}\n\ninterface IConfirmConfig {\n readonly description: string;\n readonly confirmClass: string;\n readonly denyClass: string;\n}\n\nclass NgxHelperConfirmCalss {\n constructor(\n private readonly matBottomSheet: MatBottomSheet,\n private readonly matDialog: MatDialog,\n private readonly confirm: INgxHelperConfirm,\n ) {}\n\n dialog(onConfirmed: () => void): void;\n dialog(onConfirmed: () => void, onDenied: () => void): void;\n dialog(onConfirmed: () => void, config: MatDialogConfig): void;\n dialog(onConfirmed: () => void, onDenied: () => void, config: MatDialogConfig): void;\n dialog(onConfirmed: () => void, arg1?: any, arg2?: any): void {\n const onDenied: (() => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatDialogConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matDialog\n .open<any, any, boolean>(ConfirmDialogComponent, {\n // DEFAULT CONFIG\n width: 'calc(100vw - 4rem)',\n direction: 'rtl',\n enterAnimationDuration: '100ms',\n exitAnimationDuration: '100ms',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.confirm,\n })\n .afterClosed()\n .subscribe({ next: (confirmed?: boolean) => (!!confirmed ? onConfirmed() : onDenied ? onDenied() : undefined) });\n }\n\n bottomSheet(onConfirmed: () => void): void;\n bottomSheet(onConfirmed: () => void, onDenied: () => void): void;\n bottomSheet(onConfirmed: () => void, config: MatBottomSheetConfig): void;\n bottomSheet(onConfirmed: () => void, onDenied: () => void, config: MatBottomSheetConfig): void;\n bottomSheet(onConfirmed: () => void, arg1?: any, arg2?: any): void {\n const onDenied: (() => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatBottomSheetConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matBottomSheet\n .open<any, any, boolean>(ConfirmBottomSheetComponent, {\n // DEFAULT CONFIG\n direction: 'rtl',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.confirm,\n })\n .afterDismissed()\n .subscribe({ next: (confirmed?: boolean) => (!!confirmed ? onConfirmed() : onDenied ? onDenied() : undefined) });\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class NgxHelperConfirmService {\n constructor(private readonly matBottomSheet: MatBottomSheet, private readonly matDialog: MatDialog) {}\n\n verify(confirm: INgxHelperConfirm): NgxHelperConfirmCalss {\n return new NgxHelperConfirmCalss(this.matBottomSheet, this.matDialog, confirm);\n }\n\n active(data: IConfirmData): NgxHelperConfirmCalss;\n active(data: IConfirmData, config: Partial<IConfirmConfig>): NgxHelperConfirmCalss;\n active(data: IConfirmData, config?: Partial<IConfirmConfig>): NgxHelperConfirmCalss {\n return this.verify({\n question: `آیا میخواهید ${data.title} انتخاب شده را فعال کنید؟`,\n description: config?.description,\n data: data.value ? { title: data.title, value: data.value } : undefined,\n icon: 'check_box',\n confirmClass: config?.confirmClass,\n denyClass: config?.denyClass,\n });\n }\n\n deactive(data: IConfirmData): NgxHelperConfirmCalss;\n deactive(data: IConfirmData, config: Partial<IConfirmConfig>): NgxHelperConfirmCalss;\n deactive(data: IConfirmData, config?: Partial<IConfirmConfig>): NgxHelperConfirmCalss {\n return this.verify({\n question: `آیا میخواهید ${data.title} انتخاب شده را غیرفعال کنید؟`,\n description: config?.description,\n data: data.value ? { title: data.title, value: data.value } : undefined,\n icon: 'disabled_by_default',\n confirmClass: config?.confirmClass || 'error',\n denyClass: config?.denyClass,\n });\n }\n\n delete(data: IConfirmData): NgxHelperConfirmCalss;\n delete(data: IConfirmData, config: Partial<IConfirmConfig>): NgxHelperConfirmCalss;\n delete(data: IConfirmData, config?: Partial<IConfirmConfig>): NgxHelperConfirmCalss {\n return this.verify({\n question: `آیا میخواهید ${data.title} انتخاب شده را حذف کنید؟`,\n description: config?.description,\n data: data.value ? { title: data.title, value: data.value } : undefined,\n icon: 'delete',\n confirmClass: config?.confirmClass || 'error',\n denyClass: config?.denyClass,\n });\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface INgxHelperContainerConfig {\n data?: any;\n padding?: string;\n}\n\nexport type NgxHelperContainer = 'DIALOG' | 'BOTTOMSHEET';\n\nexport const NGX_HELPER_CONTAINER_TYPE: InjectionToken<NgxHelperContainer> = new InjectionToken('NGX-HELPER-CONTAINER-TYPE');\nexport const NGX_HELPER_CONTAINER_DATA: InjectionToken<any> = new InjectionToken<any>('NGX-HELPER-CONTAINER-DATA');\nexport const NGX_HELPER_CONTAINER_CLOSE: InjectionToken<(response?: any) => void> = new InjectionToken(\n 'NGX-HELPER-CONTAINER-CLOSE',\n);\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Injector, OnInit } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport {\n INgxHelperContainerConfig,\n NGX_HELPER_CONTAINER_CLOSE,\n NGX_HELPER_CONTAINER_DATA,\n NGX_HELPER_CONTAINER_TYPE,\n} from '../container.interface';\n\n@Component({\n host: { selector: 'container-dialog' },\n imports: [CommonModule],\n templateUrl: './container-dialog.component.html',\n styleUrl: './container-dialog.component.scss',\n})\nexport class ContainerDialogComponent implements OnInit {\n public container: {\n component: ComponentType<any>;\n readonly title: string;\n readonly config: INgxHelperContainerConfig;\n } = inject(MAT_DIALOG_DATA);\n\n public injector!: Injector;\n\n constructor(private readonly matDialogRef: MatDialogRef<ContainerDialogComponent>) {}\n\n ngOnInit(): void {\n this.injector = Injector.create({\n providers: [\n { provide: NGX_HELPER_CONTAINER_TYPE, useValue: 'DIALOG' },\n { provide: NGX_HELPER_CONTAINER_DATA, useValue: this.container.config.data },\n {\n provide: NGX_HELPER_CONTAINER_CLOSE,\n useFactory: () => (response?: any) => this.matDialogRef.close(response),\n },\n ],\n });\n }\n}\n","<header>{{ container.title }}</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, Injector, OnInit } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef } from '@angular/material/bottom-sheet';\n\nimport {\n INgxHelperContainerConfig,\n NGX_HELPER_CONTAINER_CLOSE,\n NGX_HELPER_CONTAINER_DATA,\n NGX_HELPER_CONTAINER_TYPE,\n} from '../container.interface';\n\n@Component({\n host: { selector: 'container-bottom-sheet' },\n imports: [CommonModule],\n templateUrl: './container-bottom-sheet.component.html',\n styleUrl: './container-bottom-sheet.component.scss',\n})\nexport class ContainerBottomSheetComponent implements OnInit {\n public container: {\n component: ComponentType<any>;\n readonly title: string;\n readonly config: INgxHelperContainerConfig;\n } = inject(MAT_BOTTOM_SHEET_DATA);\n\n public injector!: Injector;\n\n constructor(private readonly matBottomSheetRef: MatBottomSheetRef<ContainerBottomSheetComponent>) {}\n\n ngOnInit(): void {\n this.injector = Injector.create({\n providers: [\n { provide: NGX_HELPER_CONTAINER_TYPE, useValue: 'BOTTOMSHEET' },\n { provide: NGX_HELPER_CONTAINER_DATA, useValue: this.container.config.data },\n {\n provide: NGX_HELPER_CONTAINER_CLOSE,\n useFactory: () => (response?: any) => this.matBottomSheetRef.dismiss(response),\n },\n ],\n });\n }\n}\n","<header>{{ container.title }}</header>\n<content>\n <div [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n </div>\n</content>\n","import { Injectable } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { MatBottomSheet, MatBottomSheetConfig } from '@angular/material/bottom-sheet';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\nimport { ContainerDialogComponent } from './dialog/container-dialog.component';\nimport { ContainerBottomSheetComponent } from './bottom-sheet/container-bottom-sheet.component';\n\nimport { INgxHelperContainerConfig } from './container.interface';\n\ninterface IContainerData {\n readonly component: ComponentType<any>;\n readonly title: string;\n readonly config: INgxHelperContainerConfig;\n}\n\nclass NgxHelperContainerCalss {\n constructor(\n private readonly matBottomSheet: MatBottomSheet,\n private readonly matDialog: MatDialog,\n private readonly container: IContainerData,\n ) {}\n\n dialog<T>(): void;\n dialog<T>(callback: (result: T) => void): void;\n dialog<T>(config: MatDialogConfig): void;\n dialog<T>(callback: (result: T) => void, config: MatDialogConfig): void;\n dialog<T>(arg1?: any, arg2?: any): void {\n const callback: ((result: T) => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatDialogConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matDialog\n .open(ContainerDialogComponent, {\n // DEFAULT CONFIG\n width: 'calc(100vw - 4rem)',\n direction: 'rtl',\n enterAnimationDuration: '100ms',\n exitAnimationDuration: '100ms',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.container,\n })\n .afterClosed()\n .subscribe({ next: (result?: T) => !!result && callback && callback(result) });\n }\n\n bottomSheet<T>(): void;\n bottomSheet<T>(callback: (result: T) => void): void;\n bottomSheet<T>(config: MatBottomSheetConfig): void;\n bottomSheet<T>(callback: (result: T) => void, config: MatBottomSheetConfig): void;\n bottomSheet<T>(arg1?: any, arg2?: any): void {\n const callback: ((result: T) => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatBottomSheetConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matBottomSheet\n .open<any, any, T>(ContainerBottomSheetComponent, {\n // DEFAULT CONFIG\n direction: 'rtl',\n panelClass: 'ngx-helper-bottom-sheet',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.container,\n })\n .afterDismissed()\n .subscribe({ next: (result?: T) => !!result && callback && callback(result) });\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class NgxHelperContainerService {\n constructor(private readonly matBottomSheet: MatBottomSheet, private readonly matDialog: MatDialog) {}\n\n init(component: ComponentType<any>, title: string): NgxHelperContainerCalss;\n init(component: ComponentType<any>, title: string, config: INgxHelperContainerConfig): NgxHelperContainerCalss;\n init(component: ComponentType<any>, title: string, arg1?: any): NgxHelperContainerCalss {\n const config: INgxHelperContainerConfig = arg1 || {};\n\n return new NgxHelperContainerCalss(this.matBottomSheet, this.matDialog, { component, title, config });\n }\n}\n","/*\n * Public API Surface of ngx-helper-m3\n */\n\nexport * from './lib/confirm/confirm.interface';\nexport * from './lib/confirm/confirm.service';\n\nexport * from './lib/container/container.interface';\nexport * from './lib/container/container.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;;;MAea,sBAAsB,CAAA;AACxB,IAAA,OAAO,GAAsB,MAAM,CAAC,eAAe,CAAC;uGADlD,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnC,smCA8BA,EDnBc,MAAA,EAAA,CAAA,6UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,mFAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIzD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACA,YAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAC3B,OAAA,EAAA,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,smCAAA,EAAA,MAAA,EAAA,CAAA,6UAAA,CAAA,EAAA;;;MEI1D,2BAA2B,CAAA;AAGP,IAAA,iBAAA;AAFtB,IAAA,OAAO,GAAsB,MAAM,CAAC,qBAAqB,CAAC;AAEjE,IAAA,WAAA,CAA6B,iBAAiE,EAAA;QAAjE,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;;AAE9C,IAAA,KAAK,CAAC,SAAmB,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC;;uGANpC,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,sICfxC,g8BA6BA,EAAA,MAAA,EAAA,CAAA,mbAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBc,OAAO,EAAE,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,2NAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIxC,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;2BACA,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAA,OAAA,EACjC,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,g8BAAA,EAAA,MAAA,EAAA,CAAA,mbAAA,CAAA,EAAA;;;AEUtD,MAAM,qBAAqB,CAAA;AAEF,IAAA,cAAA;AACA,IAAA,SAAA;AACA,IAAA,OAAA;AAHrB,IAAA,WAAA,CACqB,cAA8B,EAC9B,SAAoB,EACpB,OAA0B,EAAA;QAF1B,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAO,CAAA,OAAA,GAAP,OAAO;;AAO5B,IAAA,MAAM,CAAC,WAAuB,EAAE,IAAU,EAAE,IAAU,EAAA;AAClD,QAAA,MAAM,QAAQ,GAA6B,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,SAAS;AACxF,QAAA,MAAM,MAAM,GAAoB,IAAI,KAAK,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;AAEhF,QAAA,IAAI,CAAC;aACA,IAAI,CAAoB,sBAAsB,EAAE;;AAE7C,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,sBAAsB,EAAE,OAAO;AAC/B,YAAA,qBAAqB,EAAE,OAAO;;AAE9B,YAAA,GAAG,MAAM;AACT,YAAA,SAAS,EAAE,MAAM;;YAEjB,IAAI,EAAE,IAAI,CAAC,OAAO;SACrB;AACA,aAAA,WAAW;AACX,aAAA,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,SAAmB,MAAM,CAAC,CAAC,SAAS,GAAG,WAAW,EAAE,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;;AAOxH,IAAA,WAAW,CAAC,WAAuB,EAAE,IAAU,EAAE,IAAU,EAAA;AACvD,QAAA,MAAM,QAAQ,GAA6B,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,SAAS;AACxF,QAAA,MAAM,MAAM,GAAyB,IAAI,KAAK,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;AAErF,QAAA,IAAI,CAAC;aACA,IAAI,CAAoB,2BAA2B,EAAE;;AAElD,YAAA,SAAS,EAAE,KAAK;;AAEhB,YAAA,GAAG,MAAM;AACT,YAAA,SAAS,EAAE,MAAM;;YAEjB,IAAI,EAAE,IAAI,CAAC,OAAO;SACrB;AACA,aAAA,cAAc;AACd,aAAA,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,SAAmB,MAAM,CAAC,CAAC,SAAS,GAAG,WAAW,EAAE,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;;AAE3H;MAGY,uBAAuB,CAAA;AACH,IAAA,cAAA;AAAiD,IAAA,SAAA;IAA9E,WAA6B,CAAA,cAA8B,EAAmB,SAAoB,EAAA;QAArE,IAAc,CAAA,cAAA,GAAd,cAAc;QAAmC,IAAS,CAAA,SAAA,GAAT,SAAS;;AAEvF,IAAA,MAAM,CAAC,OAA0B,EAAA;AAC7B,QAAA,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;;IAKlF,MAAM,CAAC,IAAkB,EAAE,MAAgC,EAAA;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC;AACf,YAAA,QAAQ,EAAE,CAAA,cAAA,EAAiB,IAAI,CAAC,KAAK,CAA2B,yBAAA,CAAA;YAChE,WAAW,EAAE,MAAM,EAAE,WAAW;YAChC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS;AACvE,YAAA,IAAI,EAAE,WAAW;YACjB,YAAY,EAAE,MAAM,EAAE,YAAY;YAClC,SAAS,EAAE,MAAM,EAAE,SAAS;AAC/B,SAAA,CAAC;;IAKN,QAAQ,CAAC,IAAkB,EAAE,MAAgC,EAAA;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC;AACf,YAAA,QAAQ,EAAE,CAAA,cAAA,EAAiB,IAAI,CAAC,KAAK,CAA8B,4BAAA,CAAA;YACnE,WAAW,EAAE,MAAM,EAAE,WAAW;YAChC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS;AACvE,YAAA,IAAI,EAAE,qBAAqB;AAC3B,YAAA,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,OAAO;YAC7C,SAAS,EAAE,MAAM,EAAE,SAAS;AAC/B,SAAA,CAAC;;IAKN,MAAM,CAAC,IAAkB,EAAE,MAAgC,EAAA;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC;AACf,YAAA,QAAQ,EAAE,CAAA,cAAA,EAAiB,IAAI,CAAC,KAAK,CAA0B,wBAAA,CAAA;YAC/D,WAAW,EAAE,MAAM,EAAE,WAAW;YAChC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS;AACvE,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,OAAO;YAC7C,SAAS,EAAE,MAAM,EAAE,SAAS;AAC/B,SAAA,CAAC;;uGA3CG,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA;;2FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCnErB,yBAAyB,GAAuC,IAAI,cAAc,CAAC,2BAA2B;MAC9G,yBAAyB,GAAwB,IAAI,cAAc,CAAM,2BAA2B;MACpG,0BAA0B,GAA6C,IAAI,cAAc,CAClG,4BAA4B;;MCOnB,wBAAwB,CAAA;AASJ,IAAA,YAAA;AARtB,IAAA,SAAS,GAIZ,MAAM,CAAC,eAAe,CAAC;AAEpB,IAAA,QAAQ;AAEf,IAAA,WAAA,CAA6B,YAAoD,EAAA;QAApD,IAAY,CAAA,YAAA,GAAZ,YAAY;;IAEzC,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC5B,YAAA,SAAS,EAAE;AACP,gBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC1D,gBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;AAC5E,gBAAA;AACI,oBAAA,OAAO,EAAE,0BAA0B;AACnC,oBAAA,UAAU,EAAE,MAAM,CAAC,QAAc,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC1E,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC;;uGArBG,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBrC,0MAIA,EAAA,MAAA,EAAA,CAAA,oMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIb,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACA,YAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAC7B,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,0MAAA,EAAA,MAAA,EAAA,CAAA,oMAAA,CAAA,EAAA;;;MEId,6BAA6B,CAAA;AAST,IAAA,iBAAA;AARtB,IAAA,SAAS,GAIZ,MAAM,CAAC,qBAAqB,CAAC;AAE1B,IAAA,QAAQ;AAEf,IAAA,WAAA,CAA6B,iBAAmE,EAAA;QAAnE,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;;IAE9C,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC5B,YAAA,SAAS,EAAE;AACP,gBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,aAAa,EAAE;AAC/D,gBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;AAC5E,gBAAA;AACI,oBAAA,OAAO,EAAE,0BAA0B;AACnC,oBAAA,UAAU,EAAE,MAAM,CAAC,QAAc,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AACjF,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC;;uGArBG,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB1C,qOAMA,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIb,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AACA,YAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAE,QAAQ,EAAE,wBAAwB,EAAE,EACnC,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,qOAAA,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA;;;AEE3B,MAAM,uBAAuB,CAAA;AAEJ,IAAA,cAAA;AACA,IAAA,SAAA;AACA,IAAA,SAAA;AAHrB,IAAA,WAAA,CACqB,cAA8B,EAC9B,SAAoB,EACpB,SAAyB,EAAA;QAFzB,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAS,CAAA,SAAA,GAAT,SAAS;;IAO9B,MAAM,CAAI,IAAU,EAAE,IAAU,EAAA;AAC5B,QAAA,MAAM,QAAQ,GAAsC,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,SAAS;AACjG,QAAA,MAAM,MAAM,GAAoB,IAAI,KAAK,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;AAEhF,QAAA,IAAI,CAAC;aACA,IAAI,CAAC,wBAAwB,EAAE;;AAE5B,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,sBAAsB,EAAE,OAAO;AAC/B,YAAA,qBAAqB,EAAE,OAAO;;AAE9B,YAAA,GAAG,MAAM;AACT,YAAA,SAAS,EAAE,MAAM;;YAEjB,IAAI,EAAE,IAAI,CAAC,SAAS;SACvB;AACA,aAAA,WAAW;aACX,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAU,KAAK,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;;IAOtF,WAAW,CAAI,IAAU,EAAE,IAAU,EAAA;AACjC,QAAA,MAAM,QAAQ,GAAsC,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,SAAS;AACjG,QAAA,MAAM,MAAM,GAAyB,IAAI,KAAK,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;AAErF,QAAA,IAAI,CAAC;aACA,IAAI,CAAc,6BAA6B,EAAE;;AAE9C,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE,yBAAyB;;AAErC,YAAA,GAAG,MAAM;AACT,YAAA,SAAS,EAAE,MAAM;;YAEjB,IAAI,EAAE,IAAI,CAAC,SAAS;SACvB;AACA,aAAA,cAAc;aACd,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAU,KAAK,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;;AAEzF;MAGY,yBAAyB,CAAA;AACL,IAAA,cAAA;AAAiD,IAAA,SAAA;IAA9E,WAA6B,CAAA,cAA8B,EAAmB,SAAoB,EAAA;QAArE,IAAc,CAAA,cAAA,GAAd,cAAc;QAAmC,IAAS,CAAA,SAAA,GAAT,SAAS;;AAIvF,IAAA,IAAI,CAAC,SAA6B,EAAE,KAAa,EAAE,IAAU,EAAA;AACzD,QAAA,MAAM,MAAM,GAA8B,IAAI,IAAI,EAAE;AAEpD,QAAA,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;;uGARhG,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cADZ,MAAM,EAAA,CAAA;;2FACnB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACzElC;;AAEG;;ACFH;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"webilix-ngx-helper-m3.mjs","sources":["../../../ngx-helper-m3/src/lib/confirm/dialog/confirm-dialog.component.ts","../../../ngx-helper-m3/src/lib/confirm/dialog/confirm-dialog.component.html","../../../ngx-helper-m3/src/lib/confirm/bottom-sheet/confirm-bottom-sheet.component.ts","../../../ngx-helper-m3/src/lib/confirm/bottom-sheet/confirm-bottom-sheet.component.html","../../../ngx-helper-m3/src/lib/confirm/confirm.service.ts","../../../ngx-helper-m3/src/lib/container/container.interface.ts","../../../ngx-helper-m3/src/lib/container/dialog/container-dialog.component.ts","../../../ngx-helper-m3/src/lib/container/dialog/container-dialog.component.html","../../../ngx-helper-m3/src/lib/container/bottom-sheet/container-bottom-sheet.component.ts","../../../ngx-helper-m3/src/lib/container/bottom-sheet/container-bottom-sheet.component.html","../../../ngx-helper-m3/src/lib/container/container.service.ts","../../../ngx-helper-m3/src/lib/pipes/bank-card.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/date.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/duration.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/file-size.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/mobile.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/multi-line.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/period.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/price.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/safe.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/volume.pipe.ts","../../../ngx-helper-m3/src/lib/pipes/weight.pipe.ts","../../../ngx-helper-m3/src/public-api.ts","../../../ngx-helper-m3/src/webilix-ngx-helper-m3.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { INgxHelperConfirm } from '../confirm.interface';\n\n@Component({\n host: { selector: 'confirm-dialog' },\n imports: [NgClass, MatButtonModule, MatDialogModule, MatIconModule],\n templateUrl: './confirm-dialog.component.html',\n styleUrl: './confirm-dialog.component.scss',\n})\nexport class ConfirmDialogComponent {\n public confirm: INgxHelperConfirm = inject(MAT_DIALOG_DATA);\n}\n","<mat-dialog-content>\n <content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n </content>\n</mat-dialog-content>\n<mat-dialog-actions [align]=\"'end'\">\n <button mat-button type=\"button\" mat-dialog-close [ngClass]=\"confirm.denyClass\">خیر</button>\n <button mat-button type=\"button\" [mat-dialog-close]=\"true\" [ngClass]=\"confirm.confirmClass\">بلی</button>\n</mat-dialog-actions>\n","import { Component, inject } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\nimport { MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { INgxHelperConfirm } from '../confirm.interface';\n\n@Component({\n host: { selector: 'confirm-bottom-sheet' },\n imports: [NgClass, MatButtonModule, MatIconModule],\n templateUrl: './confirm-bottom-sheet.component.html',\n styleUrl: './confirm-bottom-sheet.component.scss',\n})\nexport class ConfirmBottomSheetComponent {\n public confirm: INgxHelperConfirm = inject(MAT_BOTTOM_SHEET_DATA);\n\n constructor(private readonly matBottomSheetRef: MatBottomSheetRef<ConfirmBottomSheetComponent>) {}\n\n close(confirmed?: boolean) {\n this.matBottomSheetRef.dismiss(confirmed);\n }\n}\n","<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <div class=\"icon\">\n <mat-icon>{{ confirm.icon }}</mat-icon>\n </div>\n }\n\n <!-- CONTENT -->\n <div class=\"content\">\n <div class=\"question\">{{ confirm.question }}</div>\n <!-- DESCRIPTION -->\n @if (confirm.description) {\n <div class=\"description\">{{ confirm.description }}</div>\n }\n <!-- DATA -->\n @if (confirm.data) {\n <div class=\"data\">\n <div class=\"title\">{{ confirm.data.title }}:</div>\n <div class=\"value\">{{ confirm.data.value }}</div>\n </div>\n }\n </div>\n</content>\n\n<div class=\"buttons\">\n <button mat-button type=\"button\" (click)=\"close()\" [ngClass]=\"confirm.denyClass\">خیر</button>\n <button mat-button type=\"button\" (click)=\"close(true)\" [ngClass]=\"confirm.confirmClass\">بلی</button>\n</div>\n","import { Injectable } from '@angular/core';\n\nimport { MatBottomSheet, MatBottomSheetConfig } from '@angular/material/bottom-sheet';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\nimport { ConfirmDialogComponent } from './dialog/confirm-dialog.component';\nimport { ConfirmBottomSheetComponent } from './bottom-sheet/confirm-bottom-sheet.component';\n\nimport { INgxHelperConfirm } from './confirm.interface';\n\ninterface IConfirmData {\n readonly title: string;\n readonly value?: string;\n}\n\ninterface IConfirmConfig {\n readonly description: string;\n readonly confirmClass: string;\n readonly denyClass: string;\n}\n\nclass NgxHelperConfirmCalss {\n constructor(\n private readonly matBottomSheet: MatBottomSheet,\n private readonly matDialog: MatDialog,\n private readonly confirm: INgxHelperConfirm,\n ) {}\n\n dialog(onConfirmed: () => void): void;\n dialog(onConfirmed: () => void, onDenied: () => void): void;\n dialog(onConfirmed: () => void, config: MatDialogConfig): void;\n dialog(onConfirmed: () => void, onDenied: () => void, config: MatDialogConfig): void;\n dialog(onConfirmed: () => void, arg1?: any, arg2?: any): void {\n const onDenied: (() => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatDialogConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matDialog\n .open<any, any, boolean>(ConfirmDialogComponent, {\n // DEFAULT CONFIG\n width: 'calc(100vw - 4rem)',\n direction: 'rtl',\n enterAnimationDuration: '100ms',\n exitAnimationDuration: '100ms',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.confirm,\n })\n .afterClosed()\n .subscribe({ next: (confirmed?: boolean) => (!!confirmed ? onConfirmed() : onDenied ? onDenied() : undefined) });\n }\n\n bottomSheet(onConfirmed: () => void): void;\n bottomSheet(onConfirmed: () => void, onDenied: () => void): void;\n bottomSheet(onConfirmed: () => void, config: MatBottomSheetConfig): void;\n bottomSheet(onConfirmed: () => void, onDenied: () => void, config: MatBottomSheetConfig): void;\n bottomSheet(onConfirmed: () => void, arg1?: any, arg2?: any): void {\n const onDenied: (() => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatBottomSheetConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matBottomSheet\n .open<any, any, boolean>(ConfirmBottomSheetComponent, {\n // DEFAULT CONFIG\n direction: 'rtl',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.confirm,\n })\n .afterDismissed()\n .subscribe({ next: (confirmed?: boolean) => (!!confirmed ? onConfirmed() : onDenied ? onDenied() : undefined) });\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class NgxHelperConfirmService {\n constructor(private readonly matBottomSheet: MatBottomSheet, private readonly matDialog: MatDialog) {}\n\n verify(confirm: INgxHelperConfirm): NgxHelperConfirmCalss {\n return new NgxHelperConfirmCalss(this.matBottomSheet, this.matDialog, confirm);\n }\n\n active(data: IConfirmData): NgxHelperConfirmCalss;\n active(data: IConfirmData, config: Partial<IConfirmConfig>): NgxHelperConfirmCalss;\n active(data: IConfirmData, config?: Partial<IConfirmConfig>): NgxHelperConfirmCalss {\n return this.verify({\n question: `آیا میخواهید ${data.title} انتخاب شده را فعال کنید؟`,\n description: config?.description,\n data: data.value ? { title: data.title, value: data.value } : undefined,\n icon: 'check_box',\n confirmClass: config?.confirmClass,\n denyClass: config?.denyClass,\n });\n }\n\n deactive(data: IConfirmData): NgxHelperConfirmCalss;\n deactive(data: IConfirmData, config: Partial<IConfirmConfig>): NgxHelperConfirmCalss;\n deactive(data: IConfirmData, config?: Partial<IConfirmConfig>): NgxHelperConfirmCalss {\n return this.verify({\n question: `آیا میخواهید ${data.title} انتخاب شده را غیرفعال کنید؟`,\n description: config?.description,\n data: data.value ? { title: data.title, value: data.value } : undefined,\n icon: 'disabled_by_default',\n confirmClass: config?.confirmClass || 'error',\n denyClass: config?.denyClass,\n });\n }\n\n delete(data: IConfirmData): NgxHelperConfirmCalss;\n delete(data: IConfirmData, config: Partial<IConfirmConfig>): NgxHelperConfirmCalss;\n delete(data: IConfirmData, config?: Partial<IConfirmConfig>): NgxHelperConfirmCalss {\n return this.verify({\n question: `آیا میخواهید ${data.title} انتخاب شده را حذف کنید؟`,\n description: config?.description,\n data: data.value ? { title: data.title, value: data.value } : undefined,\n icon: 'delete',\n confirmClass: config?.confirmClass || 'error',\n denyClass: config?.denyClass,\n });\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface INgxHelperContainerConfig {\n data?: any;\n padding?: string;\n hideClose?: boolean;\n}\n\nexport type NgxHelperContainer = 'DIALOG' | 'BOTTOMSHEET';\n\nexport const NGX_HELPER_CONTAINER_TYPE: InjectionToken<NgxHelperContainer> = new InjectionToken('NGX-HELPER-CONTAINER-TYPE');\nexport const NGX_HELPER_CONTAINER_DATA: InjectionToken<any> = new InjectionToken<any>('NGX-HELPER-CONTAINER-DATA');\nexport const NGX_HELPER_CONTAINER_CLOSE: InjectionToken<(response?: any) => void> = new InjectionToken(\n 'NGX-HELPER-CONTAINER-CLOSE',\n);\n","import { NgComponentOutlet } from '@angular/common';\nimport { Component, inject, Injector, OnInit } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { MatIconButton } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatIcon } from '@angular/material/icon';\n\nimport {\n INgxHelperContainerConfig,\n NGX_HELPER_CONTAINER_CLOSE,\n NGX_HELPER_CONTAINER_DATA,\n NGX_HELPER_CONTAINER_TYPE,\n} from '../container.interface';\n\n@Component({\n host: { selector: 'container-dialog' },\n imports: [NgComponentOutlet, MatIconButton, MatIcon],\n templateUrl: './container-dialog.component.html',\n styleUrl: './container-dialog.component.scss',\n})\nexport class ContainerDialogComponent implements OnInit {\n public container: {\n component: ComponentType<any>;\n readonly title: string;\n readonly config: INgxHelperContainerConfig;\n } = inject(MAT_DIALOG_DATA);\n\n public injector!: Injector;\n\n constructor(private readonly matDialogRef: MatDialogRef<ContainerDialogComponent>) {}\n\n ngOnInit(): void {\n this.injector = Injector.create({\n providers: [\n { provide: NGX_HELPER_CONTAINER_TYPE, useValue: 'DIALOG' },\n { provide: NGX_HELPER_CONTAINER_DATA, useValue: this.container.config.data },\n {\n provide: NGX_HELPER_CONTAINER_CLOSE,\n useFactory: () => (response?: any) => this.matDialogRef.close(response),\n },\n ],\n });\n }\n\n close(): void {\n this.matDialogRef.close();\n }\n}\n","<header>\n <div class=\"title\">{{ container.title }}</div>\n @if (!container.config.hideClose) {\n <button mat-icon-button type=\"button\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n","import { NgComponentOutlet } from '@angular/common';\nimport { Component, inject, Injector, OnInit } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef } from '@angular/material/bottom-sheet';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\nimport {\n INgxHelperContainerConfig,\n NGX_HELPER_CONTAINER_CLOSE,\n NGX_HELPER_CONTAINER_DATA,\n NGX_HELPER_CONTAINER_TYPE,\n} from '../container.interface';\n\n@Component({\n host: { selector: 'container-bottom-sheet' },\n imports: [NgComponentOutlet, MatIconButton, MatIcon],\n templateUrl: './container-bottom-sheet.component.html',\n styleUrl: './container-bottom-sheet.component.scss',\n})\nexport class ContainerBottomSheetComponent implements OnInit {\n public container: {\n component: ComponentType<any>;\n readonly title: string;\n readonly config: INgxHelperContainerConfig;\n } = inject(MAT_BOTTOM_SHEET_DATA);\n\n public injector!: Injector;\n\n constructor(private readonly matBottomSheetRef: MatBottomSheetRef<ContainerBottomSheetComponent>) {}\n\n ngOnInit(): void {\n this.injector = Injector.create({\n providers: [\n { provide: NGX_HELPER_CONTAINER_TYPE, useValue: 'BOTTOMSHEET' },\n { provide: NGX_HELPER_CONTAINER_DATA, useValue: this.container.config.data },\n {\n provide: NGX_HELPER_CONTAINER_CLOSE,\n useFactory: () => (response?: any) => this.matBottomSheetRef.dismiss(response),\n },\n ],\n });\n }\n\n close(): void {\n this.matBottomSheetRef.dismiss();\n }\n}\n","<header>\n <div class=\"title\">{{ container.title }}</div>\n @if (!container.config.hideClose) {\n <button mat-icon-button type=\"button\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n</header>\n<content>\n <div [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n </div>\n</content>\n","import { Injectable } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\n\nimport { MatBottomSheet, MatBottomSheetConfig } from '@angular/material/bottom-sheet';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\nimport { ContainerDialogComponent } from './dialog/container-dialog.component';\nimport { ContainerBottomSheetComponent } from './bottom-sheet/container-bottom-sheet.component';\n\nimport { INgxHelperContainerConfig } from './container.interface';\n\ninterface IContainerData {\n readonly component: ComponentType<any>;\n readonly title: string;\n readonly config: INgxHelperContainerConfig;\n}\n\nclass NgxHelperContainerCalss {\n constructor(\n private readonly matBottomSheet: MatBottomSheet,\n private readonly matDialog: MatDialog,\n private readonly container: IContainerData,\n ) {}\n\n dialog<T>(): void;\n dialog<T>(callback: (result: T) => void): void;\n dialog<T>(config: MatDialogConfig): void;\n dialog<T>(callback: (result: T) => void, config: MatDialogConfig): void;\n dialog<T>(arg1?: any, arg2?: any): void {\n const callback: ((result: T) => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatDialogConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matDialog\n .open(ContainerDialogComponent, {\n // DEFAULT CONFIG\n width: 'calc(100vw - 4rem)',\n direction: 'rtl',\n enterAnimationDuration: '100ms',\n exitAnimationDuration: '100ms',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.container,\n })\n .afterClosed()\n .subscribe({ next: (result?: T) => !!result && callback && callback(result) });\n }\n\n bottomSheet<T>(): void;\n bottomSheet<T>(callback: (result: T) => void): void;\n bottomSheet<T>(config: MatBottomSheetConfig): void;\n bottomSheet<T>(callback: (result: T) => void, config: MatBottomSheetConfig): void;\n bottomSheet<T>(arg1?: any, arg2?: any): void {\n const callback: ((result: T) => void) | undefined = typeof arg1 === 'function' ? arg1 : undefined;\n const config: MatBottomSheetConfig = arg2 || (typeof arg1 !== 'function' ? arg1 : {});\n\n this.matBottomSheet\n .open<any, any, T>(ContainerBottomSheetComponent, {\n // DEFAULT CONFIG\n direction: 'rtl',\n panelClass: 'ngx-helper-bottom-sheet',\n // OVERWRITE CONFIG\n ...config,\n maxHeight: '80vh',\n // DATA\n data: this.container,\n })\n .afterDismissed()\n .subscribe({ next: (result?: T) => !!result && callback && callback(result) });\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class NgxHelperContainerService {\n constructor(private readonly matBottomSheet: MatBottomSheet, private readonly matDialog: MatDialog) {}\n\n init(component: ComponentType<any>, title: string): NgxHelperContainerCalss;\n init(component: ComponentType<any>, title: string, config: INgxHelperContainerConfig): NgxHelperContainerCalss;\n init(component: ComponentType<any>, title: string, arg1?: any): NgxHelperContainerCalss {\n const config: INgxHelperContainerConfig = arg1 || {};\n\n return new NgxHelperContainerCalss(this.matBottomSheet, this.matDialog, { component, title, config });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperBankCard' })\nexport class NgxHelperBankCardPipe implements PipeTransform {\n transform(value: string, options?: { view?: 'CARD' | 'BANK'; join?: string }): string {\n if (!Helper.IS.string(value) || value === '') return '';\n\n switch (options?.view) {\n case 'BANK':\n return Helper.BANK.findCard(value)?.title || '';\n default:\n return Helper.STRING.getBankCardView(value, options?.join || '-');\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\nimport { JalaliDateTime } from '@webilix/jalali-date-time';\n\ntype Formats = string | 'FULL' | 'SHORT' | 'DATE' | 'TIME' | 'WEEK' | 'MONTH' | 'YEAR';\n\n@Pipe({ name: 'ngxHelperDate' })\nexport class NgxHelperDatePipe implements PipeTransform {\n transform(value: Date, options?: { format?: Formats; timezone?: string }): string;\n transform(value: number, options?: { format?: Formats; timezone?: string }): string;\n transform(value: any, options?: { format?: Formats; timezone?: string }): string {\n if (!value || (!Helper.IS.date(value) && !Helper.IS.number(value))) return '';\n\n const date: Date = typeof value === 'number' ? new Date(value) : value;\n const jalali = JalaliDateTime();\n const timezone: string =\n options?.timezone && jalali.timezones().includes(options?.timezone) ? options?.timezone : 'Asia/Tehran';\n\n switch (options?.format || 'DATE') {\n case 'FULL':\n return jalali.toFullText(date, { format: 'W، d N Y H:I', timezone });\n\n case 'SHORT':\n return jalali.toFullText(date, { format: 'Y/M/D', timezone });\n\n case 'DATE':\n return jalali.toFullText(date, { format: 'W، d N Y', timezone });\n\n case 'TIME':\n return jalali.toFullText(date, { format: 'H:I', timezone });\n\n case 'WEEK':\n const { from, to } = jalali.periodWeek(1, date, timezone);\n return Helper.DATE.jalaliPeriod(from, to, timezone);\n\n case 'MONTH':\n return jalali.toFullText(date, { format: 'N Y', timezone });\n\n case 'YEAR':\n return jalali.toFullText(date, { format: 'Y', timezone });\n\n default:\n return jalali.toFullText(date, { format: options?.format, timezone });\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\ntype Formats = 'TEXT' | 'FULL' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND';\n\n@Pipe({ name: 'ngxHelperDuration' })\nexport class NgxHelperDurationPipe implements PipeTransform {\n transform(value: number, options?: { format?: Formats; english?: boolean }): string;\n transform(value: Date, options?: { format?: Formats; english?: boolean }): string;\n transform(value: { from: Date }, options?: { format?: Formats; english?: boolean }): string;\n transform(value: { to: Date }, options?: { format?: Formats; english?: boolean }): string;\n transform(value: { from: Date; to: Date }, options?: { format?: Formats; english?: boolean }): string;\n transform(value: any, options?: { format?: Formats; english?: boolean }): string {\n let seconds: number = 0;\n if (Helper.IS.number(value)) seconds = Math.abs(value);\n else if (Helper.IS.date(value)) seconds = Math.floor(Math.abs(new Date().getTime() - value.getTime()) / 1000);\n else if (Helper.IS.object(value)) {\n const from: Date = 'from' in value ? value.from : new Date();\n const to: Date = 'to' in value ? value.to : new Date();\n seconds = Math.floor(Math.abs(from.getTime() - to.getTime()) / 1000);\n }\n\n const days: number = Math.floor(seconds / (24 * 60 * 60));\n seconds -= days * (24 * 60 * 60);\n const hours: number = Math.floor(seconds / (60 * 60));\n seconds -= hours * (60 * 60);\n const minutes: number = Math.floor(seconds / 60);\n seconds -= minutes * 60;\n\n const hasDays: boolean = days !== 0;\n const time: string = [hours, minutes, seconds].map((v) => v.toString().padStart(2, '0')).join(':');\n\n switch (options?.format || 'TEXT') {\n case 'TEXT':\n const hasTime: boolean = !!hours || !!minutes || !!seconds;\n const day: string = hasDays\n ? Helper.NUMBER.format(days, 'EN') + (!!options?.english ? (days === 1 ? ' day' : ' days') : ' روز')\n : '';\n const join = hasDays && hasTime ? (!!options?.english ? ', ' : ' و ') : '';\n return (day + join + (!hasDays || hasTime ? time : '')).trim();\n\n case 'FULL':\n return (hasDays ? Helper.NUMBER.format(days, 'EN') + ':' : '') + time;\n\n case 'DAY':\n return Helper.NUMBER.format(days + (hours !== 0 || minutes !== 0 ? 1 : 0), !!options?.english ? 'EN' : 'FA');\n\n case 'HOUR':\n return Helper.NUMBER.format(days * 24 + hours + (minutes !== 0 ? 1 : 0), !!options?.english ? 'EN' : 'FA');\n\n case 'MINUTE':\n return Helper.NUMBER.format(days * 24 * 60 + hours * 60 + minutes, !!options?.english ? 'EN' : 'FA');\n\n case 'SECOND':\n return Helper.NUMBER.format(\n days * 24 * 3600 + hours * 3600 + minutes * 60 + seconds,\n !!options?.english ? 'EN' : 'FA',\n );\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperFileSize' })\nexport class NgxHelperFileSizePipe implements PipeTransform {\n transform(size: number, options?: { english?: boolean }): string {\n return Helper.NUMBER.toFileSize(size, !!options?.english ? 'EN' : 'FA');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperMobile' })\nexport class NgxHelperMobilePipe implements PipeTransform {\n transform(value: string, options?: { join?: string }): string {\n if (!Helper.IS.string(value) || value === '') return '';\n\n return Helper.STRING.getMobileView(value, options?.join || '-');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperMultiLine' })\nexport class NgxHelperMultiLinePipe implements PipeTransform {\n constructor(private readonly sanitizer: DomSanitizer) {}\n\n transform(value: string, options?: { html?: boolean }): string | SafeHtml {\n if (!Helper.IS.string(value) || value === '') return '';\n\n return options?.html\n ? this.sanitizer.bypassSecurityTrustHtml(value.replace(/(?:\\r\\n|\\r|\\n)/g, '<br />'))\n : Helper.STRING.escapeHTML(value).replace(/(?:\\r\\n|\\r|\\n)/g, '<br />');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperPeriod' })\nexport class NgxHelperPeriodPipe implements PipeTransform {\n transform(value: Date, options?: { timezone?: string }): string;\n transform(value: { from: Date }, options?: { timezone?: string }): string;\n transform(value: { to: Date }, options?: { timezone?: string }): string;\n transform(value: { from: Date; to: Date }, options?: { timezone?: string }): string;\n transform(value: any, options?: { timezone?: string }): string {\n const from: Date = Helper.IS.date(value) ? value : 'from' in value ? value.from : new Date();\n const to: Date = Helper.IS.date(value) ? new Date() : 'to' in value ? value.to : new Date();\n\n return Helper.DATE.jalaliPeriod(from, to, options?.timezone || '');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperPrice' })\nexport class NgxHelperPricePipe implements PipeTransform {\n transform(value: number, options?: { currency?: string; short?: boolean; english?: boolean }): string {\n if (!Helper.IS.number(value) || value < 0) return '';\n\n const getPrice = (...titles: [string, string][]): string => {\n const price: string = Helper.NUMBER.format(+value.toFixed(2), !!options?.english ? 'EN' : 'FA');\n const unit: string = titles[options?.short ? 0 : 1][options?.english ? 0 : 1];\n const currency: string = options?.currency ? ' ' + options?.currency : '';\n\n return `${price} ${unit}${currency}`;\n };\n\n if (value < 1000) return getPrice(['', ''], ['', '']);\n\n value /= 1000;\n if (value < 1000) return getPrice(['T', 'ه'], ['Thousand', 'هزار']);\n\n value /= 1000;\n if (value < 1000) return getPrice(['M', 'م'], ['Million', 'میلیون']);\n\n value /= 1000;\n return getPrice(['B', 'د'], ['Billion', 'میلیارد']);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';\n\nimport { Helper } from '@webilix/helper-library';\n\ntype Types = 'HTML' | 'STYLE' | 'SCRIPT' | 'URL' | 'RESOURCE_URL';\n\n@Pipe({ name: 'ngxHelperSafe' })\nexport class NgxHelperSafePipe implements PipeTransform {\n constructor(private readonly domSanitizer: DomSanitizer) {}\n\n transform(\n value: string,\n options?: { type?: Types },\n ): string | SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n if (!Helper.IS.string(value) || value === '') return '';\n\n switch (options?.type || 'HTML') {\n case 'STYLE':\n return this.domSanitizer.bypassSecurityTrustStyle(value);\n case 'SCRIPT':\n return this.domSanitizer.bypassSecurityTrustScript(value);\n case 'URL':\n return this.domSanitizer.bypassSecurityTrustUrl(value);\n case 'RESOURCE_URL':\n return this.domSanitizer.bypassSecurityTrustResourceUrl(value);\n case 'HTML':\n return this.domSanitizer.bypassSecurityTrustHtml(value);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperVolume' })\nexport class NgxHelperVolumePipe implements PipeTransform {\n transform(value: number, options?: { short?: boolean; english?: boolean }): string {\n if (!Helper.IS.number(value) || value < 0) return '';\n\n const getVolume = (...titles: [string, string][]): string => {\n const volume: string = Helper.NUMBER.format(+value.toFixed(2), options?.english ? 'EN' : 'FA');\n const shortIndex: number = options?.short ? 0 : 1;\n const titleIndex: number = options?.english ? 0 : 1;\n return `${volume} ${titles[shortIndex][titleIndex]}`;\n };\n\n if (value === 0) return getVolume(['', ''], ['', '']);\n\n if (value < 1000) return getVolume(['ML', 'م'], ['Milliliter', 'میلی لیتر']);\n\n value /= 1000;\n return getVolume(['L', 'ل'], ['Liter', 'لیتر']);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { Helper } from '@webilix/helper-library';\n\n@Pipe({ name: 'ngxHelperWeight' })\nexport class NgxHelperWeightPipe implements PipeTransform {\n transform(value: number, options?: { short?: boolean; english?: boolean }): string {\n if (!Helper.IS.number(value) || value < 0) return '';\n\n const getWeight = (...titles: [string, string][]): string => {\n const weight: string = Helper.NUMBER.format(+value.toFixed(2), options?.english ? 'EN' : 'FA');\n const shortIndex: number = options?.short ? 0 : 1;\n const titleIndex: number = options?.english ? 0 : 1;\n return `${weight} ${titles[shortIndex][titleIndex]}`;\n };\n\n if (value === 0) return getWeight(['', ''], ['', '']);\n\n if (value < 1000) return getWeight(['G', 'گ'], ['Gram', 'گرم']);\n\n value /= 1000;\n if (value < 1000) return getWeight(['K', 'ک'], ['Kilogram', 'کیلو']);\n\n value /= 1000;\n if (value < 1000) return getWeight(['T', 'ت'], ['Tonne', 'تن']);\n\n value /= 1000;\n return getWeight(['KT', 'ه'], ['Kilotonne', 'هزار تن']);\n }\n}\n","/*\n * Public API Surface of ngx-helper-m3\n */\n\nexport * from './lib/confirm/confirm.interface';\nexport * from './lib/confirm/confirm.service';\n\nexport * from './lib/container/container.interface';\nexport * from './lib/container/container.service';\n\n// PIPES\nexport * from './lib/pipes/bank-card.pipe';\nexport * from './lib/pipes/date.pipe';\nexport * from './lib/pipes/duration.pipe';\nexport * from './lib/pipes/file-size.pipe';\nexport * from './lib/pipes/mobile.pipe';\nexport * from './lib/pipes/multi-line.pipe';\nexport * from './lib/pipes/period.pipe';\nexport * from './lib/pipes/price.pipe';\nexport * from './lib/pipes/safe.pipe';\nexport * from './lib/pipes/volume.pipe';\nexport * from './lib/pipes/weight.pipe';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
@@ -13,6 +13,7 @@ export declare class ContainerBottomSheetComponent implements OnInit {
|
|
13
13
|
injector: Injector;
|
14
14
|
constructor(matBottomSheetRef: MatBottomSheetRef<ContainerBottomSheetComponent>);
|
15
15
|
ngOnInit(): void;
|
16
|
+
close(): void;
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContainerBottomSheetComponent, never>;
|
17
18
|
static ɵcmp: i0.ɵɵComponentDeclaration<ContainerBottomSheetComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
18
19
|
}
|
@@ -2,6 +2,7 @@ import { InjectionToken } from '@angular/core';
|
|
2
2
|
export interface INgxHelperContainerConfig {
|
3
3
|
data?: any;
|
4
4
|
padding?: string;
|
5
|
+
hideClose?: boolean;
|
5
6
|
}
|
6
7
|
export type NgxHelperContainer = 'DIALOG' | 'BOTTOMSHEET';
|
7
8
|
export declare const NGX_HELPER_CONTAINER_TYPE: InjectionToken<NgxHelperContainer>;
|
@@ -13,6 +13,7 @@ export declare class ContainerDialogComponent implements OnInit {
|
|
13
13
|
injector: Injector;
|
14
14
|
constructor(matDialogRef: MatDialogRef<ContainerDialogComponent>);
|
15
15
|
ngOnInit(): void;
|
16
|
+
close(): void;
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ContainerDialogComponent, never>;
|
17
18
|
static ɵcmp: i0.ɵɵComponentDeclaration<ContainerDialogComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
18
19
|
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperBankCardPipe implements PipeTransform {
|
4
|
+
transform(value: string, options?: {
|
5
|
+
view?: 'CARD' | 'BANK';
|
6
|
+
join?: string;
|
7
|
+
}): string;
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperBankCardPipe, never>;
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperBankCardPipe, "ngxHelperBankCard", true>;
|
10
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
type Formats = string | 'FULL' | 'SHORT' | 'DATE' | 'TIME' | 'WEEK' | 'MONTH' | 'YEAR';
|
4
|
+
export declare class NgxHelperDatePipe implements PipeTransform {
|
5
|
+
transform(value: Date, options?: {
|
6
|
+
format?: Formats;
|
7
|
+
timezone?: string;
|
8
|
+
}): string;
|
9
|
+
transform(value: number, options?: {
|
10
|
+
format?: Formats;
|
11
|
+
timezone?: string;
|
12
|
+
}): string;
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperDatePipe, never>;
|
14
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperDatePipe, "ngxHelperDate", true>;
|
15
|
+
}
|
16
|
+
export {};
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
type Formats = 'TEXT' | 'FULL' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND';
|
4
|
+
export declare class NgxHelperDurationPipe implements PipeTransform {
|
5
|
+
transform(value: number, options?: {
|
6
|
+
format?: Formats;
|
7
|
+
english?: boolean;
|
8
|
+
}): string;
|
9
|
+
transform(value: Date, options?: {
|
10
|
+
format?: Formats;
|
11
|
+
english?: boolean;
|
12
|
+
}): string;
|
13
|
+
transform(value: {
|
14
|
+
from: Date;
|
15
|
+
}, options?: {
|
16
|
+
format?: Formats;
|
17
|
+
english?: boolean;
|
18
|
+
}): string;
|
19
|
+
transform(value: {
|
20
|
+
to: Date;
|
21
|
+
}, options?: {
|
22
|
+
format?: Formats;
|
23
|
+
english?: boolean;
|
24
|
+
}): string;
|
25
|
+
transform(value: {
|
26
|
+
from: Date;
|
27
|
+
to: Date;
|
28
|
+
}, options?: {
|
29
|
+
format?: Formats;
|
30
|
+
english?: boolean;
|
31
|
+
}): string;
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperDurationPipe, never>;
|
33
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperDurationPipe, "ngxHelperDuration", true>;
|
34
|
+
}
|
35
|
+
export {};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperFileSizePipe implements PipeTransform {
|
4
|
+
transform(size: number, options?: {
|
5
|
+
english?: boolean;
|
6
|
+
}): string;
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperFileSizePipe, never>;
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperFileSizePipe, "ngxHelperFileSize", true>;
|
9
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperMobilePipe implements PipeTransform {
|
4
|
+
transform(value: string, options?: {
|
5
|
+
join?: string;
|
6
|
+
}): string;
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperMobilePipe, never>;
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperMobilePipe, "ngxHelperMobile", true>;
|
9
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class NgxHelperMultiLinePipe implements PipeTransform {
|
5
|
+
private readonly sanitizer;
|
6
|
+
constructor(sanitizer: DomSanitizer);
|
7
|
+
transform(value: string, options?: {
|
8
|
+
html?: boolean;
|
9
|
+
}): string | SafeHtml;
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperMultiLinePipe, never>;
|
11
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperMultiLinePipe, "ngxHelperMultiLine", true>;
|
12
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperPeriodPipe implements PipeTransform {
|
4
|
+
transform(value: Date, options?: {
|
5
|
+
timezone?: string;
|
6
|
+
}): string;
|
7
|
+
transform(value: {
|
8
|
+
from: Date;
|
9
|
+
}, options?: {
|
10
|
+
timezone?: string;
|
11
|
+
}): string;
|
12
|
+
transform(value: {
|
13
|
+
to: Date;
|
14
|
+
}, options?: {
|
15
|
+
timezone?: string;
|
16
|
+
}): string;
|
17
|
+
transform(value: {
|
18
|
+
from: Date;
|
19
|
+
to: Date;
|
20
|
+
}, options?: {
|
21
|
+
timezone?: string;
|
22
|
+
}): string;
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperPeriodPipe, never>;
|
24
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperPeriodPipe, "ngxHelperPeriod", true>;
|
25
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperPricePipe implements PipeTransform {
|
4
|
+
transform(value: number, options?: {
|
5
|
+
currency?: string;
|
6
|
+
short?: boolean;
|
7
|
+
english?: boolean;
|
8
|
+
}): string;
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperPricePipe, never>;
|
10
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperPricePipe, "ngxHelperPrice", true>;
|
11
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
type Types = 'HTML' | 'STYLE' | 'SCRIPT' | 'URL' | 'RESOURCE_URL';
|
5
|
+
export declare class NgxHelperSafePipe implements PipeTransform {
|
6
|
+
private readonly domSanitizer;
|
7
|
+
constructor(domSanitizer: DomSanitizer);
|
8
|
+
transform(value: string, options?: {
|
9
|
+
type?: Types;
|
10
|
+
}): string | SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl;
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperSafePipe, never>;
|
12
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperSafePipe, "ngxHelperSafe", true>;
|
13
|
+
}
|
14
|
+
export {};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperVolumePipe implements PipeTransform {
|
4
|
+
transform(value: number, options?: {
|
5
|
+
short?: boolean;
|
6
|
+
english?: boolean;
|
7
|
+
}): string;
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperVolumePipe, never>;
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperVolumePipe, "ngxHelperVolume", true>;
|
10
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class NgxHelperWeightPipe implements PipeTransform {
|
4
|
+
transform(value: number, options?: {
|
5
|
+
short?: boolean;
|
6
|
+
english?: boolean;
|
7
|
+
}): string;
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxHelperWeightPipe, never>;
|
9
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NgxHelperWeightPipe, "ngxHelperWeight", true>;
|
10
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@webilix/ngx-helper-m3",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.4",
|
4
4
|
"author": "Ali Amirnezhad",
|
5
5
|
"description": "Helper library for Angular and Material 3",
|
6
6
|
"repository": {
|
@@ -22,7 +22,9 @@
|
|
22
22
|
"peerDependencies": {
|
23
23
|
"@angular/common": ">=19.0.0",
|
24
24
|
"@angular/core": ">=19.0.0",
|
25
|
-
"@angular/material": ">=19.0.1"
|
25
|
+
"@angular/material": ">=19.0.1",
|
26
|
+
"@webilix/helper-library": ">=6.0.2",
|
27
|
+
"@webilix/jalali-date-time": ">=2.0.5"
|
26
28
|
},
|
27
29
|
"dependencies": {
|
28
30
|
"tslib": "^2.3.0"
|
package/public-api.d.ts
CHANGED
@@ -2,3 +2,14 @@ export * from './lib/confirm/confirm.interface';
|
|
2
2
|
export * from './lib/confirm/confirm.service';
|
3
3
|
export * from './lib/container/container.interface';
|
4
4
|
export * from './lib/container/container.service';
|
5
|
+
export * from './lib/pipes/bank-card.pipe';
|
6
|
+
export * from './lib/pipes/date.pipe';
|
7
|
+
export * from './lib/pipes/duration.pipe';
|
8
|
+
export * from './lib/pipes/file-size.pipe';
|
9
|
+
export * from './lib/pipes/mobile.pipe';
|
10
|
+
export * from './lib/pipes/multi-line.pipe';
|
11
|
+
export * from './lib/pipes/period.pipe';
|
12
|
+
export * from './lib/pipes/price.pipe';
|
13
|
+
export * from './lib/pipes/safe.pipe';
|
14
|
+
export * from './lib/pipes/volume.pipe';
|
15
|
+
export * from './lib/pipes/weight.pipe';
|