@webilix/ngx-helper-m3 0.0.15 → 0.0.16
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 +198 -135
- package/fesm2022/webilix-ngx-helper-m3.mjs.map +1 -1
- package/lib/components/section/column/ngx-helper-section-column.component.d.ts +16 -3
- package/lib/directives/ngx-helper-sticky.directive.d.ts +19 -0
- package/ngx-helper-m3.css +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +9 -9
- package/lib/components/section/ngx-helper-section-sticky.directive.d.ts +0 -18
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { InjectionToken, makeEnvironmentProviders, Injector, Component, HostBinding, Input, Pipe, Injectable, Optional, Inject, EventEmitter, Output, inject,
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, Injector, Component, HostBinding, Input, Pipe, Injectable, Optional, Inject, EventEmitter, Output, inject, HostListener, createComponent, Directive } from '@angular/core';
|
3
3
|
import { NgComponentOutlet, NgClass } from '@angular/common';
|
4
|
-
import * as i1$
|
4
|
+
import * as i1$1 from '@angular/material/button';
|
5
5
|
import { MatButton, MatIconButton, MatButtonModule } from '@angular/material/button';
|
6
6
|
import { MatDivider } from '@angular/material/divider';
|
7
7
|
import * as i3$1 from '@angular/material/icon';
|
@@ -13,14 +13,14 @@ import { JalaliDateTime } from '@webilix/jalali-date-time';
|
|
13
13
|
import * as i1 from '@angular/router';
|
14
14
|
import * as i3 from '@angular/cdk/clipboard';
|
15
15
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
16
|
-
import * as i1$1 from '@angular/platform-browser';
|
17
16
|
import * as i2$1 from '@angular/material/dialog';
|
18
17
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
19
|
-
import * as i1$
|
18
|
+
import * as i1$2 from '@angular/material/bottom-sheet';
|
20
19
|
import { MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';
|
21
20
|
import { trigger, transition, style, animate } from '@angular/animations';
|
22
21
|
import * as i1$4 from '@angular/common/http';
|
23
22
|
import { HttpHeaders, HttpEventType } from '@angular/common/http';
|
23
|
+
import * as i1$3 from '@angular/platform-browser';
|
24
24
|
|
25
25
|
const NGX_HELPER_CONFIG = new InjectionToken('NGX-HELPER-CONFIG');
|
26
26
|
const provideNgxHelperConfig = (config) => {
|
@@ -449,11 +449,11 @@ class NgxHelperCardComponent {
|
|
449
449
|
this.isMobile = window.innerWidth <= this.componentConfig.mobileWidth;
|
450
450
|
}
|
451
451
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperCardComponent, deps: [{ token: ComponentService }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
452
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", 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: "<div class=\"card-header\" [class.has-sub-title]=\"subTitle\">\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</div>\n\n<div class=\"card-content\" [style.padding]=\"padding\" [style.background-color]=\"backgroundColor\">\n <ng-content></ng-content>\n</div>\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"] }] });
|
452
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", 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: "<div class=\"card-header\" [class.has-sub-title]=\"subTitle\">\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\" [xPosition]=\"'before'\">\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</div>\n\n<div class=\"card-content\" [style.padding]=\"padding\" [style.background-color]=\"backgroundColor\">\n <ng-content></ng-content>\n</div>\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"] }] });
|
453
453
|
}
|
454
454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperCardComponent, decorators: [{
|
455
455
|
type: Component,
|
456
|
-
args: [{ selector: 'ngx-helper-card', host: { '(window:resize)': 'onResize($event)' }, imports: [NgClass, MatButton, MatDivider, MatIcon, MatMenuModule], providers: [ComponentService], template: "<div class=\"card-header\" [class.has-sub-title]=\"subTitle\">\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</div>\n\n<div class=\"card-content\" [style.padding]=\"padding\" [style.background-color]=\"backgroundColor\">\n <ng-content></ng-content>\n</div>\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"] }]
|
456
|
+
args: [{ selector: 'ngx-helper-card', host: { '(window:resize)': 'onResize($event)' }, imports: [NgClass, MatButton, MatDivider, MatIcon, MatMenuModule], providers: [ComponentService], template: "<div class=\"card-header\" [class.has-sub-title]=\"subTitle\">\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\" [xPosition]=\"'before'\">\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</div>\n\n<div class=\"card-content\" [style.padding]=\"padding\" [style.background-color]=\"backgroundColor\">\n <ng-content></ng-content>\n</div>\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"] }]
|
457
457
|
}], ctorParameters: () => [{ type: ComponentService }, { type: undefined, decorators: [{
|
458
458
|
type: Optional
|
459
459
|
}, {
|
@@ -715,71 +715,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
715
715
|
args: [{ required: false }]
|
716
716
|
}] } });
|
717
717
|
|
718
|
-
class NgxHelperSectionStickyDirective {
|
719
|
-
elementRef;
|
720
|
-
config;
|
721
|
-
ngxHelperSectionSticky;
|
722
|
-
ngxHelperSectionZIndex;
|
723
|
-
componentService = inject(ComponentService);
|
724
|
-
componentConfig;
|
725
|
-
isMobile = false;
|
726
|
-
constructor(elementRef, config) {
|
727
|
-
this.elementRef = elementRef;
|
728
|
-
this.config = config;
|
729
|
-
}
|
730
|
-
ngOnInit() {
|
731
|
-
this.componentConfig = this.componentService.getComponentConfig(this.config);
|
732
|
-
this.onResize();
|
733
|
-
}
|
734
|
-
onResize() {
|
735
|
-
this.isMobile = window.innerWidth <= this.componentConfig.mobileWidth;
|
736
|
-
this.setPosition();
|
737
|
-
}
|
738
|
-
setPosition() {
|
739
|
-
const element = this.elementRef.nativeElement;
|
740
|
-
if (!element)
|
741
|
-
return;
|
742
|
-
switch (this.ngxHelperSectionSticky) {
|
743
|
-
case 'TOP':
|
744
|
-
const top = this.componentConfig.stickyView?.top;
|
745
|
-
if (!top)
|
746
|
-
return;
|
747
|
-
element.style.position = 'sticky';
|
748
|
-
element.style.zIndex = this.ngxHelperSectionZIndex ? this.ngxHelperSectionZIndex.toString() : '1';
|
749
|
-
element.style.top = this.isMobile ? top.mobileView : top.desktopView;
|
750
|
-
break;
|
751
|
-
case 'BOTTOM':
|
752
|
-
const bottom = this.componentConfig.stickyView?.bottom;
|
753
|
-
if (!bottom)
|
754
|
-
return;
|
755
|
-
element.style.position = 'sticky';
|
756
|
-
element.style.zIndex = this.ngxHelperSectionZIndex ? this.ngxHelperSectionZIndex.toString() : '1';
|
757
|
-
element.style.bottom = this.isMobile ? bottom.mobileView : bottom.desktopView;
|
758
|
-
break;
|
759
|
-
}
|
760
|
-
}
|
761
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSectionStickyDirective, deps: [{ token: i0.ElementRef }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
762
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NgxHelperSectionStickyDirective, isStandalone: true, selector: "[ngxHelperSectionSticky]", inputs: { ngxHelperSectionSticky: "ngxHelperSectionSticky", ngxHelperSectionZIndex: "ngxHelperSectionZIndex" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0 });
|
763
|
-
}
|
764
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSectionStickyDirective, decorators: [{
|
765
|
-
type: Directive,
|
766
|
-
args: [{
|
767
|
-
selector: '[ngxHelperSectionSticky]',
|
768
|
-
host: { '(window:resize)': 'onResize($event)' },
|
769
|
-
}]
|
770
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
771
|
-
type: Optional
|
772
|
-
}, {
|
773
|
-
type: Inject,
|
774
|
-
args: [NGX_HELPER_CONFIG]
|
775
|
-
}] }], propDecorators: { ngxHelperSectionSticky: [{
|
776
|
-
type: Input,
|
777
|
-
args: [{ required: true }]
|
778
|
-
}], ngxHelperSectionZIndex: [{
|
779
|
-
type: Input,
|
780
|
-
args: [{ required: false }]
|
781
|
-
}] } });
|
782
|
-
|
783
718
|
class NgxHelperSectionComponent {
|
784
719
|
componentService;
|
785
720
|
config;
|
@@ -819,27 +754,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
819
754
|
}] } });
|
820
755
|
|
821
756
|
class NgxHelperSectionColumnComponent {
|
757
|
+
componentService;
|
758
|
+
config;
|
822
759
|
flexStyle = '1';
|
823
760
|
widthStyle = '*';
|
761
|
+
stickyPosition;
|
762
|
+
stickyZIndex;
|
763
|
+
stickyTop;
|
824
764
|
flex;
|
825
765
|
width;
|
826
766
|
sticky;
|
767
|
+
zIndex;
|
768
|
+
componentConfig;
|
769
|
+
isMobile = false;
|
770
|
+
constructor(componentService, config) {
|
771
|
+
this.componentService = componentService;
|
772
|
+
this.config = config;
|
773
|
+
}
|
827
774
|
ngOnChanges(changes) {
|
828
775
|
this.flexStyle = this.width ? 'unset' : this.flex?.toString() || '1';
|
829
776
|
this.widthStyle = this.width || '*';
|
777
|
+
this.componentConfig = this.componentService.getComponentConfig(this.config);
|
778
|
+
this.onResize();
|
830
779
|
}
|
831
|
-
|
832
|
-
|
780
|
+
onResize() {
|
781
|
+
this.isMobile = window.innerWidth <= this.componentConfig.mobileWidth;
|
782
|
+
this.setPosition();
|
783
|
+
}
|
784
|
+
setPosition() {
|
785
|
+
const top = this.componentConfig.stickyView?.top;
|
786
|
+
if (!top)
|
787
|
+
return;
|
788
|
+
const sticky = this.sticky === true ||
|
789
|
+
(this.sticky === 'DESKTOP' && !this.isMobile) ||
|
790
|
+
(this.sticky === 'MOBILE' && this.isMobile);
|
791
|
+
this.stickyPosition = sticky ? 'sticky' : 'static';
|
792
|
+
this.stickyZIndex = sticky ? (this.zIndex ? this.zIndex.toString() : '1') : 'auto';
|
793
|
+
this.stickyTop = sticky ? (this.isMobile ? top.mobileView : top.desktopView) : 'auto';
|
794
|
+
}
|
795
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSectionColumnComponent, deps: [{ token: ComponentService }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
796
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: NgxHelperSectionColumnComponent, isStandalone: true, selector: "ngx-helper-section-column", inputs: { flex: "flex", width: "width", sticky: "sticky", zIndex: "zIndex" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "style.flex": "this.flexStyle", "style.width": "this.widthStyle", "style.position": "this.stickyPosition", "style.zInde": "this.stickyZIndex", "style.top": "this.stickyTop" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
|
833
797
|
}
|
834
798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSectionColumnComponent, decorators: [{
|
835
799
|
type: Component,
|
836
|
-
args: [{ selector: 'ngx-helper-section-column', imports: [], template: "<ng-content></ng-content>\n" }]
|
837
|
-
}],
|
800
|
+
args: [{ selector: 'ngx-helper-section-column', host: { '(window:resize)': 'onResize($event)' }, imports: [], template: "<ng-content></ng-content>\n" }]
|
801
|
+
}], ctorParameters: () => [{ type: ComponentService }, { type: undefined, decorators: [{
|
802
|
+
type: Optional
|
803
|
+
}, {
|
804
|
+
type: Inject,
|
805
|
+
args: [NGX_HELPER_CONFIG]
|
806
|
+
}] }], propDecorators: { flexStyle: [{
|
838
807
|
type: HostBinding,
|
839
808
|
args: ['style.flex']
|
840
809
|
}], widthStyle: [{
|
841
810
|
type: HostBinding,
|
842
811
|
args: ['style.width']
|
812
|
+
}], stickyPosition: [{
|
813
|
+
type: HostBinding,
|
814
|
+
args: ['style.position']
|
815
|
+
}], stickyZIndex: [{
|
816
|
+
type: HostBinding,
|
817
|
+
args: ['style.zInde']
|
818
|
+
}], stickyTop: [{
|
819
|
+
type: HostBinding,
|
820
|
+
args: ['style.top']
|
843
821
|
}], flex: [{
|
844
822
|
type: Input,
|
845
823
|
args: [{ required: false }]
|
@@ -849,6 +827,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
849
827
|
}], sticky: [{
|
850
828
|
type: Input,
|
851
829
|
args: [{ required: false }]
|
830
|
+
}], zIndex: [{
|
831
|
+
type: Input,
|
832
|
+
args: [{ required: false }]
|
852
833
|
}] } });
|
853
834
|
|
854
835
|
class NgxHelperValueBoxComponent {
|
@@ -1007,60 +988,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
1007
988
|
args: [{ required: false }]
|
1008
989
|
}] } });
|
1009
990
|
|
1010
|
-
class NgxHelperMultiLinePipe {
|
1011
|
-
domSanitizer;
|
1012
|
-
constructor(domSanitizer) {
|
1013
|
-
this.domSanitizer = domSanitizer;
|
1014
|
-
}
|
1015
|
-
transform(value, options) {
|
1016
|
-
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
1017
|
-
return '';
|
1018
|
-
return options?.html
|
1019
|
-
? this.domSanitizer.bypassSecurityTrustHtml(value.replace(/(?:\r\n|\r|\n)/g, '<br />'))
|
1020
|
-
: Helper.STRING.escapeHTML(value).replace(/(?:\r\n|\r|\n)/g, '<br />');
|
1021
|
-
}
|
1022
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperMultiLinePipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
1023
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperMultiLinePipe, isStandalone: true, name: "ngxHelperMultiLine" });
|
1024
|
-
}
|
1025
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperMultiLinePipe, decorators: [{
|
1026
|
-
type: Pipe,
|
1027
|
-
args: [{ name: 'ngxHelperMultiLine' }]
|
1028
|
-
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }] });
|
1029
|
-
|
1030
|
-
class NgxHelperSafePipe {
|
1031
|
-
domSanitizer;
|
1032
|
-
constructor(domSanitizer) {
|
1033
|
-
this.domSanitizer = domSanitizer;
|
1034
|
-
}
|
1035
|
-
transform(value, options) {
|
1036
|
-
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
1037
|
-
return '';
|
1038
|
-
switch (options?.type || 'HTML') {
|
1039
|
-
case 'STYLE':
|
1040
|
-
return this.domSanitizer.bypassSecurityTrustStyle(value);
|
1041
|
-
case 'SCRIPT':
|
1042
|
-
return this.domSanitizer.bypassSecurityTrustScript(value);
|
1043
|
-
case 'URL':
|
1044
|
-
return this.domSanitizer.bypassSecurityTrustUrl(value);
|
1045
|
-
case 'RESOURCE_URL':
|
1046
|
-
return this.domSanitizer.bypassSecurityTrustResourceUrl(value);
|
1047
|
-
case 'HTML':
|
1048
|
-
return this.domSanitizer.bypassSecurityTrustHtml(value);
|
1049
|
-
}
|
1050
|
-
}
|
1051
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSafePipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
1052
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSafePipe, isStandalone: true, name: "ngxHelperSafe" });
|
1053
|
-
}
|
1054
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSafePipe, decorators: [{
|
1055
|
-
type: Pipe,
|
1056
|
-
args: [{ name: 'ngxHelperSafe' }]
|
1057
|
-
}], ctorParameters: () => [{ type: i1$1.DomSanitizer }] });
|
1058
|
-
|
1059
991
|
class ConfirmDialogComponent {
|
1060
992
|
className = 'ngx-helper-m3-confirm';
|
1061
993
|
confirm = inject(MAT_DIALOG_DATA);
|
1062
994
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
1063
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: ConfirmDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-dialog" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<div class=\"confirm-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</div>\n\n<div class=\"confirm-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</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$
|
995
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: ConfirmDialogComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-dialog" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<div class=\"confirm-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</div>\n\n<div class=\"confirm-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</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.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"] }] });
|
1064
996
|
}
|
1065
997
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
1066
998
|
type: Component,
|
@@ -1080,13 +1012,13 @@ class ConfirmBottomSheetComponent {
|
|
1080
1012
|
close(confirmed) {
|
1081
1013
|
this.matBottomSheetRef.dismiss(confirmed);
|
1082
1014
|
}
|
1083
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ConfirmBottomSheetComponent, deps: [{ token: i1$
|
1084
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: ConfirmBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-bottom-sheet" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<div class=\"confirm-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</div>\n\n<div class=\"confirm-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</div>\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$
|
1015
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ConfirmBottomSheetComponent, deps: [{ token: i1$2.MatBottomSheetRef }], target: i0.ɵɵFactoryTarget.Component });
|
1016
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: ConfirmBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "confirm-bottom-sheet" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<div class=\"confirm-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</div>\n\n<div class=\"confirm-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</div>\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$1.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"] }] });
|
1085
1017
|
}
|
1086
1018
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ConfirmBottomSheetComponent, decorators: [{
|
1087
1019
|
type: Component,
|
1088
1020
|
args: [{ host: { selector: 'confirm-bottom-sheet' }, imports: [NgClass, MatButtonModule, MatIconModule], template: "<div class=\"confirm-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</div>\n\n<div class=\"confirm-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</div>\n", styles: ["::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"] }]
|
1089
|
-
}], ctorParameters: () => [{ type: i1$
|
1021
|
+
}], ctorParameters: () => [{ type: i1$2.MatBottomSheetRef }], propDecorators: { className: [{
|
1090
1022
|
type: HostBinding,
|
1091
1023
|
args: ['className']
|
1092
1024
|
}] } });
|
@@ -1180,13 +1112,13 @@ class NgxHelperConfirmService {
|
|
1180
1112
|
denyClass: config?.denyClass,
|
1181
1113
|
});
|
1182
1114
|
}
|
1183
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperConfirmService, deps: [{ token: i1$
|
1115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperConfirmService, deps: [{ token: i1$2.MatBottomSheet }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
1184
1116
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperConfirmService, providedIn: 'root' });
|
1185
1117
|
}
|
1186
1118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperConfirmService, decorators: [{
|
1187
1119
|
type: Injectable,
|
1188
1120
|
args: [{ providedIn: 'root' }]
|
1189
|
-
}], ctorParameters: () => [{ type: i1$
|
1121
|
+
}], ctorParameters: () => [{ type: i1$2.MatBottomSheet }, { type: i2$1.MatDialog }] });
|
1190
1122
|
|
1191
1123
|
const NGX_HELPER_CONTAINER_TYPE = new InjectionToken('NGX-HELPER-CONTAINER-TYPE');
|
1192
1124
|
const NGX_HELPER_CONTAINER_DATA = new InjectionToken('NGX-HELPER-CONTAINER-DATA');
|
@@ -1249,13 +1181,13 @@ class ContainerBottomSheetComponent {
|
|
1249
1181
|
close() {
|
1250
1182
|
this.matBottomSheetRef.dismiss();
|
1251
1183
|
}
|
1252
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ContainerBottomSheetComponent, deps: [{ token: i1$
|
1184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ContainerBottomSheetComponent, deps: [{ token: i1$2.MatBottomSheetRef }], target: i0.ɵɵFactoryTarget.Component });
|
1253
1185
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: ContainerBottomSheetComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "selector": "container-bottom-sheet" }, properties: { "className": "this.className" } }, ngImport: i0, template: "<div class=\"container-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</div>\n\n<div class=\"container-content\" [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</div>\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"] }] });
|
1254
1186
|
}
|
1255
1187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: ContainerBottomSheetComponent, decorators: [{
|
1256
1188
|
type: Component,
|
1257
1189
|
args: [{ host: { selector: 'container-bottom-sheet' }, imports: [NgComponentOutlet, MatIconButton, MatIcon], template: "<div class=\"container-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</div>\n\n<div class=\"container-content\" [style.padding]=\"container.config.padding || '1rem'\">\n <span *ngComponentOutlet=\"container.component; injector: injector\"></span>\n</div>\n", styles: ["::ng-deep .ngx-helper-bottom-sheet .mat-bottom-sheet-container{padding:0}\n"] }]
|
1258
|
-
}], ctorParameters: () => [{ type: i1$
|
1190
|
+
}], ctorParameters: () => [{ type: i1$2.MatBottomSheetRef }], propDecorators: { className: [{
|
1259
1191
|
type: HostBinding,
|
1260
1192
|
args: ['className']
|
1261
1193
|
}] } });
|
@@ -1333,13 +1265,33 @@ class NgxHelperContainerService {
|
|
1333
1265
|
const config = arg1 || {};
|
1334
1266
|
return new NgxHelperContainerCalss(this.matBottomSheet, this.matDialog, { component, title, config });
|
1335
1267
|
}
|
1336
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperContainerService, deps: [{ token: i1$
|
1268
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperContainerService, deps: [{ token: i1$2.MatBottomSheet }, { token: i2$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
1337
1269
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperContainerService, providedIn: 'root' });
|
1338
1270
|
}
|
1339
1271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperContainerService, decorators: [{
|
1340
1272
|
type: Injectable,
|
1341
1273
|
args: [{ providedIn: 'root' }]
|
1342
|
-
}], ctorParameters: () => [{ type: i1$
|
1274
|
+
}], ctorParameters: () => [{ type: i1$2.MatBottomSheet }, { type: i2$1.MatDialog }] });
|
1275
|
+
|
1276
|
+
class NgxHelperMultiLinePipe {
|
1277
|
+
domSanitizer;
|
1278
|
+
constructor(domSanitizer) {
|
1279
|
+
this.domSanitizer = domSanitizer;
|
1280
|
+
}
|
1281
|
+
transform(value, options) {
|
1282
|
+
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
1283
|
+
return '';
|
1284
|
+
return options?.html
|
1285
|
+
? this.domSanitizer.bypassSecurityTrustHtml(value.replace(/(?:\r\n|\r|\n)/g, '<br />'))
|
1286
|
+
: Helper.STRING.escapeHTML(value).replace(/(?:\r\n|\r|\n)/g, '<br />');
|
1287
|
+
}
|
1288
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperMultiLinePipe, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
1289
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperMultiLinePipe, isStandalone: true, name: "ngxHelperMultiLine" });
|
1290
|
+
}
|
1291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperMultiLinePipe, decorators: [{
|
1292
|
+
type: Pipe,
|
1293
|
+
args: [{ name: 'ngxHelperMultiLine' }]
|
1294
|
+
}], ctorParameters: () => [{ type: i1$3.DomSanitizer }] });
|
1343
1295
|
|
1344
1296
|
class ToastComponent {
|
1345
1297
|
elementRef;
|
@@ -1867,6 +1819,117 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
1867
1819
|
args: [{ providedIn: 'root' }]
|
1868
1820
|
}], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: NgxHelperToastService }] });
|
1869
1821
|
|
1822
|
+
class NgxHelperStickyDirective {
|
1823
|
+
elementRef;
|
1824
|
+
config;
|
1825
|
+
ngxHelperSticky;
|
1826
|
+
stickyIn = 'ALWAYS';
|
1827
|
+
zIndex;
|
1828
|
+
mobileWidth;
|
1829
|
+
stickyView;
|
1830
|
+
isMobile = false;
|
1831
|
+
constructor(elementRef, config) {
|
1832
|
+
this.elementRef = elementRef;
|
1833
|
+
this.config = config;
|
1834
|
+
}
|
1835
|
+
ngOnInit() {
|
1836
|
+
const getStickyView = (config) => {
|
1837
|
+
return {
|
1838
|
+
desktopView: typeof config === 'string' ? config : config.desktopView,
|
1839
|
+
mobileView: typeof config === 'string' ? config : config.mobileView,
|
1840
|
+
};
|
1841
|
+
};
|
1842
|
+
(this.mobileWidth = this.config?.mobileWidth || 600),
|
1843
|
+
(this.stickyView = {
|
1844
|
+
top: this.config?.stickyView?.top ? getStickyView(this.config.stickyView.top) : undefined,
|
1845
|
+
bottom: this.config?.stickyView?.bottom ? getStickyView(this.config.stickyView.bottom) : undefined,
|
1846
|
+
});
|
1847
|
+
this.onResize();
|
1848
|
+
}
|
1849
|
+
onResize() {
|
1850
|
+
this.isMobile = window.innerWidth <= this.mobileWidth;
|
1851
|
+
this.setPosition();
|
1852
|
+
}
|
1853
|
+
setPosition() {
|
1854
|
+
const element = this.elementRef.nativeElement;
|
1855
|
+
if (!element)
|
1856
|
+
return;
|
1857
|
+
const sticky = this.stickyIn === 'ALWAYS' ||
|
1858
|
+
(this.stickyIn === 'DESKTOP' && !this.isMobile) ||
|
1859
|
+
(this.stickyIn === 'MOBILE' && this.isMobile);
|
1860
|
+
switch (this.ngxHelperSticky) {
|
1861
|
+
case 'TOP':
|
1862
|
+
const top = this.stickyView.top;
|
1863
|
+
if (!top)
|
1864
|
+
return;
|
1865
|
+
element.style.position = sticky ? 'sticky' : 'static';
|
1866
|
+
element.style.zIndex = sticky ? (this.zIndex ? this.zIndex.toString() : '1') : 'auto';
|
1867
|
+
element.style.top = sticky ? (this.isMobile ? top.mobileView : top.desktopView) : 'auto';
|
1868
|
+
break;
|
1869
|
+
case 'BOTTOM':
|
1870
|
+
const bottom = this.stickyView.bottom;
|
1871
|
+
if (!bottom)
|
1872
|
+
return;
|
1873
|
+
element.style.position = sticky ? 'sticky' : 'static';
|
1874
|
+
element.style.zIndex = sticky ? (this.zIndex ? this.zIndex.toString() : '1') : 'auto';
|
1875
|
+
element.style.bottom = sticky ? (this.isMobile ? bottom.mobileView : bottom.desktopView) : 'auto';
|
1876
|
+
break;
|
1877
|
+
}
|
1878
|
+
}
|
1879
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperStickyDirective, deps: [{ token: i0.ElementRef }, { token: NGX_HELPER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
1880
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: NgxHelperStickyDirective, isStandalone: true, selector: "[ngxHelperSticky]", inputs: { ngxHelperSticky: "ngxHelperSticky", stickyIn: "stickyIn", zIndex: "zIndex" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0 });
|
1881
|
+
}
|
1882
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperStickyDirective, decorators: [{
|
1883
|
+
type: Directive,
|
1884
|
+
args: [{
|
1885
|
+
selector: '[ngxHelperSticky]',
|
1886
|
+
host: { '(window:resize)': 'onResize($event)' },
|
1887
|
+
}]
|
1888
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
1889
|
+
type: Optional
|
1890
|
+
}, {
|
1891
|
+
type: Inject,
|
1892
|
+
args: [NGX_HELPER_CONFIG]
|
1893
|
+
}] }], propDecorators: { ngxHelperSticky: [{
|
1894
|
+
type: Input,
|
1895
|
+
args: [{ required: true }]
|
1896
|
+
}], stickyIn: [{
|
1897
|
+
type: Input,
|
1898
|
+
args: [{ required: false }]
|
1899
|
+
}], zIndex: [{
|
1900
|
+
type: Input,
|
1901
|
+
args: [{ required: false }]
|
1902
|
+
}] } });
|
1903
|
+
|
1904
|
+
class NgxHelperSafePipe {
|
1905
|
+
domSanitizer;
|
1906
|
+
constructor(domSanitizer) {
|
1907
|
+
this.domSanitizer = domSanitizer;
|
1908
|
+
}
|
1909
|
+
transform(value, options) {
|
1910
|
+
if (value === undefined || value === null || !Helper.IS.string(value) || value === '')
|
1911
|
+
return '';
|
1912
|
+
switch (options?.type || 'HTML') {
|
1913
|
+
case 'STYLE':
|
1914
|
+
return this.domSanitizer.bypassSecurityTrustStyle(value);
|
1915
|
+
case 'SCRIPT':
|
1916
|
+
return this.domSanitizer.bypassSecurityTrustScript(value);
|
1917
|
+
case 'URL':
|
1918
|
+
return this.domSanitizer.bypassSecurityTrustUrl(value);
|
1919
|
+
case 'RESOURCE_URL':
|
1920
|
+
return this.domSanitizer.bypassSecurityTrustResourceUrl(value);
|
1921
|
+
case 'HTML':
|
1922
|
+
return this.domSanitizer.bypassSecurityTrustHtml(value);
|
1923
|
+
}
|
1924
|
+
}
|
1925
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSafePipe, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
1926
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSafePipe, isStandalone: true, name: "ngxHelperSafe" });
|
1927
|
+
}
|
1928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: NgxHelperSafePipe, decorators: [{
|
1929
|
+
type: Pipe,
|
1930
|
+
args: [{ name: 'ngxHelperSafe' }]
|
1931
|
+
}], ctorParameters: () => [{ type: i1$3.DomSanitizer }] });
|
1932
|
+
|
1870
1933
|
/*
|
1871
1934
|
* Public API Surface of ngx-helper-m3
|
1872
1935
|
*/
|
@@ -1875,5 +1938,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
1875
1938
|
* Generated bundle index. Do not edit.
|
1876
1939
|
*/
|
1877
1940
|
|
1878
|
-
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_DATA_CHANGE, NGX_HELPER_PAGE_GROUP_ITEM, NgxHelperBankCardPipe, NgxHelperBoxComponent, NgxHelperCardComponent, NgxHelperConfirmService, NgxHelperContainerService, NgxHelperDatePipe, NgxHelperDurationPipe, NgxHelperFileSizePipe, NgxHelperHttpService, NgxHelperLoaderComponent, NgxHelperMobilePipe, NgxHelperMultiLinePipe, NgxHelperNumberPipe, NgxHelperPageGroupComponent, NgxHelperPeriodPipe, NgxHelperPricePipe, NgxHelperProgressComponent, NgxHelperSafePipe, NgxHelperSectionColumnComponent, NgxHelperSectionComponent,
|
1941
|
+
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_DATA_CHANGE, NGX_HELPER_PAGE_GROUP_ITEM, NgxHelperBankCardPipe, NgxHelperBoxComponent, NgxHelperCardComponent, NgxHelperConfirmService, NgxHelperContainerService, NgxHelperDatePipe, NgxHelperDurationPipe, NgxHelperFileSizePipe, NgxHelperHttpService, NgxHelperLoaderComponent, NgxHelperMobilePipe, NgxHelperMultiLinePipe, NgxHelperNumberPipe, NgxHelperPageGroupComponent, NgxHelperPeriodPipe, NgxHelperPricePipe, NgxHelperProgressComponent, NgxHelperSafePipe, NgxHelperSectionColumnComponent, NgxHelperSectionComponent, NgxHelperStickyDirective, NgxHelperToastService, NgxHelperValueBoxComponent, NgxHelperValueListComponent, NgxHelperValuePipe, NgxHelperVolumePipe, NgxHelperWeightPipe, provideNgxHelperConfig };
|
1879
1942
|
//# sourceMappingURL=webilix-ngx-helper-m3.mjs.map
|