@webilix/ngx-helper-m3 0.0.5 → 0.0.7
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 +462 -129
- package/fesm2022/webilix-ngx-helper-m3.mjs.map +1 -1
- package/lib/components/box/ngx-helper-box.component.d.ts +17 -0
- package/lib/components/box/ngx-helper-box.interface.d.ts +2 -0
- package/lib/components/card/ngx-helper-card.component.d.ts +2 -1
- package/lib/components/loader/ngx-helper-loader.component.d.ts +13 -0
- package/lib/components/page-group/ngx-helper-page-group.interface.d.ts +1 -0
- package/lib/components/value/box/ngx-helper-value-box.component.d.ts +43 -0
- package/lib/components/value/list/ngx-helper-value-list.component.d.ts +28 -0
- package/lib/components/value/ngx-helper-value.info.d.ts +2 -0
- package/lib/components/value/ngx-helper-value.interface.d.ts +76 -0
- package/lib/components/value/ngx-helper-value.pipe.d.ts +10 -0
- package/lib/pipe.types.d.ts +2 -0
- package/lib/pipes/bank-card.pipe.d.ts +1 -1
- package/lib/pipes/date.pipe.d.ts +5 -6
- package/lib/pipes/duration.pipe.d.ts +14 -15
- package/lib/pipes/file-size.pipe.d.ts +1 -1
- package/lib/pipes/mobile.pipe.d.ts +1 -1
- package/lib/pipes/multi-line.pipe.d.ts +3 -3
- package/lib/pipes/number.pipe.d.ts +1 -1
- package/lib/pipes/period.pipe.d.ts +7 -7
- package/lib/pipes/price.pipe.d.ts +1 -1
- package/lib/pipes/safe.pipe.d.ts +1 -1
- package/lib/pipes/volume.pipe.d.ts +1 -1
- package/lib/pipes/weight.pipe.d.ts +1 -1
- package/ngx-helper-m3.css +219 -4
- package/package.json +4 -4
- package/public-api.d.ts +7 -0
@@ -1,15 +1,17 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, makeEnvironmentProviders,
|
3
|
-
import {
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, Injector, Component, HostBinding, Input, Injectable, Optional, Inject, EventEmitter, Output, inject, Directive, Pipe } from '@angular/core';
|
3
|
+
import { NgComponentOutlet, NgClass } from '@angular/common';
|
4
4
|
import * as i1$2 from '@angular/material/button';
|
5
|
-
import { MatButton,
|
5
|
+
import { MatButton, MatIconButton, MatButtonModule } from '@angular/material/button';
|
6
6
|
import { MatDivider } from '@angular/material/divider';
|
7
|
-
import * as i3 from '@angular/material/icon';
|
7
|
+
import * as i3$1 from '@angular/material/icon';
|
8
8
|
import { MatIcon, MatIconModule } from '@angular/material/icon';
|
9
9
|
import * as i2 from '@angular/material/menu';
|
10
10
|
import { MatMenuModule } from '@angular/material/menu';
|
11
11
|
import { Helper } from '@webilix/helper-library';
|
12
12
|
import * as i1 from '@angular/router';
|
13
|
+
import * as i3 from '@angular/cdk/clipboard';
|
14
|
+
import { ClipboardModule } from '@angular/cdk/clipboard';
|
13
15
|
import { JalaliDateTime } from '@webilix/jalali-date-time';
|
14
16
|
import * as i1$1 from '@angular/platform-browser';
|
15
17
|
import * as i2$1 from '@angular/material/dialog';
|
@@ -23,6 +25,57 @@ const provideNgxHelperConfig = (config) => {
|
|
23
25
|
return makeEnvironmentProviders(providers);
|
24
26
|
};
|
25
27
|
|
28
|
+
const NGX_HELPER_BOX_DATA = new InjectionToken('NGX-HELPER-BOX-DATA');
|
29
|
+
|
30
|
+
class NgxHelperBoxComponent {
|
31
|
+
className = 'ngx-helper-m3-box';
|
32
|
+
paddingCSS;
|
33
|
+
component;
|
34
|
+
data;
|
35
|
+
padding = '1rem';
|
36
|
+
hideShadow = false;
|
37
|
+
injector;
|
38
|
+
ngOnInit() {
|
39
|
+
this.setInjector();
|
40
|
+
}
|
41
|
+
ngOnChanges(changes) {
|
42
|
+
this.setInjector();
|
43
|
+
}
|
44
|
+
setInjector() {
|
45
|
+
this.paddingCSS = this.padding;
|
46
|
+
this.className = `ngx-helper-m3-box${this.hideShadow ? ' hide-shadow' : ''}`;
|
47
|
+
if (!this.component)
|
48
|
+
return;
|
49
|
+
this.injector = Injector.create({
|
50
|
+
providers: [{ provide: NGX_HELPER_BOX_DATA, useValue: this.data }],
|
51
|
+
});
|
52
|
+
}
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: NgxHelperBoxComponent, isStandalone: true, selector: "ngx-helper-box", inputs: { component: "component", data: "data", padding: "padding", hideShadow: "hideShadow" }, host: { properties: { "className": "this.className", "style.padding": "this.paddingCSS" } }, usesOnChanges: true, ngImport: i0, template: "@if (component) {\n<span *ngComponentOutlet=\"component; injector: injector\"></span>\n} @else {\n<ng-content></ng-content>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] });
|
55
|
+
}
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperBoxComponent, decorators: [{
|
57
|
+
type: Component,
|
58
|
+
args: [{ selector: 'ngx-helper-box', imports: [NgComponentOutlet], template: "@if (component) {\n<span *ngComponentOutlet=\"component; injector: injector\"></span>\n} @else {\n<ng-content></ng-content>\n}\n" }]
|
59
|
+
}], propDecorators: { className: [{
|
60
|
+
type: HostBinding,
|
61
|
+
args: ['className']
|
62
|
+
}], paddingCSS: [{
|
63
|
+
type: HostBinding,
|
64
|
+
args: ['style.padding']
|
65
|
+
}], component: [{
|
66
|
+
type: Input,
|
67
|
+
args: [{ required: false }]
|
68
|
+
}], data: [{
|
69
|
+
type: Input,
|
70
|
+
args: [{ required: false }]
|
71
|
+
}], padding: [{
|
72
|
+
type: Input,
|
73
|
+
args: [{ required: false }]
|
74
|
+
}], hideShadow: [{
|
75
|
+
type: Input,
|
76
|
+
args: [{ required: false }]
|
77
|
+
}] } });
|
78
|
+
|
26
79
|
class ComponentService {
|
27
80
|
getComponentConfig(config) {
|
28
81
|
const getStickyView = (config) => {
|
@@ -42,10 +95,10 @@ class ComponentService {
|
|
42
95
|
: undefined,
|
43
96
|
};
|
44
97
|
}
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
46
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
99
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ComponentService });
|
47
100
|
}
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ComponentService, decorators: [{
|
49
102
|
type: Injectable
|
50
103
|
}] });
|
51
104
|
|
@@ -59,6 +112,7 @@ class NgxHelperCardComponent {
|
|
59
112
|
actions = [];
|
60
113
|
padding = '1rem';
|
61
114
|
backgroundColor;
|
115
|
+
hasShadow = false;
|
62
116
|
isMobile = false;
|
63
117
|
buttons = [];
|
64
118
|
componentConfig;
|
@@ -71,6 +125,7 @@ class NgxHelperCardComponent {
|
|
71
125
|
this.onResize();
|
72
126
|
}
|
73
127
|
ngOnChanges(changes) {
|
128
|
+
this.className = `ngx-helper-m3-card${this.hasShadow ? ' has-shadow' : ''}`;
|
74
129
|
this.buttons = this.actions.map((action) => {
|
75
130
|
return 'buttons' in action ? { type: 'MENU', ...action } : { type: 'BUTTON', ...action };
|
76
131
|
});
|
@@ -78,10 +133,10 @@ class NgxHelperCardComponent {
|
|
78
133
|
onResize() {
|
79
134
|
this.isMobile = window.innerWidth <= this.componentConfig.mobileWidth;
|
80
135
|
}
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
82
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
136
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperCardComponent, deps: [{ token: ComponentService }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
137
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: NgxHelperCardComponent, isStandalone: true, selector: "ngx-helper-card", inputs: { title: "title", subTitle: "subTitle", icon: "icon", actions: "actions", padding: "padding", backgroundColor: "backgroundColor", hasShadow: "hasShadow" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "className": "this.className" } }, providers: [ComponentService], usesOnChanges: true, ngImport: i0, template: "<header>\n <!-- ICON -->\n @if (icon) { <mat-icon>{{ icon }}</mat-icon> }\n\n <!-- TITLE -->\n <div class=\"content\">\n <div class=\"title\">{{ title }}</div>\n <!-- SUB TITLE -->\n @if (subTitle) {\n <div class=\"sub-title\">{{ subTitle }}</div>\n }\n </div>\n\n <!-- BUTTONS -->\n @if (buttons.length > 0) {\n <div class=\"buttons\" [ngClass]=\"isMobile ? 'mobile-view' : ''\">\n @for (item of buttons; track $index) {\n <!-- TYPE -->\n @switch (item.type) {\n\n <!-- BUTTON -->\n @case('BUTTON') {\n <button mat-button type=\"button\" [style.color]=\"item.color\" (click)=\"item.action()\">\n @if (!isMobile) {\n <div class=\"title\">{{ item.title }}</div>\n }\n <!-- ICON -->\n @if (isMobile || item.showIcon) {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </button>\n }\n\n <!-- MENU -->\n @case('MENU') {\n <button mat-button type=\"button\" [style.color]=\"item.color\" [matMenuTriggerFor]=\"actionMenu\">\n @if (!isMobile) {\n <div class=\"title\">{{ item.title }}</div>\n }\n <!-- ICON -->\n @if (isMobile || item.showIcon) {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </button>\n <mat-menu #actionMenu=\"matMenu\" class=\"ngx-helper-card-action-menu\">\n @for (menu of item.buttons; track $index) {\n <!-- DIVIDER -->\n @if (menu === 'DIVIDER') { <mat-divider></mat-divider> }\n <!-- BUTTON -->\n @else {\n <button mat-menu-item type=\"button\" (click)=\"menu.action()\" [style.color]=\"menu.color\">\n <div class=\"title\">{{ menu.title }}</div>\n <mat-icon [style.color]=\"menu.color\">{{ menu.icon }}</mat-icon>\n </button>\n } }\n </mat-menu>\n } } }\n </div>\n }\n</header>\n\n<content [style.padding]=\"padding\" [style.background-color]=\"backgroundColor\"><ng-content></ng-content></content>\n", styles: ["::ng-deep .ngx-helper-card-action-menu button mat-icon{font-size:115%;margin:0 0 0 .75rem!important}::ng-deep .ngx-helper-card-action-menu button .title{font-size:90%!important}::ng-deep .ngx-helper-card-action-menu .mat-mdc-menu-content{padding:0}::ng-deep .ngx-helper-card-action-menu .mat-mdc-menu-item{direction:rtl;text-align:right}::ng-deep .ngx-helper-card-action-menu .mat-divider{margin:0;border-top-color:var(--outline-variant)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] });
|
83
138
|
}
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperCardComponent, decorators: [{
|
85
140
|
type: Component,
|
86
141
|
args: [{ selector: 'ngx-helper-card', host: { '(window:resize)': 'onResize($event)' }, imports: [NgClass, MatButton, MatDivider, MatIcon, MatMenuModule], providers: [ComponentService], template: "<header>\n <!-- ICON -->\n @if (icon) { <mat-icon>{{ icon }}</mat-icon> }\n\n <!-- TITLE -->\n <div class=\"content\">\n <div class=\"title\">{{ title }}</div>\n <!-- SUB TITLE -->\n @if (subTitle) {\n <div class=\"sub-title\">{{ subTitle }}</div>\n }\n </div>\n\n <!-- BUTTONS -->\n @if (buttons.length > 0) {\n <div class=\"buttons\" [ngClass]=\"isMobile ? 'mobile-view' : ''\">\n @for (item of buttons; track $index) {\n <!-- TYPE -->\n @switch (item.type) {\n\n <!-- BUTTON -->\n @case('BUTTON') {\n <button mat-button type=\"button\" [style.color]=\"item.color\" (click)=\"item.action()\">\n @if (!isMobile) {\n <div class=\"title\">{{ item.title }}</div>\n }\n <!-- ICON -->\n @if (isMobile || item.showIcon) {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </button>\n }\n\n <!-- MENU -->\n @case('MENU') {\n <button mat-button type=\"button\" [style.color]=\"item.color\" [matMenuTriggerFor]=\"actionMenu\">\n @if (!isMobile) {\n <div class=\"title\">{{ item.title }}</div>\n }\n <!-- ICON -->\n @if (isMobile || item.showIcon) {\n <mat-icon>{{ item.icon }}</mat-icon>\n }\n </button>\n <mat-menu #actionMenu=\"matMenu\" class=\"ngx-helper-card-action-menu\">\n @for (menu of item.buttons; track $index) {\n <!-- DIVIDER -->\n @if (menu === 'DIVIDER') { <mat-divider></mat-divider> }\n <!-- BUTTON -->\n @else {\n <button mat-menu-item type=\"button\" (click)=\"menu.action()\" [style.color]=\"menu.color\">\n <div class=\"title\">{{ menu.title }}</div>\n <mat-icon [style.color]=\"menu.color\">{{ menu.icon }}</mat-icon>\n </button>\n } }\n </mat-menu>\n } } }\n </div>\n }\n</header>\n\n<content [style.padding]=\"padding\" [style.background-color]=\"backgroundColor\"><ng-content></ng-content></content>\n", styles: ["::ng-deep .ngx-helper-card-action-menu button mat-icon{font-size:115%;margin:0 0 0 .75rem!important}::ng-deep .ngx-helper-card-action-menu button .title{font-size:90%!important}::ng-deep .ngx-helper-card-action-menu .mat-mdc-menu-content{padding:0}::ng-deep .ngx-helper-card-action-menu .mat-mdc-menu-item{direction:rtl;text-align:right}::ng-deep .ngx-helper-card-action-menu .mat-divider{margin:0;border-top-color:var(--outline-variant)}\n"] }]
|
87
142
|
}], ctorParameters: () => [{ type: ComponentService }, { type: undefined, decorators: [{
|
@@ -110,11 +165,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
110
165
|
}], backgroundColor: [{
|
111
166
|
type: Input,
|
112
167
|
args: [{ required: false }]
|
168
|
+
}], hasShadow: [{
|
169
|
+
type: Input,
|
170
|
+
args: [{ required: false }]
|
171
|
+
}] } });
|
172
|
+
|
173
|
+
class NgxHelperLoaderComponent {
|
174
|
+
loaderSize;
|
175
|
+
loaderColor;
|
176
|
+
mode;
|
177
|
+
size;
|
178
|
+
color;
|
179
|
+
padding;
|
180
|
+
ngOnChanges(changes) {
|
181
|
+
this.loaderSize = `${this.size || 25}px`;
|
182
|
+
this.loaderColor = this.color || `var(--secondary)`;
|
183
|
+
}
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: NgxHelperLoaderComponent, isStandalone: true, selector: "ngx-helper-loader", inputs: { mode: "mode", size: "size", color: "color", padding: "padding" }, host: { properties: { "style.--loader-size": "this.loaderSize", "style.--loader-color": "this.loaderColor" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"container\" [style.padding]=\"padding || '0'\">\n <div [class]=\"mode.toLowerCase()\"></div>\n</div>\n", styles: [".spinner{--size: calc(var(--loader-size) / 7);width:var(--loader-size);aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side,var(--loader-color) 94%,rgba(0,0,0,0)) top/var(--size) var(--size) no-repeat,conic-gradient(rgba(0,0,0,0) 30%,var(--loader-color));mask:radial-gradient(farthest-side,rgba(0,0,0,0) calc(100% - var(--size)),#000 0);animation:spinner 1s infinite linear}@keyframes spinner{to{transform:rotate(1turn)}}.dots-spinner{--dot: no-repeat radial-gradient(farthest-side, var(--loader-color) 92%, #0000);--size: calc(var(--loader-size) / 4);width:var(--loader-size);aspect-ratio:1;background:var(--dot) top,var(--dot) left,var(--dot) right,var(--dot) bottom;background-size:var(--size) var(--size);animation:dots-spinner 1s infinite}@keyframes dots-spinner{to{transform:rotate(.5turn)}}.wheel-spinner{--size: calc(var(--loader-size) / 9);width:var(--loader-size);aspect-ratio:1;border-radius:50%;background:var(--loader-color);mask:repeating-conic-gradient(rgba(0,0,0,0) 0deg,#000 1deg 70deg,rgba(0,0,0,0) 71deg 90deg),radial-gradient(farthest-side,rgba(0,0,0,0) calc(100% - var(--size) - 1px),#000 calc(100% - var(--size)));-webkit-mask-composite:destination-in;mask-composite:intersect;animation:wheel-spinner 1s infinite}@keyframes wheel-spinner{to{transform:rotate(.5turn)}}\n"] });
|
186
|
+
}
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperLoaderComponent, decorators: [{
|
188
|
+
type: Component,
|
189
|
+
args: [{ selector: 'ngx-helper-loader', imports: [], template: "<div class=\"container\" [style.padding]=\"padding || '0'\">\n <div [class]=\"mode.toLowerCase()\"></div>\n</div>\n", styles: [".spinner{--size: calc(var(--loader-size) / 7);width:var(--loader-size);aspect-ratio:1;border-radius:50%;background:radial-gradient(farthest-side,var(--loader-color) 94%,rgba(0,0,0,0)) top/var(--size) var(--size) no-repeat,conic-gradient(rgba(0,0,0,0) 30%,var(--loader-color));mask:radial-gradient(farthest-side,rgba(0,0,0,0) calc(100% - var(--size)),#000 0);animation:spinner 1s infinite linear}@keyframes spinner{to{transform:rotate(1turn)}}.dots-spinner{--dot: no-repeat radial-gradient(farthest-side, var(--loader-color) 92%, #0000);--size: calc(var(--loader-size) / 4);width:var(--loader-size);aspect-ratio:1;background:var(--dot) top,var(--dot) left,var(--dot) right,var(--dot) bottom;background-size:var(--size) var(--size);animation:dots-spinner 1s infinite}@keyframes dots-spinner{to{transform:rotate(.5turn)}}.wheel-spinner{--size: calc(var(--loader-size) / 9);width:var(--loader-size);aspect-ratio:1;border-radius:50%;background:var(--loader-color);mask:repeating-conic-gradient(rgba(0,0,0,0) 0deg,#000 1deg 70deg,rgba(0,0,0,0) 71deg 90deg),radial-gradient(farthest-side,rgba(0,0,0,0) calc(100% - var(--size) - 1px),#000 calc(100% - var(--size)));-webkit-mask-composite:destination-in;mask-composite:intersect;animation:wheel-spinner 1s infinite}@keyframes wheel-spinner{to{transform:rotate(.5turn)}}\n"] }]
|
190
|
+
}], propDecorators: { loaderSize: [{
|
191
|
+
type: HostBinding,
|
192
|
+
args: ['style.--loader-size']
|
193
|
+
}], loaderColor: [{
|
194
|
+
type: HostBinding,
|
195
|
+
args: ['style.--loader-color']
|
196
|
+
}], mode: [{
|
197
|
+
type: Input,
|
198
|
+
args: [{ required: true }]
|
199
|
+
}], size: [{
|
200
|
+
type: Input,
|
201
|
+
args: [{ required: false }]
|
202
|
+
}], color: [{
|
203
|
+
type: Input,
|
204
|
+
args: [{ required: false }]
|
205
|
+
}], padding: [{
|
206
|
+
type: Input,
|
207
|
+
args: [{ required: false }]
|
113
208
|
}] } });
|
114
209
|
|
115
210
|
const NGX_HELPER_PAGE_GROUP_DATA = new InjectionToken('NGX-HELPER-PAGE-GROUP-DATA');
|
116
211
|
const NGX_HELPER_PAGE_GROUP_INDEX = new InjectionToken('NGX-HELPER-PAGE-GROUP-INDEX');
|
117
212
|
const NGX_HELPER_PAGE_GROUP_TITLE = new InjectionToken('NGX-HELPER-PAGE-GROUP-TITLE');
|
213
|
+
const NGX_HELPER_PAGE_GROUP_ICON = new InjectionToken('NGX-HELPER-PAGE-GROUP-ICON');
|
118
214
|
|
119
215
|
class NgxHelperPageGroupComponent {
|
120
216
|
activatedRoute;
|
@@ -173,6 +269,7 @@ class NgxHelperPageGroupComponent {
|
|
173
269
|
{ provide: NGX_HELPER_PAGE_GROUP_DATA, useValue: this.data },
|
174
270
|
{ provide: NGX_HELPER_PAGE_GROUP_INDEX, useValue: this.pageIndex },
|
175
271
|
{ provide: NGX_HELPER_PAGE_GROUP_TITLE, useValue: this.pageGroup.pages[this.pageIndex].title },
|
272
|
+
{ provide: NGX_HELPER_PAGE_GROUP_ICON, useValue: this.pageGroup.pages[this.pageIndex].icon },
|
176
273
|
],
|
177
274
|
});
|
178
275
|
}
|
@@ -190,10 +287,10 @@ class NgxHelperPageGroupComponent {
|
|
190
287
|
this.router.navigate(this.pageGroup.route, { queryParams });
|
191
288
|
}
|
192
289
|
}
|
193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
194
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
290
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPageGroupComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: ComponentService }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
291
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: NgxHelperPageGroupComponent, isStandalone: true, selector: "ngx-helper-page-group", inputs: { pageGroup: "pageGroup", pageIndex: "pageIndex", data: "data" }, outputs: { pageIndexChanged: "pageIndexChanged" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "className": "this.className", "style.display": "this.display" } }, providers: [ComponentService], usesOnChanges: true, ngImport: i0, template: "@if (pageGroup.pages.length > 0) {\n<!-- DESKTOP VIEW -->\n@if (!isMobile) {\n<aside\n [style.width]=\"sidebarWidth\"\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"componentConfig.stickyView?.top?.desktopView || undefined\"\n>\n @for (item of pageGroup.pages; track $index) {\n <div\n class=\"page\"\n [class.active]=\"pageIndex === $index\"\n [style.cursor]=\"pageIndex === $index ? 'default' : 'pointer'\"\n (click)=\"setPage($index)\"\n >\n <!-- ICON -->\n <mat-icon>{{ item.icon }}</mat-icon>\n <div class=\"title\">{{ item.title }}</div>\n <!-- CURRENT PAGE -->\n @if (pageIndex === $index) { <mat-icon>keyboard_double_arrow_left</mat-icon> }\n </div>\n }\n</aside>\n}\n\n<!-- MOBILE VIEW -->\n@if (isMobile) {\n<nav\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"componentConfig.stickyView?.top?.mobileView || undefined\"\n>\n @for (item of pageGroup.pages; track $index) {\n <div\n class=\"page\"\n [class.active]=\"pageIndex === $index\"\n [style.cursor]=\"pageIndex === $index ? 'default' : 'pointer'\"\n (click)=\"setPage($index)\"\n >\n <mat-icon>{{ item.icon }}</mat-icon>\n @if (pageIndex === $index) {\n <div class=\"title\">{{ item.title }}</div>\n }\n </div>\n }\n</nav>\n\n<div\n class=\"toolbar-spacer\"\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"\n 'calc(' + (componentConfig.stickyView?.top?.mobileView || undefined) + ' + var(--ngx-helper-m3-toolbar-height))'\n \"\n></div>\n}\n\n<content>\n <!-- HEADER -->\n @if (pageGroup.header) {\n <header\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"\n (isMobile\n ? 'calc(' +\n (componentConfig.stickyView?.top?.mobileView || undefined) +\n ' + var(--ngx-helper-m3-toolbar-height) + 1rem)'\n : componentConfig.stickyView?.top?.desktopView) || undefined\n \"\n >\n <span *ngComponentOutlet=\"pageGroup.header; injector: injector\"></span>\n <div class=\"spacer\"></div>\n </header>\n }\n <span *ngComponentOutlet=\"pageGroup.pages[pageIndex].component; injector: injector\"></span>\n</content>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
195
292
|
}
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPageGroupComponent, decorators: [{
|
197
294
|
type: Component,
|
198
295
|
args: [{ selector: 'ngx-helper-page-group', host: { '(window:resize)': 'onResize($event)' }, imports: [NgComponentOutlet, MatIcon], providers: [ComponentService], template: "@if (pageGroup.pages.length > 0) {\n<!-- DESKTOP VIEW -->\n@if (!isMobile) {\n<aside\n [style.width]=\"sidebarWidth\"\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"componentConfig.stickyView?.top?.desktopView || undefined\"\n>\n @for (item of pageGroup.pages; track $index) {\n <div\n class=\"page\"\n [class.active]=\"pageIndex === $index\"\n [style.cursor]=\"pageIndex === $index ? 'default' : 'pointer'\"\n (click)=\"setPage($index)\"\n >\n <!-- ICON -->\n <mat-icon>{{ item.icon }}</mat-icon>\n <div class=\"title\">{{ item.title }}</div>\n <!-- CURRENT PAGE -->\n @if (pageIndex === $index) { <mat-icon>keyboard_double_arrow_left</mat-icon> }\n </div>\n }\n</aside>\n}\n\n<!-- MOBILE VIEW -->\n@if (isMobile) {\n<nav\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"componentConfig.stickyView?.top?.mobileView || undefined\"\n>\n @for (item of pageGroup.pages; track $index) {\n <div\n class=\"page\"\n [class.active]=\"pageIndex === $index\"\n [style.cursor]=\"pageIndex === $index ? 'default' : 'pointer'\"\n (click)=\"setPage($index)\"\n >\n <mat-icon>{{ item.icon }}</mat-icon>\n @if (pageIndex === $index) {\n <div class=\"title\">{{ item.title }}</div>\n }\n </div>\n }\n</nav>\n\n<div\n class=\"toolbar-spacer\"\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"\n 'calc(' + (componentConfig.stickyView?.top?.mobileView || undefined) + ' + var(--ngx-helper-m3-toolbar-height))'\n \"\n></div>\n}\n\n<content>\n <!-- HEADER -->\n @if (pageGroup.header) {\n <header\n [style.position]=\"componentConfig.stickyView?.top ? 'sticky' : 'static'\"\n [style.top]=\"\n (isMobile\n ? 'calc(' +\n (componentConfig.stickyView?.top?.mobileView || undefined) +\n ' + var(--ngx-helper-m3-toolbar-height) + 1rem)'\n : componentConfig.stickyView?.top?.desktopView) || undefined\n \"\n >\n <span *ngComponentOutlet=\"pageGroup.header; injector: injector\"></span>\n <div class=\"spacer\"></div>\n </header>\n }\n <span *ngComponentOutlet=\"pageGroup.pages[pageIndex].component; injector: injector\"></span>\n</content>\n}\n" }]
|
199
296
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: ComponentService }, { type: undefined, decorators: [{
|
@@ -263,10 +360,10 @@ class NgxHelperSectionStickyDirective {
|
|
263
360
|
break;
|
264
361
|
}
|
265
362
|
}
|
266
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
267
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.
|
363
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSectionStickyDirective, deps: [{ token: i0.ElementRef }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
364
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.4", type: NgxHelperSectionStickyDirective, isStandalone: true, selector: "[ngxHelperSectionSticky]", inputs: { ngxHelperSectionSticky: "ngxHelperSectionSticky", ngxHelperSectionZIndex: "ngxHelperSectionZIndex" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0 });
|
268
365
|
}
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
366
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSectionStickyDirective, decorators: [{
|
270
367
|
type: Directive,
|
271
368
|
args: [{
|
272
369
|
selector: '[ngxHelperSectionSticky]',
|
@@ -304,10 +401,10 @@ class NgxHelperSectionComponent {
|
|
304
401
|
onResize() {
|
305
402
|
this.isMobile = window.innerWidth <= this.componentConfig.mobileWidth;
|
306
403
|
}
|
307
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
308
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.
|
404
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSectionComponent, deps: [{ token: ComponentService }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
405
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: NgxHelperSectionComponent, isStandalone: true, selector: "ngx-helper-section", inputs: { gapSize: "gapSize" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "style.--section-gap": "this.gap" } }, providers: [ComponentService], ngImport: i0, template: "<div class=\"columns\" [class.mobile]=\"isMobile\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;direction:rtl}:host .columns{display:flex;align-items:flex-start;column-gap:var(--section-gap)}:host ::ng-deep ngx-helper-section-column{flex:1;display:flex;flex-direction:column;row-gap:var(--section-gap)}:host .mobile{flex-direction:column;column-gap:0;row-gap:var(--section-gap)}:host .mobile ::ng-deep ngx-helper-section-column{width:100%!important}\n"] });
|
309
406
|
}
|
310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSectionComponent, decorators: [{
|
311
408
|
type: Component,
|
312
409
|
args: [{ selector: 'ngx-helper-section', host: { '(window:resize)': 'onResize($event)' }, imports: [], providers: [ComponentService], template: "<div class=\"columns\" [class.mobile]=\"isMobile\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;direction:rtl}:host .columns{display:flex;align-items:flex-start;column-gap:var(--section-gap)}:host ::ng-deep ngx-helper-section-column{flex:1;display:flex;flex-direction:column;row-gap:var(--section-gap)}:host .mobile{flex-direction:column;column-gap:0;row-gap:var(--section-gap)}:host .mobile ::ng-deep ngx-helper-section-column{width:100%!important}\n"] }]
|
313
410
|
}], ctorParameters: () => [{ type: ComponentService }, { type: undefined, decorators: [{
|
@@ -333,10 +430,10 @@ class NgxHelperSectionColumnComponent {
|
|
333
430
|
this.flexStyle = this.width ? 'unset' : this.flex?.toString() || '1';
|
334
431
|
this.widthStyle = this.width || '*';
|
335
432
|
}
|
336
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
337
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.
|
433
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSectionColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
434
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: NgxHelperSectionColumnComponent, isStandalone: true, selector: "ngx-helper-section-column", inputs: { flex: "flex", width: "width", sticky: "sticky" }, host: { properties: { "style.flex": "this.flexStyle", "style.width": "this.widthStyle" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
|
338
435
|
}
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSectionColumnComponent, decorators: [{
|
340
437
|
type: Component,
|
341
438
|
args: [{ selector: 'ngx-helper-section-column', imports: [], template: "<ng-content></ng-content>\n" }]
|
342
439
|
}], propDecorators: { flexStyle: [{
|
@@ -356,9 +453,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
356
453
|
args: [{ required: false }]
|
357
454
|
}] } });
|
358
455
|
|
456
|
+
const ltrValues = ['BANK-CARD', 'MOBILE', 'NUMBER'];
|
457
|
+
|
359
458
|
class NgxHelperBankCardPipe {
|
360
459
|
transform(value, options) {
|
361
|
-
if (!Helper.IS.string(value) || value === '')
|
460
|
+
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
362
461
|
return '';
|
363
462
|
switch (options?.view) {
|
364
463
|
case 'BANK':
|
@@ -367,17 +466,17 @@ class NgxHelperBankCardPipe {
|
|
367
466
|
return Helper.STRING.getBankCardView(value, options?.join || '-');
|
368
467
|
}
|
369
468
|
}
|
370
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
371
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
469
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperBankCardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
470
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperBankCardPipe, isStandalone: true, name: "ngxHelperBankCard" });
|
372
471
|
}
|
373
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
472
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperBankCardPipe, decorators: [{
|
374
473
|
type: Pipe,
|
375
474
|
args: [{ name: 'ngxHelperBankCard' }]
|
376
475
|
}] });
|
377
476
|
|
378
477
|
class NgxHelperDatePipe {
|
379
478
|
transform(value, options) {
|
380
|
-
if (
|
479
|
+
if (value === undefined || value === null || (!Helper.IS.date(value) && !Helper.IS.number(value)))
|
381
480
|
return '';
|
382
481
|
const date = typeof value === 'number' ? new Date(value) : value;
|
383
482
|
const jalali = JalaliDateTime();
|
@@ -402,16 +501,18 @@ class NgxHelperDatePipe {
|
|
402
501
|
return jalali.toFullText(date, { format: options?.format, timezone });
|
403
502
|
}
|
404
503
|
}
|
405
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
406
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
504
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
505
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperDatePipe, isStandalone: true, name: "ngxHelperDate" });
|
407
506
|
}
|
408
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperDatePipe, decorators: [{
|
409
508
|
type: Pipe,
|
410
509
|
args: [{ name: 'ngxHelperDate' }]
|
411
510
|
}] });
|
412
511
|
|
413
512
|
class NgxHelperDurationPipe {
|
414
513
|
transform(value, options) {
|
514
|
+
if (value === undefined || value === null)
|
515
|
+
return '';
|
415
516
|
let seconds = 0;
|
416
517
|
if (Helper.IS.number(value))
|
417
518
|
seconds = Math.abs(value);
|
@@ -450,94 +551,80 @@ class NgxHelperDurationPipe {
|
|
450
551
|
return Helper.NUMBER.format(days * 24 * 3600 + hours * 3600 + minutes * 60 + seconds, !!options?.english ? 'EN' : 'FA');
|
451
552
|
}
|
452
553
|
}
|
453
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
454
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
554
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperDurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
555
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperDurationPipe, isStandalone: true, name: "ngxHelperDuration" });
|
455
556
|
}
|
456
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
557
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperDurationPipe, decorators: [{
|
457
558
|
type: Pipe,
|
458
559
|
args: [{ name: 'ngxHelperDuration' }]
|
459
560
|
}] });
|
460
561
|
|
461
562
|
class NgxHelperFileSizePipe {
|
462
|
-
transform(
|
463
|
-
|
563
|
+
transform(value, options) {
|
564
|
+
if (value === undefined || value === null || !Helper.IS.number(value))
|
565
|
+
return '';
|
566
|
+
return Helper.NUMBER.toFileSize(value, !!options?.english ? 'EN' : 'FA');
|
464
567
|
}
|
465
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
466
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
568
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperFileSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
569
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperFileSizePipe, isStandalone: true, name: "ngxHelperFileSize" });
|
467
570
|
}
|
468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperFileSizePipe, decorators: [{
|
469
572
|
type: Pipe,
|
470
573
|
args: [{ name: 'ngxHelperFileSize' }]
|
471
574
|
}] });
|
472
575
|
|
473
576
|
class NgxHelperMobilePipe {
|
474
577
|
transform(value, options) {
|
475
|
-
if (!Helper.IS.string(value) || value === '')
|
578
|
+
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
476
579
|
return '';
|
477
580
|
return Helper.STRING.getMobileView(value, options?.join || '-');
|
478
581
|
}
|
479
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
480
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
582
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperMobilePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
583
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperMobilePipe, isStandalone: true, name: "ngxHelperMobile" });
|
481
584
|
}
|
482
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperMobilePipe, decorators: [{
|
483
586
|
type: Pipe,
|
484
587
|
args: [{ name: 'ngxHelperMobile' }]
|
485
588
|
}] });
|
486
589
|
|
487
|
-
class NgxHelperMultiLinePipe {
|
488
|
-
sanitizer;
|
489
|
-
constructor(sanitizer) {
|
490
|
-
this.sanitizer = sanitizer;
|
491
|
-
}
|
492
|
-
transform(value, options) {
|
493
|
-
if (!Helper.IS.string(value) || value === '')
|
494
|
-
return '';
|
495
|
-
return options?.html
|
496
|
-
? this.sanitizer.bypassSecurityTrustHtml(value.replace(/(?:\r\n|\r|\n)/g, '<br />'))
|
497
|
-
: Helper.STRING.escapeHTML(value).replace(/(?:\r\n|\r|\n)/g, '<br />');
|
498
|
-
}
|
499
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMultiLinePipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
500
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMultiLinePipe, isStandalone: true, name: "ngxHelperMultiLine" });
|
501
|
-
}
|
502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperMultiLinePipe, decorators: [{
|
503
|
-
type: Pipe,
|
504
|
-
args: [{ name: 'ngxHelperMultiLine' }]
|
505
|
-
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }] });
|
506
|
-
|
507
590
|
class NgxHelperNumberPipe {
|
508
591
|
transform(value, options) {
|
509
|
-
if (!Helper.IS.number(value))
|
592
|
+
if (value === undefined || value === null || !Helper.IS.number(value))
|
510
593
|
return '';
|
511
594
|
value = options?.fractionDigits ? +value.toFixed(options?.fractionDigits) : value;
|
512
595
|
return Helper.NUMBER.format(value, options?.english ? 'EN' : 'FA');
|
513
596
|
}
|
514
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
515
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
597
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
598
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperNumberPipe, isStandalone: true, name: "ngxHelperNumber" });
|
516
599
|
}
|
517
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
600
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperNumberPipe, decorators: [{
|
518
601
|
type: Pipe,
|
519
602
|
args: [{ name: 'ngxHelperNumber' }]
|
520
603
|
}] });
|
521
604
|
|
522
605
|
class NgxHelperPeriodPipe {
|
523
606
|
transform(value, options) {
|
607
|
+
if (value === undefined || value === null)
|
608
|
+
return '';
|
524
609
|
const from = Helper.IS.date(value) ? value : 'from' in value ? value.from : new Date();
|
525
610
|
const to = Helper.IS.date(value) ? new Date() : 'to' in value ? value.to : new Date();
|
526
611
|
return Helper.DATE.jalaliPeriod(from, to, options?.timezone || '');
|
527
612
|
}
|
528
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
529
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
613
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPeriodPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
614
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPeriodPipe, isStandalone: true, name: "ngxHelperPeriod" });
|
530
615
|
}
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
616
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPeriodPipe, decorators: [{
|
532
617
|
type: Pipe,
|
533
618
|
args: [{ name: 'ngxHelperPeriod' }]
|
534
619
|
}] });
|
535
620
|
|
536
621
|
class NgxHelperPricePipe {
|
537
622
|
transform(value, options) {
|
538
|
-
if (!Helper.IS.number(value) || value < 0)
|
623
|
+
if (value === undefined || value === null || !Helper.IS.number(value) || value < 0)
|
539
624
|
return '';
|
540
625
|
const getPrice = (...titles) => {
|
626
|
+
if (value === undefined || value === null)
|
627
|
+
return '';
|
541
628
|
const price = Helper.NUMBER.format(+value.toFixed(2), !!options?.english ? 'EN' : 'FA');
|
542
629
|
const unit = titles[options?.short ? 0 : 1][options?.english ? 0 : 1];
|
543
630
|
const currency = options?.currency ? ' ' + options?.currency : '';
|
@@ -554,48 +641,21 @@ class NgxHelperPricePipe {
|
|
554
641
|
value /= 1000;
|
555
642
|
return getPrice(['B', 'د'], ['Billion', 'میلیارد']);
|
556
643
|
}
|
557
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
558
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
644
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
645
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPricePipe, isStandalone: true, name: "ngxHelperPrice" });
|
559
646
|
}
|
560
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
647
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperPricePipe, decorators: [{
|
561
648
|
type: Pipe,
|
562
649
|
args: [{ name: 'ngxHelperPrice' }]
|
563
650
|
}] });
|
564
651
|
|
565
|
-
class NgxHelperSafePipe {
|
566
|
-
domSanitizer;
|
567
|
-
constructor(domSanitizer) {
|
568
|
-
this.domSanitizer = domSanitizer;
|
569
|
-
}
|
570
|
-
transform(value, options) {
|
571
|
-
if (!Helper.IS.string(value) || value === '')
|
572
|
-
return '';
|
573
|
-
switch (options?.type || 'HTML') {
|
574
|
-
case 'STYLE':
|
575
|
-
return this.domSanitizer.bypassSecurityTrustStyle(value);
|
576
|
-
case 'SCRIPT':
|
577
|
-
return this.domSanitizer.bypassSecurityTrustScript(value);
|
578
|
-
case 'URL':
|
579
|
-
return this.domSanitizer.bypassSecurityTrustUrl(value);
|
580
|
-
case 'RESOURCE_URL':
|
581
|
-
return this.domSanitizer.bypassSecurityTrustResourceUrl(value);
|
582
|
-
case 'HTML':
|
583
|
-
return this.domSanitizer.bypassSecurityTrustHtml(value);
|
584
|
-
}
|
585
|
-
}
|
586
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperSafePipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
587
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperSafePipe, isStandalone: true, name: "ngxHelperSafe" });
|
588
|
-
}
|
589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxHelperSafePipe, decorators: [{
|
590
|
-
type: Pipe,
|
591
|
-
args: [{ name: 'ngxHelperSafe' }]
|
592
|
-
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }] });
|
593
|
-
|
594
652
|
class NgxHelperVolumePipe {
|
595
653
|
transform(value, options) {
|
596
|
-
if (!Helper.IS.number(value) || value < 0)
|
654
|
+
if (value === undefined || value === null || !Helper.IS.number(value) || value < 0)
|
597
655
|
return '';
|
598
656
|
const getVolume = (...titles) => {
|
657
|
+
if (value === undefined || value === null)
|
658
|
+
return '';
|
599
659
|
const volume = Helper.NUMBER.format(+value.toFixed(2), options?.english ? 'EN' : 'FA');
|
600
660
|
const shortIndex = options?.short ? 0 : 1;
|
601
661
|
const titleIndex = options?.english ? 0 : 1;
|
@@ -608,19 +668,21 @@ class NgxHelperVolumePipe {
|
|
608
668
|
value /= 1000;
|
609
669
|
return getVolume(['L', 'ل'], ['Liter', 'لیتر']);
|
610
670
|
}
|
611
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
612
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
671
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperVolumePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
672
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperVolumePipe, isStandalone: true, name: "ngxHelperVolume" });
|
613
673
|
}
|
614
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
674
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperVolumePipe, decorators: [{
|
615
675
|
type: Pipe,
|
616
676
|
args: [{ name: 'ngxHelperVolume' }]
|
617
677
|
}] });
|
618
678
|
|
619
679
|
class NgxHelperWeightPipe {
|
620
680
|
transform(value, options) {
|
621
|
-
if (!Helper.IS.number(value) || value < 0)
|
681
|
+
if (value === undefined || value === null || !Helper.IS.number(value) || value < 0)
|
622
682
|
return '';
|
623
683
|
const getWeight = (...titles) => {
|
684
|
+
if (value === undefined || value === null)
|
685
|
+
return '';
|
624
686
|
const weight = Helper.NUMBER.format(+value.toFixed(2), options?.english ? 'EN' : 'FA');
|
625
687
|
const shortIndex = options?.short ? 0 : 1;
|
626
688
|
const titleIndex = options?.english ? 0 : 1;
|
@@ -639,21 +701,292 @@ class NgxHelperWeightPipe {
|
|
639
701
|
value /= 1000;
|
640
702
|
return getWeight(['KT', 'ه'], ['Kilotonne', 'هزار تن']);
|
641
703
|
}
|
642
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
643
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.
|
704
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperWeightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
705
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperWeightPipe, isStandalone: true, name: "ngxHelperWeight" });
|
644
706
|
}
|
645
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperWeightPipe, decorators: [{
|
646
708
|
type: Pipe,
|
647
709
|
args: [{ name: 'ngxHelperWeight' }]
|
648
710
|
}] });
|
649
711
|
|
712
|
+
class NgxHelperValuePipe {
|
713
|
+
transform(value, options) {
|
714
|
+
const emptyText = options?.emptyText || '';
|
715
|
+
if (value === undefined || Helper.IS.empty(value))
|
716
|
+
return emptyText;
|
717
|
+
switch (value.type) {
|
718
|
+
case 'BANK-CARD':
|
719
|
+
return new NgxHelperBankCardPipe().transform(value.value, value) || emptyText;
|
720
|
+
case 'DATE':
|
721
|
+
return new NgxHelperDatePipe().transform(value.value, value) || emptyText;
|
722
|
+
case 'DURATION':
|
723
|
+
return new NgxHelperDurationPipe().transform(value.value, value) || emptyText;
|
724
|
+
case 'FILE-SIZE':
|
725
|
+
return new NgxHelperFileSizePipe().transform(value.value, value) || emptyText;
|
726
|
+
case 'MOBILE':
|
727
|
+
return new NgxHelperMobilePipe().transform(value.value, value) || emptyText;
|
728
|
+
case 'NUMBER':
|
729
|
+
return new NgxHelperNumberPipe().transform(value.value, value) || emptyText;
|
730
|
+
case 'PERIOD':
|
731
|
+
return new NgxHelperPeriodPipe().transform(value.value, value) || emptyText;
|
732
|
+
case 'PRICE':
|
733
|
+
return new NgxHelperPricePipe().transform(value.value, value) || emptyText;
|
734
|
+
case 'STRING':
|
735
|
+
return Helper.IS.string(value.value) ? value.value : emptyText;
|
736
|
+
case 'VOLUME':
|
737
|
+
return new NgxHelperVolumePipe().transform(value.value, value) || emptyText;
|
738
|
+
case 'WEIGHT':
|
739
|
+
return new NgxHelperWeightPipe().transform(value.value, value) || emptyText;
|
740
|
+
}
|
741
|
+
}
|
742
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
743
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValuePipe, isStandalone: true, name: "ngxHelperValue" });
|
744
|
+
}
|
745
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValuePipe, decorators: [{
|
746
|
+
type: Pipe,
|
747
|
+
args: [{ name: 'ngxHelperValue' }]
|
748
|
+
}] });
|
749
|
+
|
750
|
+
class NgxHelperValueBoxComponent {
|
751
|
+
router;
|
752
|
+
componentService;
|
753
|
+
config;
|
754
|
+
className = 'ngx-helper-m3-value-box';
|
755
|
+
gridTemplateColumns;
|
756
|
+
boxGap;
|
757
|
+
values;
|
758
|
+
column;
|
759
|
+
clearBox = false;
|
760
|
+
emptyText = 'نامشخص';
|
761
|
+
gapSize = '1rem';
|
762
|
+
hideShadow = false;
|
763
|
+
data = [];
|
764
|
+
copyIndex;
|
765
|
+
copyTimeout;
|
766
|
+
componentConfig;
|
767
|
+
pipeTransform = new NgxHelperValuePipe().transform;
|
768
|
+
constructor(router, componentService, config) {
|
769
|
+
this.router = router;
|
770
|
+
this.componentService = componentService;
|
771
|
+
this.config = config;
|
772
|
+
}
|
773
|
+
ngOnInit() {
|
774
|
+
this.componentConfig = this.componentService.getComponentConfig(this.config);
|
775
|
+
this.onResize();
|
776
|
+
}
|
777
|
+
ngOnChanges(changes) {
|
778
|
+
this.boxGap = this.gapSize;
|
779
|
+
this.className = `ngx-helper-m3-value-box${this.hideShadow ? ' hide-shadow' : ''}`;
|
780
|
+
this.data = this.values.map((item) => {
|
781
|
+
const value = item.value;
|
782
|
+
return value === undefined
|
783
|
+
? { title: item.title, value: '' }
|
784
|
+
: typeof value === 'string'
|
785
|
+
? { title: item.title, value: value.trim() }
|
786
|
+
: {
|
787
|
+
title: item.title,
|
788
|
+
value: this.pipeTransform(value),
|
789
|
+
action: item.action,
|
790
|
+
copyToClipboard: item.copyToClipboard,
|
791
|
+
ltr: ltrValues.includes(value.type),
|
792
|
+
english: 'english' in value && !!value.english,
|
793
|
+
};
|
794
|
+
});
|
795
|
+
}
|
796
|
+
onResize() {
|
797
|
+
if (this.values.length === 0)
|
798
|
+
return;
|
799
|
+
const isMobile = window.innerWidth <= this.componentConfig.mobileWidth;
|
800
|
+
const columnSize = this.column === undefined
|
801
|
+
? this.values.length - 1
|
802
|
+
: typeof this.column === 'number'
|
803
|
+
? this.column
|
804
|
+
: isMobile
|
805
|
+
? this.column.mobile || this.values.length - 1
|
806
|
+
: this.column.desktop || this.values.length - 1;
|
807
|
+
const column = columnSize < 0 || columnSize > this.values.length - 1 ? this.values.length - 1 : columnSize;
|
808
|
+
this.gridTemplateColumns = Array(column).fill('1fr').join(' ');
|
809
|
+
}
|
810
|
+
onClick(action) {
|
811
|
+
if (!action)
|
812
|
+
return;
|
813
|
+
const response = action();
|
814
|
+
if (response)
|
815
|
+
this.router.navigate(response);
|
816
|
+
}
|
817
|
+
onCopy(event, index) {
|
818
|
+
event.preventDefault();
|
819
|
+
if (this.copyTimeout)
|
820
|
+
clearTimeout(this.copyTimeout);
|
821
|
+
this.copyIndex = index;
|
822
|
+
this.copyTimeout = setTimeout(() => {
|
823
|
+
this.copyIndex = undefined;
|
824
|
+
this.copyTimeout = undefined;
|
825
|
+
}, 2000);
|
826
|
+
}
|
827
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValueBoxComponent, deps: [{ token: i1.Router }, { token: ComponentService }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
828
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: NgxHelperValueBoxComponent, isStandalone: true, selector: "ngx-helper-value-box", inputs: { values: "values", column: "column", clearBox: "clearBox", emptyText: "emptyText", gapSize: "gapSize", hideShadow: "hideShadow" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "className": "this.className", "style.grid-template-columns": "this.gridTemplateColumns", "style.--gap-size": "this.boxGap" } }, providers: [ComponentService], usesOnChanges: true, ngImport: i0, template: "@for (item of data; track $index) {\n<div class=\"box\" [class.clear-box]=\"clearBox\" [class.click]=\"!!item.action\">\n <div class=\"title\" (click)=\"onClick(item.action)\">{{ item.title }}</div>\n <div\n class=\"value\"\n [style.display]=\"'inline-block'\"\n [style.direction]=\"item.ltr ? 'ltr' : '*'\"\n [class.en]=\"item.english\"\n [class.empty]=\"!item.value\"\n (click)=\"onClick(item.action)\"\n >\n {{ item.value || emptyText }}\n </div>\n <!-- COPY TO CLIPBOARD -->\n @if (item.copyToClipboard && item.value) {\n <button mat-icon-button type=\"button\" [cdkCopyToClipboard]=\"item.value\" (click)=\"onCopy($event, $index)\">\n <mat-icon>{{ copyIndex === $index ? 'done_all' : 'copy' }}</mat-icon>\n </button>\n }\n</div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i3.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] });
|
829
|
+
}
|
830
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValueBoxComponent, decorators: [{
|
831
|
+
type: Component,
|
832
|
+
args: [{ selector: 'ngx-helper-value-box', host: { '(window:resize)': 'onResize($event)' }, imports: [ClipboardModule, MatIcon, MatIconButton], providers: [ComponentService], template: "@for (item of data; track $index) {\n<div class=\"box\" [class.clear-box]=\"clearBox\" [class.click]=\"!!item.action\">\n <div class=\"title\" (click)=\"onClick(item.action)\">{{ item.title }}</div>\n <div\n class=\"value\"\n [style.display]=\"'inline-block'\"\n [style.direction]=\"item.ltr ? 'ltr' : '*'\"\n [class.en]=\"item.english\"\n [class.empty]=\"!item.value\"\n (click)=\"onClick(item.action)\"\n >\n {{ item.value || emptyText }}\n </div>\n <!-- COPY TO CLIPBOARD -->\n @if (item.copyToClipboard && item.value) {\n <button mat-icon-button type=\"button\" [cdkCopyToClipboard]=\"item.value\" (click)=\"onCopy($event, $index)\">\n <mat-icon>{{ copyIndex === $index ? 'done_all' : 'copy' }}</mat-icon>\n </button>\n }\n</div>\n}\n" }]
|
833
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: ComponentService }, { type: undefined, decorators: [{
|
834
|
+
type: Optional
|
835
|
+
}, {
|
836
|
+
type: Inject,
|
837
|
+
args: [NGX_HELPER_CONFIG]
|
838
|
+
}] }], propDecorators: { className: [{
|
839
|
+
type: HostBinding,
|
840
|
+
args: ['className']
|
841
|
+
}], gridTemplateColumns: [{
|
842
|
+
type: HostBinding,
|
843
|
+
args: ['style.grid-template-columns']
|
844
|
+
}], boxGap: [{
|
845
|
+
type: HostBinding,
|
846
|
+
args: ['style.--gap-size']
|
847
|
+
}], values: [{
|
848
|
+
type: Input,
|
849
|
+
args: [{ required: true }]
|
850
|
+
}], column: [{
|
851
|
+
type: Input,
|
852
|
+
args: [{ required: false }]
|
853
|
+
}], clearBox: [{
|
854
|
+
type: Input,
|
855
|
+
args: [{ required: false }]
|
856
|
+
}], emptyText: [{
|
857
|
+
type: Input,
|
858
|
+
args: [{ required: false }]
|
859
|
+
}], gapSize: [{
|
860
|
+
type: Input,
|
861
|
+
args: [{ required: false }]
|
862
|
+
}], hideShadow: [{
|
863
|
+
type: Input,
|
864
|
+
args: [{ required: false }]
|
865
|
+
}] } });
|
866
|
+
|
867
|
+
class NgxHelperValueListComponent {
|
868
|
+
router;
|
869
|
+
className = 'ngx-helper-m3-value-list';
|
870
|
+
values;
|
871
|
+
titleWidth = '20%';
|
872
|
+
emptyText = 'نامشخص';
|
873
|
+
data = [];
|
874
|
+
copyIndex;
|
875
|
+
copyTimeout;
|
876
|
+
pipeTransform = new NgxHelperValuePipe().transform;
|
877
|
+
constructor(router) {
|
878
|
+
this.router = router;
|
879
|
+
}
|
880
|
+
ngOnChanges(changes) {
|
881
|
+
this.data = this.values.map((item) => {
|
882
|
+
const value = item.value;
|
883
|
+
return value === undefined
|
884
|
+
? { title: item.title, value: '' }
|
885
|
+
: typeof value === 'string'
|
886
|
+
? { title: item.title, value: value.trim() }
|
887
|
+
: {
|
888
|
+
title: item.title,
|
889
|
+
value: this.pipeTransform(value),
|
890
|
+
action: item.action,
|
891
|
+
copyToClipboard: item.copyToClipboard,
|
892
|
+
ltr: ltrValues.includes(value.type),
|
893
|
+
english: 'english' in value && !!value.english,
|
894
|
+
};
|
895
|
+
});
|
896
|
+
}
|
897
|
+
onClick(action) {
|
898
|
+
if (!action)
|
899
|
+
return;
|
900
|
+
const response = action();
|
901
|
+
if (response)
|
902
|
+
this.router.navigate(response);
|
903
|
+
}
|
904
|
+
onCopy(event, index) {
|
905
|
+
event.preventDefault();
|
906
|
+
if (this.copyTimeout)
|
907
|
+
clearTimeout(this.copyTimeout);
|
908
|
+
this.copyIndex = index;
|
909
|
+
this.copyTimeout = setTimeout(() => {
|
910
|
+
this.copyIndex = undefined;
|
911
|
+
this.copyTimeout = undefined;
|
912
|
+
}, 2000);
|
913
|
+
}
|
914
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValueListComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
915
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: NgxHelperValueListComponent, isStandalone: true, selector: "ngx-helper-value-list", inputs: { values: "values", titleWidth: "titleWidth", emptyText: "emptyText" }, host: { properties: { "className": "this.className" } }, usesOnChanges: true, ngImport: i0, template: "@for (item of data; track $index) {\n<div class=\"item\" [class.even]=\"$index % 2 === 0\" [class.odd]=\"$index % 2 === 1\">\n <div class=\"title\" [style.width]=\"titleWidth\">{{ item.title }}:</div>\n <div class=\"value\">\n <div\n [style.display]=\"'inline-block'\"\n [style.direction]=\"item.ltr ? 'ltr' : '*'\"\n [class.en]=\"item.english\"\n [class.empty]=\"!item.value\"\n [class.click]=\"!!item.action\"\n (click)=\"onClick(item.action)\"\n >\n {{ item.value || emptyText }}\n </div>\n <!-- ACTION -->\n @if (item.action) {\n <button mat-icon-button type=\"button\" (click)=\"onClick(item.action)\">\n <mat-icon>open_in_new</mat-icon>\n </button>\n\n }\n </div>\n <!-- COPY TO CLIPBOARD -->\n @if (item.copyToClipboard && item.value) {\n <button mat-icon-button type=\"button\" [cdkCopyToClipboard]=\"item.value\" (click)=\"onCopy($event, $index)\">\n <mat-icon>{{ copyIndex === $index ? 'done_all' : 'copy' }}</mat-icon>\n </button>\n }\n</div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i3.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] });
|
916
|
+
}
|
917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperValueListComponent, decorators: [{
|
918
|
+
type: Component,
|
919
|
+
args: [{ selector: 'ngx-helper-value-list', imports: [ClipboardModule, MatIcon, MatIconButton], template: "@for (item of data; track $index) {\n<div class=\"item\" [class.even]=\"$index % 2 === 0\" [class.odd]=\"$index % 2 === 1\">\n <div class=\"title\" [style.width]=\"titleWidth\">{{ item.title }}:</div>\n <div class=\"value\">\n <div\n [style.display]=\"'inline-block'\"\n [style.direction]=\"item.ltr ? 'ltr' : '*'\"\n [class.en]=\"item.english\"\n [class.empty]=\"!item.value\"\n [class.click]=\"!!item.action\"\n (click)=\"onClick(item.action)\"\n >\n {{ item.value || emptyText }}\n </div>\n <!-- ACTION -->\n @if (item.action) {\n <button mat-icon-button type=\"button\" (click)=\"onClick(item.action)\">\n <mat-icon>open_in_new</mat-icon>\n </button>\n\n }\n </div>\n <!-- COPY TO CLIPBOARD -->\n @if (item.copyToClipboard && item.value) {\n <button mat-icon-button type=\"button\" [cdkCopyToClipboard]=\"item.value\" (click)=\"onCopy($event, $index)\">\n <mat-icon>{{ copyIndex === $index ? 'done_all' : 'copy' }}</mat-icon>\n </button>\n }\n</div>\n}\n" }]
|
920
|
+
}], ctorParameters: () => [{ type: i1.Router }], propDecorators: { className: [{
|
921
|
+
type: HostBinding,
|
922
|
+
args: ['className']
|
923
|
+
}], values: [{
|
924
|
+
type: Input,
|
925
|
+
args: [{ required: true }]
|
926
|
+
}], titleWidth: [{
|
927
|
+
type: Input,
|
928
|
+
args: [{ required: false }]
|
929
|
+
}], emptyText: [{
|
930
|
+
type: Input,
|
931
|
+
args: [{ required: false }]
|
932
|
+
}] } });
|
933
|
+
|
934
|
+
class NgxHelperMultiLinePipe {
|
935
|
+
domSanitizer;
|
936
|
+
constructor(domSanitizer) {
|
937
|
+
this.domSanitizer = domSanitizer;
|
938
|
+
}
|
939
|
+
transform(value, options) {
|
940
|
+
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
941
|
+
return '';
|
942
|
+
return options?.html
|
943
|
+
? this.domSanitizer.bypassSecurityTrustHtml(value.replace(/(?:\r\n|\r|\n)/g, '<br />'))
|
944
|
+
: Helper.STRING.escapeHTML(value).replace(/(?:\r\n|\r|\n)/g, '<br />');
|
945
|
+
}
|
946
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperMultiLinePipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
947
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperMultiLinePipe, isStandalone: true, name: "ngxHelperMultiLine" });
|
948
|
+
}
|
949
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperMultiLinePipe, decorators: [{
|
950
|
+
type: Pipe,
|
951
|
+
args: [{ name: 'ngxHelperMultiLine' }]
|
952
|
+
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }] });
|
953
|
+
|
954
|
+
class NgxHelperSafePipe {
|
955
|
+
domSanitizer;
|
956
|
+
constructor(domSanitizer) {
|
957
|
+
this.domSanitizer = domSanitizer;
|
958
|
+
}
|
959
|
+
transform(value, options) {
|
960
|
+
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
961
|
+
return '';
|
962
|
+
switch (options?.type || 'HTML') {
|
963
|
+
case 'STYLE':
|
964
|
+
return this.domSanitizer.bypassSecurityTrustStyle(value);
|
965
|
+
case 'SCRIPT':
|
966
|
+
return this.domSanitizer.bypassSecurityTrustScript(value);
|
967
|
+
case 'URL':
|
968
|
+
return this.domSanitizer.bypassSecurityTrustUrl(value);
|
969
|
+
case 'RESOURCE_URL':
|
970
|
+
return this.domSanitizer.bypassSecurityTrustResourceUrl(value);
|
971
|
+
case 'HTML':
|
972
|
+
return this.domSanitizer.bypassSecurityTrustHtml(value);
|
973
|
+
}
|
974
|
+
}
|
975
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSafePipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
976
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSafePipe, isStandalone: true, name: "ngxHelperSafe" });
|
977
|
+
}
|
978
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperSafePipe, decorators: [{
|
979
|
+
type: Pipe,
|
980
|
+
args: [{ name: 'ngxHelperSafe' }]
|
981
|
+
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }] });
|
982
|
+
|
650
983
|
class ConfirmDialogComponent {
|
651
984
|
className = 'ngx-helper-m3-confirm';
|
652
985
|
confirm = inject(MAT_DIALOG_DATA);
|
653
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
654
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
986
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
987
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: ConfirmDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-dialog" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <mat-icon>{{ confirm.icon }}</mat-icon>\n }\n\n <!-- CONTENT -->\n <div class=\"confirm\">\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<footer>\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</footer>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
655
988
|
}
|
656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
989
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
657
990
|
type: Component,
|
658
991
|
args: [{ host: { selector: 'confirm-dialog' }, imports: [NgClass, MatButtonModule, MatDialogModule, MatIconModule], template: "<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <mat-icon>{{ confirm.icon }}</mat-icon>\n }\n\n <!-- CONTENT -->\n <div class=\"confirm\">\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<footer>\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</footer>\n" }]
|
659
992
|
}], propDecorators: { className: [{
|
@@ -671,10 +1004,10 @@ class ConfirmBottomSheetComponent {
|
|
671
1004
|
close(confirmed) {
|
672
1005
|
this.matBottomSheetRef.dismiss(confirmed);
|
673
1006
|
}
|
674
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
675
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
1007
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ConfirmBottomSheetComponent, deps: [{ token: i1$3.MatBottomSheetRef }], target: i0.ɵɵFactoryTarget.Component });
|
1008
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: ConfirmBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-bottom-sheet" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <mat-icon>{{ confirm.icon }}</mat-icon>\n }\n\n <!-- CONTENT -->\n <div class=\"confirm\">\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<footer>\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</footer>\n", styles: ["::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.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$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
676
1009
|
}
|
677
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
1010
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ConfirmBottomSheetComponent, decorators: [{
|
678
1011
|
type: Component,
|
679
1012
|
args: [{ host: { selector: 'confirm-bottom-sheet' }, imports: [NgClass, MatButtonModule, MatIconModule], template: "<content>\n <!-- ICON -->\n @if (confirm.icon) {\n <mat-icon>{{ confirm.icon }}</mat-icon>\n }\n\n <!-- CONTENT -->\n <div class=\"confirm\">\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<footer>\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</footer>\n", styles: ["::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"] }]
|
680
1013
|
}], ctorParameters: () => [{ type: i1$3.MatBottomSheetRef }], propDecorators: { className: [{
|
@@ -771,10 +1104,10 @@ class NgxHelperConfirmService {
|
|
771
1104
|
denyClass: config?.denyClass,
|
772
1105
|
});
|
773
1106
|
}
|
774
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
775
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
1107
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperConfirmService, deps: [{ token: i1$3.MatBottomSheet }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
1108
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperConfirmService, providedIn: 'root' });
|
776
1109
|
}
|
777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
1110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperConfirmService, decorators: [{
|
778
1111
|
type: Injectable,
|
779
1112
|
args: [{ providedIn: 'root' }]
|
780
1113
|
}], ctorParameters: () => [{ type: i1$3.MatBottomSheet }, { type: i2$1.MatDialog }] });
|
@@ -806,10 +1139,10 @@ class ContainerDialogComponent {
|
|
806
1139
|
close() {
|
807
1140
|
this.matDialogRef.close();
|
808
1141
|
}
|
809
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
810
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
1142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ContainerDialogComponent, deps: [{ token: i2$1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
1143
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: ContainerDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "container-dialog" }, properties: { "className": "this.className" } }, 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()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n", styles: [""], 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"] }] });
|
811
1144
|
}
|
812
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
1145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ContainerDialogComponent, decorators: [{
|
813
1146
|
type: Component,
|
814
1147
|
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()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n" }]
|
815
1148
|
}], ctorParameters: () => [{ type: i2$1.MatDialogRef }], propDecorators: { className: [{
|
@@ -840,10 +1173,10 @@ class ContainerBottomSheetComponent {
|
|
840
1173
|
close() {
|
841
1174
|
this.matBottomSheetRef.dismiss();
|
842
1175
|
}
|
843
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
844
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
1176
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ContainerBottomSheetComponent, deps: [{ token: i1$3.MatBottomSheetRef }], target: i0.ɵɵFactoryTarget.Component });
|
1177
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: ContainerBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "container-bottom-sheet" }, properties: { "className": "this.className" } }, 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()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n", styles: ["::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"] }] });
|
845
1178
|
}
|
846
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
1179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: ContainerBottomSheetComponent, decorators: [{
|
847
1180
|
type: Component,
|
848
1181
|
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()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n</header>\n<content [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</content>\n", styles: ["::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"] }]
|
849
1182
|
}], ctorParameters: () => [{ type: i1$3.MatBottomSheetRef }], propDecorators: { className: [{
|
@@ -924,10 +1257,10 @@ class NgxHelperContainerService {
|
|
924
1257
|
const config = arg1 || {};
|
925
1258
|
return new NgxHelperContainerCalss(this.matBottomSheet, this.matDialog, { component, title, config });
|
926
1259
|
}
|
927
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
928
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
1260
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperContainerService, deps: [{ token: i1$3.MatBottomSheet }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
1261
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperContainerService, providedIn: 'root' });
|
929
1262
|
}
|
930
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
1263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: NgxHelperContainerService, decorators: [{
|
931
1264
|
type: Injectable,
|
932
1265
|
args: [{ providedIn: 'root' }]
|
933
1266
|
}], ctorParameters: () => [{ type: i1$3.MatBottomSheet }, { type: i2$1.MatDialog }] });
|
@@ -940,5 +1273,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
940
1273
|
* Generated bundle index. Do not edit.
|
941
1274
|
*/
|
942
1275
|
|
943
|
-
export { NGX_HELPER_CONFIG, NGX_HELPER_CONTAINER_CLOSE, NGX_HELPER_CONTAINER_DATA, NGX_HELPER_CONTAINER_TYPE, NGX_HELPER_PAGE_GROUP_DATA, NGX_HELPER_PAGE_GROUP_INDEX, NGX_HELPER_PAGE_GROUP_TITLE, NgxHelperBankCardPipe, NgxHelperCardComponent, NgxHelperConfirmService, NgxHelperContainerService, NgxHelperDatePipe, NgxHelperDurationPipe, NgxHelperFileSizePipe, NgxHelperMobilePipe, NgxHelperMultiLinePipe, NgxHelperNumberPipe, NgxHelperPageGroupComponent, NgxHelperPeriodPipe, NgxHelperPricePipe, NgxHelperSafePipe, NgxHelperSectionColumnComponent, NgxHelperSectionComponent, NgxHelperSectionStickyDirective, NgxHelperVolumePipe, NgxHelperWeightPipe, provideNgxHelperConfig };
|
1276
|
+
export { NGX_HELPER_BOX_DATA, NGX_HELPER_CONFIG, NGX_HELPER_CONTAINER_CLOSE, NGX_HELPER_CONTAINER_DATA, NGX_HELPER_CONTAINER_TYPE, NGX_HELPER_PAGE_GROUP_DATA, NGX_HELPER_PAGE_GROUP_ICON, NGX_HELPER_PAGE_GROUP_INDEX, NGX_HELPER_PAGE_GROUP_TITLE, NgxHelperBankCardPipe, NgxHelperBoxComponent, NgxHelperCardComponent, NgxHelperConfirmService, NgxHelperContainerService, NgxHelperDatePipe, NgxHelperDurationPipe, NgxHelperFileSizePipe, NgxHelperLoaderComponent, NgxHelperMobilePipe, NgxHelperMultiLinePipe, NgxHelperNumberPipe, NgxHelperPageGroupComponent, NgxHelperPeriodPipe, NgxHelperPricePipe, NgxHelperSafePipe, NgxHelperSectionColumnComponent, NgxHelperSectionComponent, NgxHelperSectionStickyDirective, NgxHelperValueBoxComponent, NgxHelperValueListComponent, NgxHelperValuePipe, NgxHelperVolumePipe, NgxHelperWeightPipe, provideNgxHelperConfig };
|
944
1277
|
//# sourceMappingURL=webilix-ngx-helper-m3.mjs.map
|