ng-prime-tools 1.0.9 → 1.0.11
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/README.md +24 -17
- package/esm2022/lib/enums/badge-type.enum.mjs +21 -0
- package/esm2022/lib/enums/form-input-type.enum.mjs +2 -1
- package/esm2022/lib/enums/public-api.mjs +2 -1
- package/esm2022/lib/models/badge.model.mjs +2 -0
- package/esm2022/lib/models/bread-crumb-config.model.mjs +2 -0
- package/esm2022/lib/models/button.model.mjs +2 -0
- package/esm2022/lib/models/card-config.model.mjs +1 -1
- package/esm2022/lib/models/dialog.model.mjs +2 -0
- package/esm2022/lib/models/footer-config.model.mjs +2 -0
- package/esm2022/lib/models/footer.model.mjs +2 -0
- package/esm2022/lib/models/form-text-field.model.mjs +1 -1
- package/esm2022/lib/models/image-style.model.mjs +2 -0
- package/esm2022/lib/models/login-model.mjs +2 -0
- package/esm2022/lib/models/login-page-config.model.mjs +2 -0
- package/esm2022/lib/models/menu-config.model.mjs +1 -1
- package/esm2022/lib/models/menu.model.mjs +2 -0
- package/esm2022/lib/models/nav-bar-menu-config.model.mjs +2 -0
- package/esm2022/lib/models/page-skeleton-config.model.mjs +2 -0
- package/esm2022/lib/models/pattern.model.mjs +2 -0
- package/esm2022/lib/models/public-api.mjs +24 -1
- package/esm2022/lib/models/side-menu-bar-config.model.mjs +2 -0
- package/esm2022/lib/models/table-column.model.mjs +1 -1
- package/esm2022/lib/multi-search-criteria/multi-search-criteria.component.mjs +3 -3
- package/esm2022/lib/ng-advanced-prime-table/ng-advanced-prime-table.component.mjs +22 -3
- package/esm2022/lib/ng-prime-tools.module.mjs +116 -5
- package/esm2022/lib/pt-bread-crumb/index.mjs +2 -0
- package/esm2022/lib/pt-bread-crumb/pt-bread-crumb.component.mjs +50 -0
- package/esm2022/lib/pt-bread-crumb/pt-bread-crumb.module.mjs +19 -0
- package/esm2022/lib/pt-bread-crumb/pt-bread-crumb.service.mjs +92 -0
- package/esm2022/lib/pt-bread-crumb/public-api.mjs +3 -0
- package/esm2022/lib/pt-button/index.mjs +2 -0
- package/esm2022/lib/pt-button/pt-button.component.mjs +56 -0
- package/esm2022/lib/pt-button/pt-button.module.mjs +19 -0
- package/esm2022/lib/pt-button/public-api.mjs +3 -0
- package/esm2022/lib/pt-card/pt-card.component.mjs +33 -6
- package/esm2022/lib/pt-dialog/index.mjs +2 -0
- package/esm2022/lib/pt-dialog/pt-dialog.component.mjs +92 -0
- package/esm2022/lib/pt-dialog/pt-dialog.module.mjs +36 -0
- package/esm2022/lib/pt-dialog/public-api.mjs +3 -0
- package/esm2022/lib/pt-footer/index.mjs +2 -0
- package/esm2022/lib/pt-footer/pt-footer.component.mjs +41 -0
- package/esm2022/lib/pt-footer/pt-footer.module.mjs +19 -0
- package/esm2022/lib/pt-footer/public-api.mjs +3 -0
- package/esm2022/lib/pt-login-page/index.mjs +2 -0
- package/esm2022/lib/pt-login-page/pt-login-page.component.mjs +142 -0
- package/esm2022/lib/pt-login-page/pt-login-page.module.mjs +39 -0
- package/esm2022/lib/pt-login-page/public-api.mjs +3 -0
- package/esm2022/lib/pt-menu/pt-menu.component.mjs +20 -5
- package/esm2022/lib/pt-menu-fancy/index.mjs +2 -0
- package/esm2022/lib/pt-menu-fancy/pt-menu-fancy.component.mjs +92 -0
- package/esm2022/lib/pt-menu-fancy/pt-menu-fancy.module.mjs +19 -0
- package/esm2022/lib/pt-menu-fancy/public-api.mjs +3 -0
- package/esm2022/lib/pt-nav-bar-menu/index.mjs +2 -0
- package/esm2022/lib/pt-nav-bar-menu/pt-nav-bar-menu.component.mjs +97 -0
- package/esm2022/lib/pt-nav-bar-menu/pt-nav-bar-menu.module.mjs +20 -0
- package/esm2022/lib/pt-nav-bar-menu/public-api.mjs +3 -0
- package/esm2022/lib/pt-page-skeleton/index.mjs +2 -0
- package/esm2022/lib/pt-page-skeleton/pt-page-skeleton.component.mjs +53 -0
- package/esm2022/lib/pt-page-skeleton/pt-page-skeleton.module.mjs +44 -0
- package/esm2022/lib/pt-page-skeleton/public-api.mjs +3 -0
- package/esm2022/lib/pt-side-bar-menu/index.mjs +2 -0
- package/esm2022/lib/pt-side-bar-menu/pt-side-bar-menu.component.mjs +206 -0
- package/esm2022/lib/pt-side-bar-menu/pt-side-bar-menu.module.mjs +21 -0
- package/esm2022/lib/pt-side-bar-menu/public-api.mjs +3 -0
- package/esm2022/lib/pt-text-area-input/pt-text-area-input.component.mjs +2 -2
- package/esm2022/lib/pt-text-input/pt-text-input.component.mjs +20 -4
- package/esm2022/lib/utils/text.util.mjs +23 -0
- package/esm2022/public-api.mjs +18 -1
- package/fesm2022/ng-prime-tools.mjs +1310 -36
- package/fesm2022/ng-prime-tools.mjs.map +1 -1
- package/lib/enums/badge-type.enum.d.ts +20 -0
- package/lib/enums/badge-type.enum.d.ts.map +1 -0
- package/lib/enums/form-input-type.enum.d.ts +2 -1
- package/lib/enums/form-input-type.enum.d.ts.map +1 -1
- package/lib/enums/public-api.d.ts +1 -0
- package/lib/enums/public-api.d.ts.map +1 -1
- package/lib/models/badge.model.d.ts +8 -0
- package/lib/models/badge.model.d.ts.map +1 -0
- package/lib/models/bread-crumb-config.model.d.ts +7 -0
- package/lib/models/bread-crumb-config.model.d.ts.map +1 -0
- package/lib/models/button.model.d.ts +15 -0
- package/lib/models/button.model.d.ts.map +1 -0
- package/lib/models/card-config.model.d.ts +9 -0
- package/lib/models/card-config.model.d.ts.map +1 -1
- package/lib/models/dialog.model.d.ts +13 -0
- package/lib/models/dialog.model.d.ts.map +1 -0
- package/lib/models/footer-config.model.d.ts +8 -0
- package/lib/models/footer-config.model.d.ts.map +1 -0
- package/lib/models/footer.model.d.ts +5 -0
- package/lib/models/footer.model.d.ts.map +1 -0
- package/lib/models/form-text-field.model.d.ts +2 -0
- package/lib/models/form-text-field.model.d.ts.map +1 -1
- package/lib/models/image-style.model.d.ts +9 -0
- package/lib/models/image-style.model.d.ts.map +1 -0
- package/lib/models/login-model.d.ts +7 -0
- package/lib/models/login-model.d.ts.map +1 -0
- package/lib/models/login-page-config.model.d.ts +21 -0
- package/lib/models/login-page-config.model.d.ts.map +1 -0
- package/lib/models/menu-config.model.d.ts +1 -0
- package/lib/models/menu-config.model.d.ts.map +1 -1
- package/lib/models/menu.model.d.ts +13 -0
- package/lib/models/menu.model.d.ts.map +1 -0
- package/lib/models/nav-bar-menu-config.model.d.ts +11 -0
- package/lib/models/nav-bar-menu-config.model.d.ts.map +1 -0
- package/lib/models/page-skeleton-config.model.d.ts +14 -0
- package/lib/models/page-skeleton-config.model.d.ts.map +1 -0
- package/lib/models/pattern.model.d.ts +5 -0
- package/lib/models/pattern.model.d.ts.map +1 -0
- package/lib/models/public-api.d.ts +16 -0
- package/lib/models/public-api.d.ts.map +1 -1
- package/lib/models/side-menu-bar-config.model.d.ts +21 -0
- package/lib/models/side-menu-bar-config.model.d.ts.map +1 -0
- package/lib/models/table-column.model.d.ts +2 -0
- package/lib/models/table-column.model.d.ts.map +1 -1
- package/lib/ng-advanced-prime-table/ng-advanced-prime-table.component.d.ts +3 -0
- package/lib/ng-advanced-prime-table/ng-advanced-prime-table.component.d.ts.map +1 -1
- package/lib/ng-prime-tools.module.d.ts +10 -1
- package/lib/ng-prime-tools.module.d.ts.map +1 -1
- package/lib/pt-bread-crumb/index.d.ts +2 -0
- package/lib/pt-bread-crumb/index.d.ts.map +1 -0
- package/lib/pt-bread-crumb/pt-bread-crumb.component.d.ts +23 -0
- package/lib/pt-bread-crumb/pt-bread-crumb.component.d.ts.map +1 -0
- package/lib/pt-bread-crumb/pt-bread-crumb.module.d.ts +10 -0
- package/lib/pt-bread-crumb/pt-bread-crumb.module.d.ts.map +1 -0
- package/lib/pt-bread-crumb/pt-bread-crumb.service.d.ts +17 -0
- package/lib/pt-bread-crumb/pt-bread-crumb.service.d.ts.map +1 -0
- package/lib/pt-bread-crumb/public-api.d.ts +3 -0
- package/lib/pt-bread-crumb/public-api.d.ts.map +1 -0
- package/lib/pt-button/index.d.ts +2 -0
- package/lib/pt-button/index.d.ts.map +1 -0
- package/lib/pt-button/pt-button.component.d.ts +17 -0
- package/lib/pt-button/pt-button.component.d.ts.map +1 -0
- package/lib/pt-button/pt-button.module.d.ts +10 -0
- package/lib/pt-button/pt-button.module.d.ts.map +1 -0
- package/lib/pt-button/public-api.d.ts +3 -0
- package/lib/pt-button/public-api.d.ts.map +1 -0
- package/lib/pt-card/pt-card.component.d.ts +14 -3
- package/lib/pt-card/pt-card.component.d.ts.map +1 -1
- package/lib/pt-dialog/index.d.ts +2 -0
- package/lib/pt-dialog/index.d.ts.map +1 -0
- package/lib/pt-dialog/pt-dialog.component.d.ts +20 -0
- package/lib/pt-dialog/pt-dialog.component.d.ts.map +1 -0
- package/lib/pt-dialog/pt-dialog.module.d.ts +13 -0
- package/lib/pt-dialog/pt-dialog.module.d.ts.map +1 -0
- package/lib/pt-dialog/public-api.d.ts +3 -0
- package/lib/pt-dialog/public-api.d.ts.map +1 -0
- package/lib/pt-footer/index.d.ts +2 -0
- package/lib/pt-footer/index.d.ts.map +1 -0
- package/lib/pt-footer/pt-footer.component.d.ts +11 -0
- package/lib/pt-footer/pt-footer.component.d.ts.map +1 -0
- package/lib/pt-footer/pt-footer.module.d.ts +10 -0
- package/lib/pt-footer/pt-footer.module.d.ts.map +1 -0
- package/lib/pt-footer/public-api.d.ts +3 -0
- package/lib/pt-footer/public-api.d.ts.map +1 -0
- package/lib/pt-login-page/index.d.ts +2 -0
- package/lib/pt-login-page/index.d.ts.map +1 -0
- package/lib/pt-login-page/pt-login-page.component.d.ts +20 -0
- package/lib/pt-login-page/pt-login-page.component.d.ts.map +1 -0
- package/lib/pt-login-page/pt-login-page.module.d.ts +13 -0
- package/lib/pt-login-page/pt-login-page.module.d.ts.map +1 -0
- package/lib/pt-login-page/public-api.d.ts +3 -0
- package/lib/pt-login-page/public-api.d.ts.map +1 -0
- package/lib/pt-menu/pt-menu.component.d.ts +2 -2
- package/lib/pt-menu/pt-menu.component.d.ts.map +1 -1
- package/lib/pt-menu-fancy/index.d.ts +2 -0
- package/lib/pt-menu-fancy/index.d.ts.map +1 -0
- package/lib/pt-menu-fancy/pt-menu-fancy.component.d.ts +33 -0
- package/lib/pt-menu-fancy/pt-menu-fancy.component.d.ts.map +1 -0
- package/lib/pt-menu-fancy/pt-menu-fancy.module.d.ts +10 -0
- package/lib/pt-menu-fancy/pt-menu-fancy.module.d.ts.map +1 -0
- package/lib/pt-menu-fancy/public-api.d.ts +3 -0
- package/lib/pt-menu-fancy/public-api.d.ts.map +1 -0
- package/lib/pt-nav-bar-menu/index.d.ts +2 -0
- package/lib/pt-nav-bar-menu/index.d.ts.map +1 -0
- package/lib/pt-nav-bar-menu/pt-nav-bar-menu.component.d.ts +44 -0
- package/lib/pt-nav-bar-menu/pt-nav-bar-menu.component.d.ts.map +1 -0
- package/lib/pt-nav-bar-menu/pt-nav-bar-menu.module.d.ts +11 -0
- package/lib/pt-nav-bar-menu/pt-nav-bar-menu.module.d.ts.map +1 -0
- package/lib/pt-nav-bar-menu/public-api.d.ts +3 -0
- package/lib/pt-nav-bar-menu/public-api.d.ts.map +1 -0
- package/lib/pt-page-skeleton/index.d.ts +2 -0
- package/lib/pt-page-skeleton/index.d.ts.map +1 -0
- package/lib/pt-page-skeleton/pt-page-skeleton.component.d.ts +15 -0
- package/lib/pt-page-skeleton/pt-page-skeleton.component.d.ts.map +1 -0
- package/lib/pt-page-skeleton/pt-page-skeleton.module.d.ts +15 -0
- package/lib/pt-page-skeleton/pt-page-skeleton.module.d.ts.map +1 -0
- package/lib/pt-page-skeleton/public-api.d.ts +3 -0
- package/lib/pt-page-skeleton/public-api.d.ts.map +1 -0
- package/lib/pt-side-bar-menu/index.d.ts +2 -0
- package/lib/pt-side-bar-menu/index.d.ts.map +1 -0
- package/lib/pt-side-bar-menu/pt-side-bar-menu.component.d.ts +41 -0
- package/lib/pt-side-bar-menu/pt-side-bar-menu.component.d.ts.map +1 -0
- package/lib/pt-side-bar-menu/pt-side-bar-menu.module.d.ts +12 -0
- package/lib/pt-side-bar-menu/pt-side-bar-menu.module.d.ts.map +1 -0
- package/lib/pt-side-bar-menu/public-api.d.ts +3 -0
- package/lib/pt-side-bar-menu/public-api.d.ts.map +1 -0
- package/lib/pt-text-input/pt-text-input.component.d.ts +1 -0
- package/lib/pt-text-input/pt-text-input.component.d.ts.map +1 -1
- package/lib/utils/text.util.d.ts +11 -0
- package/lib/utils/text.util.d.ts.map +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +9 -0
- package/public-api.d.ts.map +1 -1
@@ -6,6 +6,7 @@ export class PTCardComponent {
|
|
6
6
|
constructor() {
|
7
7
|
this.config = {};
|
8
8
|
}
|
9
|
+
// Default values as readonly variables
|
9
10
|
static { this.DEFAULT_TITLE_COLOR = '#333'; }
|
10
11
|
static { this.DEFAULT_TITLE_FONT_SIZE = '1.5em'; }
|
11
12
|
static { this.DEFAULT_ICON_COLOR = '#333'; }
|
@@ -18,9 +19,15 @@ export class PTCardComponent {
|
|
18
19
|
static { this.DEFAULT_MENU_POSITION = 'right'; }
|
19
20
|
static { this.DEFAULT_BORDER_COLOR = '#ddd'; }
|
20
21
|
static { this.DEFAULT_BORDER_WIDTH = '1px'; }
|
22
|
+
static { this.DEFAULT_TRANSPARENCY = '100'; }
|
23
|
+
static { this.DEFAULT_PADDING = '16px'; }
|
24
|
+
static { this.DEFAULT_MARGIN = '16px 0'; }
|
21
25
|
isTitleObject() {
|
22
26
|
return typeof this.config.title === 'object';
|
23
27
|
}
|
28
|
+
hasTitle() {
|
29
|
+
return this.config.title !== undefined && this.config.title !== null;
|
30
|
+
}
|
24
31
|
getTitleText() {
|
25
32
|
return this.isTitleObject()
|
26
33
|
? this.config.title.text
|
@@ -67,22 +74,42 @@ export class PTCardComponent {
|
|
67
74
|
return this.config.menuPosition || PTCardComponent.DEFAULT_MENU_POSITION;
|
68
75
|
}
|
69
76
|
getCardStyles() {
|
77
|
+
const transparency = this.config.pattern?.transparencyPercentage ||
|
78
|
+
PTCardComponent.DEFAULT_TRANSPARENCY;
|
79
|
+
const backgroundImage = this.config.pattern
|
80
|
+
? `linear-gradient(rgba(255, 255, 255, ${1 - parseFloat(transparency) / 100}), rgba(255, 255, 255, ${1 - parseFloat(transparency) / 100})), url(${this.config.pattern.imageUrl})`
|
81
|
+
: '';
|
82
|
+
// Apply border conditionally based on noBorder property
|
83
|
+
const borderStyle = this.config.noBorder
|
84
|
+
? 'none'
|
85
|
+
: `solid ${this.config.borderWidth || PTCardComponent.DEFAULT_BORDER_WIDTH} ${this.config.borderColor || PTCardComponent.DEFAULT_BORDER_COLOR}`;
|
70
86
|
return {
|
71
87
|
backgroundColor: this.config.backgroundColor || PTCardComponent.DEFAULT_BACKGROUND_COLOR,
|
88
|
+
backgroundImage: backgroundImage,
|
89
|
+
backgroundSize: 'cover',
|
90
|
+
backgroundPosition: 'center',
|
72
91
|
width: this.config.width || PTCardComponent.DEFAULT_WIDTH,
|
73
92
|
height: this.config.height || PTCardComponent.DEFAULT_HEIGHT,
|
74
|
-
|
75
|
-
|
76
|
-
|
93
|
+
border: borderStyle,
|
94
|
+
padding: this.config.padding || PTCardComponent.DEFAULT_PADDING,
|
95
|
+
margin: this.config.margin || PTCardComponent.DEFAULT_MARGIN,
|
96
|
+
borderRadius: this.config.borderRadius || '8px',
|
97
|
+
boxShadow: this.config.boxShadow || '0 2px 4px rgba(0, 0, 0, 0.1)',
|
77
98
|
};
|
78
99
|
}
|
100
|
+
isScrollableHorizontal() {
|
101
|
+
return !!this.config.scrollableHorizontal;
|
102
|
+
}
|
103
|
+
isScrollableVertical() {
|
104
|
+
return !!this.config.scrollableVertical;
|
105
|
+
}
|
79
106
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTCardComponent, selector: "pt-card", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"card\" [ngStyle]=\"getCardStyles()\">\n <div class=\"card-header\" [ngStyle]=\"getTitleStyles()\">\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'left'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-left\"\n ></i>\n <span>{{ getTitleText() }}</span>\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'right'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-right\"\n ></i>\n <pt-menu\n *ngIf=\"config.menu\"\n [config]=\"config.menu\"\n [ngClass]=\"{\n 'menu-left': getMenuPosition() === 'left',\n 'menu-right': getMenuPosition() === 'right'\n }\"\n ></pt-menu>\n </div>\n <div
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTCardComponent, selector: "pt-card", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"pt-card card\" [ngStyle]=\"getCardStyles()\">\n <div *ngIf=\"hasTitle()\" class=\"card-header\" [ngStyle]=\"getTitleStyles()\">\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'left'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-left\"\n ></i>\n <span>{{ getTitleText() }}</span>\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'right'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-right\"\n ></i>\n <pt-menu\n *ngIf=\"config.menu\"\n [config]=\"config.menu\"\n [ngClass]=\"{\n 'menu-left': getMenuPosition() === 'left',\n 'menu-right': getMenuPosition() === 'right'\n }\"\n ></pt-menu>\n </div>\n <div\n class=\"card-body\"\n [ngClass]=\"{\n 'card-body-scrollable-vertical': isScrollableVertical(),\n 'card-body-scrollable-horizontal': isScrollableHorizontal()\n }\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".pt-card .card{padding:16px;margin:16px 0;display:flex;flex-direction:column;max-height:100vh;overflow:hidden;background-size:cover;background-position:center}.pt-card .card-body{flex-grow:1;max-width:100%}.pt-card .card-body-scrollable-horizontal{overflow-x:auto;padding-bottom:8px}.pt-card .card-body-scrollable-vertical{flex-grow:1;overflow-y:auto;padding-right:8px}.pt-card .card-header{margin-bottom:16px;display:flex;align-items:center;justify-content:var(--text-align, left);position:relative}.pt-card .card-header-icon-left{margin-right:6px}.pt-card .card-header-icon-right{margin-left:6px}.pt-card .menu-left{position:absolute;left:0;top:0}.pt-card .menu-right{position:absolute;right:0;top:-2px}.pt-card .card-menu{margin-left:auto;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.PTMenuComponent, selector: "pt-menu", inputs: ["config"] }] }); }
|
81
108
|
}
|
82
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTCardComponent, decorators: [{
|
83
110
|
type: Component,
|
84
|
-
args: [{ selector: 'pt-card', template: "<div class=\"card\" [ngStyle]=\"getCardStyles()\">\n <div class=\"card-header\" [ngStyle]=\"getTitleStyles()\">\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'left'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-left\"\n ></i>\n <span>{{ getTitleText() }}</span>\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'right'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-right\"\n ></i>\n <pt-menu\n *ngIf=\"config.menu\"\n [config]=\"config.menu\"\n [ngClass]=\"{\n 'menu-left': getMenuPosition() === 'left',\n 'menu-right': getMenuPosition() === 'right'\n }\"\n ></pt-menu>\n </div>\n <div
|
111
|
+
args: [{ selector: 'pt-card', template: "<div class=\"pt-card card\" [ngStyle]=\"getCardStyles()\">\n <div *ngIf=\"hasTitle()\" class=\"card-header\" [ngStyle]=\"getTitleStyles()\">\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'left'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-left\"\n ></i>\n <span>{{ getTitleText() }}</span>\n <i\n *ngIf=\"getIconClass() && getIconPosition() === 'right'\"\n [ngClass]=\"getIconClass()\"\n [ngStyle]=\"getIconStyles()\"\n class=\"card-header-icon-right\"\n ></i>\n <pt-menu\n *ngIf=\"config.menu\"\n [config]=\"config.menu\"\n [ngClass]=\"{\n 'menu-left': getMenuPosition() === 'left',\n 'menu-right': getMenuPosition() === 'right'\n }\"\n ></pt-menu>\n </div>\n <div\n class=\"card-body\"\n [ngClass]=\"{\n 'card-body-scrollable-vertical': isScrollableVertical(),\n 'card-body-scrollable-horizontal': isScrollableHorizontal()\n }\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".pt-card .card{padding:16px;margin:16px 0;display:flex;flex-direction:column;max-height:100vh;overflow:hidden;background-size:cover;background-position:center}.pt-card .card-body{flex-grow:1;max-width:100%}.pt-card .card-body-scrollable-horizontal{overflow-x:auto;padding-bottom:8px}.pt-card .card-body-scrollable-vertical{flex-grow:1;overflow-y:auto;padding-right:8px}.pt-card .card-header{margin-bottom:16px;display:flex;align-items:center;justify-content:var(--text-align, left);position:relative}.pt-card .card-header-icon-left{margin-right:6px}.pt-card .card-header-icon-right{margin-left:6px}.pt-card .menu-left{position:absolute;left:0;top:0}.pt-card .menu-right{position:absolute;right:0;top:-2px}.pt-card .card-menu{margin-left:auto;cursor:pointer}\n"] }]
|
85
112
|
}], propDecorators: { config: [{
|
86
113
|
type: Input
|
87
114
|
}] } });
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNhcmQvcHQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNhcmQvcHQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRCxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQU1XLFdBQU0sR0FBZSxFQUFFLENBQUM7S0FvRmxDO2FBbEZ5Qix3QkFBbUIsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUM3Qiw0QkFBdUIsR0FBRyxPQUFPLEFBQVYsQ0FBVzthQUNsQyx1QkFBa0IsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUM1QiwyQkFBc0IsR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUMvQiwwQkFBcUIsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUMvQiw2QkFBd0IsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUNsQyxrQkFBYSxHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ3ZCLG1CQUFjLEdBQUcsTUFBTSxBQUFULENBQVU7YUFDeEIsMkJBQXNCLEdBQUcsTUFBTSxBQUFULENBQVU7YUFDaEMsMEJBQXFCLEdBQUcsT0FBTyxBQUFWLENBQVc7YUFDaEMseUJBQW9CLEdBQUcsTUFBTSxBQUFULENBQVU7YUFDOUIseUJBQW9CLEdBQUcsS0FBSyxBQUFSLENBQVM7SUFFckQsYUFBYTtRQUNYLE9BQU8sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDekIsQ0FBQyxDQUFFLElBQUksQ0FB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bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZENvbmZpZywgSWNvblN0eWxlLCBUaXRsZVN0eWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtY2FyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogQ2FyZENvbmZpZyA9IHt9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVElUTEVfQ09MT1IgPSAnIzMzMyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVElUTEVfRk9OVF9TSVpFID0gJzEuNWVtJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9JQ09OX0NPTE9SID0gJyMzMzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lDT05fRk9OVF9TSVpFID0gJzFlbSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfSUNPTl9QT1NJVElPTiA9ICdsZWZ0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SID0gJyNmZmYnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1dJRFRIID0gJzEwMCUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0hFSUdIVCA9ICdhdXRvJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9USVRMRV9QT1NJVElPTiA9ICdsZWZ0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9NRU5VX1BPU0lUSU9OID0gJ3JpZ2h0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9CT1JERVJfQ09MT1IgPSAnI2RkZCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQk9SREVSX1dJRFRIID0gJzFweCc7XG5cbiAgaXNUaXRsZU9iamVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIGdldFRpdGxlVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzVGl0bGVPYmplY3QoKVxuICAgICAgPyAodGhpcy5jb25maWcudGl0bGUgYXMgVGl0bGVTdHlsZSkudGV4dFxuICAgICAgOiAodGhpcy5jb25maWcudGl0bGUgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIGdldFRpdGxlU3R5bGVzKCkge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5jb25maWcudGl0bGUgYXMgVGl0bGVTdHlsZSB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBhbGlnbk1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgIGxlZnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgIGNlbnRlcjogJ2NlbnRlcicsXG4gICAgICByaWdodDogJ2ZsZXgtZW5kJyxcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogdGl0bGU/LmNvbG9yIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX1RJVExFX0NPTE9SLFxuICAgICAgZm9udFNpemU6IHRpdGxlPy5mb250U2l6ZSB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9USVRMRV9GT05UX1NJWkUsXG4gICAgICAnLS10ZXh0LWFsaWduJzpcbiAgICAgICAgYWxpZ25NYXBbdGl0bGU/LnBvc2l0aW9uIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX1RJVExFX1BPU0lUSU9OXSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SWNvbkNsYXNzKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGljb24gPSAodGhpcy5jb25maWcudGl0bGUgYXMgVGl0bGVTdHlsZSk/Lmljb247XG4gICAgcmV0dXJuIHR5cGVvZiBpY29uID09PSAnc3RyaW5nJyA/IGljb24gOiAoaWNvbiBhcyBJY29uU3R5bGUpPy5jb2RlIHx8IG51bGw7XG4gIH1cblxuICBnZXRJY29uU3R5bGVzKCkge1xuICAgIGNvbnN0IGljb24gPSAodGhpcy5jb25maWcudGl0bGUgYXMgVGl0bGVTdHlsZSk/Lmljb247XG4gICAgaWYgKHR5cGVvZiBpY29uICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6IGljb24/LmNvbG9yIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX0lDT05fQ09MT1IsXG4gICAgICAgIGZvbnRTaXplOiBpY29uPy5mb250U2l6ZSB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9JQ09OX0ZPTlRfU0laRSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfSUNPTl9DT0xPUixcbiAgICAgIGZvbnRTaXplOiBQVENhcmRDb21wb25lbnQuREVGQVVMVF9JQ09OX0ZPTlRfU0laRSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SWNvblBvc2l0aW9uKCk6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsIHtcbiAgICBjb25zdCBpY29uID0gKHRoaXMuY29uZmlnLnRpdGxlIGFzIFRpdGxlU3R5bGUpPy5pY29uO1xuICAgIGlmICh0eXBlb2YgaWNvbiAhPT0gJ3N0cmluZycgJiYgaWNvbj8ucG9zaXRpb24pIHtcbiAgICAgIHJldHVybiBpY29uLnBvc2l0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfSUNPTl9QT1NJVElPTjtcbiAgfVxuXG4gIGdldE1lbnVQb3NpdGlvbigpOiAnbGVmdCcgfCAncmlnaHQnIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcubWVudVBvc2l0aW9uIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX01FTlVfUE9TSVRJT047XG4gIH1cblxuICBnZXRDYXJkU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6XG4gICAgICAgIHRoaXMuY29uZmlnLmJhY2tncm91bmRDb2xvciB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SLFxuICAgICAgd2lkdGg6IHRoaXMuY29uZmlnLndpZHRoIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX1dJRFRILFxuICAgICAgaGVpZ2h0OiB0aGlzLmNvbmZpZy5oZWlnaHQgfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfSEVJR0hULFxuICAgICAgYm9yZGVyQ29sb3I6XG4gICAgICAgIHRoaXMuY29uZmlnLmJvcmRlckNvbG9yIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX0JPUkRFUl9DT0xPUixcbiAgICAgIGJvcmRlcldpZHRoOlxuICAgICAgICB0aGlzLmNvbmZpZy5ib3JkZXJXaWR0aCB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9CT1JERVJfV0lEVEgsXG4gICAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiIFtuZ1N0eWxlXT1cImdldENhcmRTdHlsZXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIiBbbmdTdHlsZV09XCJnZXRUaXRsZVN0eWxlcygpXCI+XG4gICAgPGlcbiAgICAgICpuZ0lmPVwiZ2V0SWNvbkNsYXNzKCkgJiYgZ2V0SWNvblBvc2l0aW9uKCkgPT09ICdsZWZ0J1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRJY29uQ2xhc3MoKVwiXG4gICAgICBbbmdTdHlsZV09XCJnZXRJY29uU3R5bGVzKClcIlxuICAgICAgY2xhc3M9XCJjYXJkLWhlYWRlci1pY29uLWxlZnRcIlxuICAgID48L2k+XG4gICAgPHNwYW4+e3sgZ2V0VGl0bGVUZXh0KCkgfX08L3NwYW4+XG4gICAgPGlcbiAgICAgICpuZ0lmPVwiZ2V0SWNvbkNsYXNzKCkgJiYgZ2V0SWNvblBvc2l0aW9uKCkgPT09ICdyaWdodCdcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0SWNvbkNsYXNzKClcIlxuICAgICAgW25nU3R5bGVdPVwiZ2V0SWNvblN0eWxlcygpXCJcbiAgICAgIGNsYXNzPVwiY2FyZC1oZWFkZXItaWNvbi1yaWdodFwiXG4gICAgPjwvaT5cbiAgICA8cHQtbWVudVxuICAgICAgKm5nSWY9XCJjb25maWcubWVudVwiXG4gICAgICBbY29uZmlnXT1cImNvbmZpZy5tZW51XCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ21lbnUtbGVmdCc6IGdldE1lbnVQb3NpdGlvbigpID09PSAnbGVmdCcsXG4gICAgICAgICdtZW51LXJpZ2h0JzogZ2V0TWVudVBvc2l0aW9uKCkgPT09ICdyaWdodCdcbiAgICAgIH1cIlxuICAgID48L3B0LW1lbnU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNhcmQvcHQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNhcmQvcHQtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRCxNQUFNLE9BQU8sZUFBZTtJQUw1QjtRQU1XLFdBQU0sR0FBZSxFQUFFLENBQUM7S0F5SGxDO0lBdkhDLHVDQUF1QzthQUNmLHdCQUFtQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzdCLDRCQUF1QixHQUFHLE9BQU8sQUFBVixDQUFXO2FBQ2xDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLDJCQUFzQixHQUFHLEtBQUssQUFBUixDQUFTO2FBQy9CLDBCQUFxQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQy9CLDZCQUF3QixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ2xDLGtCQUFhLEdBQUcsTUFBTSxBQUFULENBQVU7YUFDdkIsbUJBQWMsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUN4QiwyQkFBc0IsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUNoQywwQkFBcUIsR0FBRyxPQUFPLEFBQVYsQ0FBVzthQUNoQyx5QkFBb0IsR0FBRyxNQUFNLEFBQVQsQ0FBVTthQUM5Qix5QkFBb0IsR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUM3Qix5QkFBb0IsR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUM3QixvQkFBZSxHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ3pCLG1CQUFjLEdBQUcsUUFBUSxBQUFYLENBQVk7SUFFbEQsYUFBYTtRQUNYLE9BQU8sT0FBTyxJQUFJLENB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QUFDOytHQXpIVSxlQUFlO21HQUFmLGVBQWUsNkVDUjVCLHFpQ0FrQ0E7OzRGRDFCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVM7OEJBS1YsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZENvbmZpZywgSWNvblN0eWxlLCBUaXRsZVN0eWxlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtY2FyZC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbmZpZzogQ2FyZENvbmZpZyA9IHt9O1xuXG4gIC8vIERlZmF1bHQgdmFsdWVzIGFzIHJlYWRvbmx5IHZhcmlhYmxlc1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJVExFX0NPTE9SID0gJyMzMzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJVExFX0ZPTlRfU0laRSA9ICcxLjVlbSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfSUNPTl9DT0xPUiA9ICcjMzMzJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9JQ09OX0ZPTlRfU0laRSA9ICcxZW0nO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lDT05fUE9TSVRJT04gPSAnbGVmdCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQkFDS0dST1VORF9DT0xPUiA9ICcjZmZmJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9XSURUSCA9ICcxMDAlJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9IRUlHSFQgPSAnYXV0byc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVElUTEVfUE9TSVRJT04gPSAnbGVmdCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTUVOVV9QT1NJVElPTiA9ICdyaWdodCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQk9SREVSX0NPTE9SID0gJyNkZGQnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0JPUkRFUl9XSURUSCA9ICcxcHgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RSQU5TUEFSRU5DWSA9ICcxMDAnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BBRERJTkcgPSAnMTZweCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTUFSR0lOID0gJzE2cHggMCc7XG5cbiAgaXNUaXRsZU9iamVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIGhhc1RpdGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50aXRsZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29uZmlnLnRpdGxlICE9PSBudWxsO1xuICB9XG5cbiAgZ2V0VGl0bGVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNUaXRsZU9iamVjdCgpXG4gICAgICA/ICh0aGlzLmNvbmZpZy50aXRsZSBhcyBUaXRsZVN0eWxlKS50ZXh0XG4gICAgICA6ICh0aGlzLmNvbmZpZy50aXRsZSBhcyBzdHJpbmcpO1xuICB9XG5cbiAgZ2V0VGl0bGVTdHlsZXMoKSB7XG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLmNvbmZpZy50aXRsZSBhcyBUaXRsZVN0eWxlIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGFsaWduTWFwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgICAgbGVmdDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgY2VudGVyOiAnY2VudGVyJyxcbiAgICAgIHJpZ2h0OiAnZmxleC1lbmQnLFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiB0aXRsZT8uY29sb3IgfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfVElUTEVfQ09MT1IsXG4gICAgICBmb250U2l6ZTogdGl0bGU/LmZvbnRTaXplIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX1RJVExFX0ZPTlRfU0laRSxcbiAgICAgICctLXRleHQtYWxpZ24nOlxuICAgICAgICBhbGlnbk1hcFt0aXRsZT8ucG9zaXRpb24gfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfVElUTEVfUE9TSVRJT05dLFxuICAgIH07XG4gIH1cblxuICBnZXRJY29uQ2xhc3MoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgaWNvbiA9ICh0aGlzLmNvbmZpZy50aXRsZSBhcyBUaXRsZVN0eWxlKT8uaWNvbjtcbiAgICByZXR1cm4gdHlwZW9mIGljb24gPT09ICdzdHJpbmcnID8gaWNvbiA6IChpY29uIGFzIEljb25TdHlsZSk/LmNvZGUgfHwgbnVsbDtcbiAgfVxuXG4gIGdldEljb25TdHlsZXMoKSB7XG4gICAgY29uc3QgaWNvbiA9ICh0aGlzLmNvbmZpZy50aXRsZSBhcyBUaXRsZVN0eWxlKT8uaWNvbjtcbiAgICBpZiAodHlwZW9mIGljb24gIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogaWNvbj8uY29sb3IgfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfSUNPTl9DT0xPUixcbiAgICAgICAgZm9udFNpemU6IGljb24/LmZvbnRTaXplIHx8IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX0lDT05fRk9OVF9TSVpFLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiBQVENhcmRDb21wb25lbnQuREVGQVVMVF9JQ09OX0NPTE9SLFxuICAgICAgZm9udFNpemU6IFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX0lDT05fRk9OVF9TSVpFLFxuICAgIH07XG4gIH1cblxuICBnZXRJY29uUG9zaXRpb24oKTogJ2xlZnQnIHwgJ3JpZ2h0JyB8IG51bGwge1xuICAgIGNvbnN0IGljb24gPSAodGhpcy5jb25maWcudGl0bGUgYXMgVGl0bGVTdHlsZSk/Lmljb247XG4gICAgaWYgKHR5cGVvZiBpY29uICE9PSAnc3RyaW5nJyAmJiBpY29uPy5wb3NpdGlvbikge1xuICAgICAgcmV0dXJuIGljb24ucG9zaXRpb247XG4gICAgfVxuICAgIHJldHVybiBQVENhcmRDb21wb25lbnQuREVGQVVMVF9JQ09OX1BPU0lUSU9OO1xuICB9XG5cbiAgZ2V0TWVudVBvc2l0aW9uKCk6ICdsZWZ0JyB8ICdyaWdodCcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5tZW51UG9zaXRpb24gfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfTUVOVV9QT1NJVElPTjtcbiAgfVxuXG4gIGdldENhcmRTdHlsZXMoKSB7XG4gICAgY29uc3QgdHJhbnNwYXJlbmN5ID1cbiAgICAgIHRoaXMuY29uZmlnLnBhdHRlcm4/LnRyYW5zcGFyZW5jeVBlcmNlbnRhZ2UgfHxcbiAgICAgIFBUQ2FyZENvbXBvbmVudC5ERUZBVUxUX1RSQU5TUEFSRU5DWTtcbiAgICBjb25zdCBiYWNrZ3JvdW5kSW1hZ2UgPSB0aGlzLmNvbmZpZy5wYXR0ZXJuXG4gICAgICA/IGBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAke1xuICAgICAgICAgIDEgLSBwYXJzZUZsb2F0KHRyYW5zcGFyZW5jeSkgLyAxMDBcbiAgICAgICAgfSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgJHsxIC0gcGFyc2VGbG9hdCh0cmFuc3BhcmVuY3kpIC8gMTAwfSkpLCB1cmwoJHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5wYXR0ZXJuLmltYWdlVXJsXG4gICAgICAgIH0pYFxuICAgICAgOiAnJztcblxuICAgIC8vIEFwcGx5IGJvcmRlciBjb25kaXRpb25hbGx5IGJhc2VkIG9uIG5vQm9yZGVyIHByb3BlcnR5XG4gICAgY29uc3QgYm9yZGVyU3R5bGUgPSB0aGlzLmNvbmZpZy5ub0JvcmRlclxuICAgICAgPyAnbm9uZSdcbiAgICAgIDogYHNvbGlkICR7XG4gICAgICAgICAgdGhpcy5jb25maWcuYm9yZGVyV2lkdGggfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfQk9SREVSX1dJRFRIXG4gICAgICAgIH0gJHt0aGlzLmNvbmZpZy5ib3JkZXJDb2xvciB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9CT1JERVJfQ09MT1J9YDtcblxuICAgIHJldHVybiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6XG4gICAgICAgIHRoaXMuY29uZmlnLmJhY2tncm91bmRDb2xvciB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SLFxuICAgICAgYmFja2dyb3VuZEltYWdlOiBiYWNrZ3JvdW5kSW1hZ2UsXG4gICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvdmVyJyxcbiAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICB3aWR0aDogdGhpcy5jb25maWcud2lkdGggfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfV0lEVEgsXG4gICAgICBoZWlnaHQ6IHRoaXMuY29uZmlnLmhlaWdodCB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9IRUlHSFQsXG4gICAgICBib3JkZXI6IGJvcmRlclN0eWxlLFxuICAgICAgcGFkZGluZzogdGhpcy5jb25maWcucGFkZGluZyB8fCBQVENhcmRDb21wb25lbnQuREVGQVVMVF9QQURESU5HLFxuICAgICAgbWFyZ2luOiB0aGlzLmNvbmZpZy5tYXJnaW4gfHwgUFRDYXJkQ29tcG9uZW50LkRFRkFVTFRfTUFSR0lOLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLmNvbmZpZy5ib3JkZXJSYWRpdXMgfHwgJzhweCcsXG4gICAgICBib3hTaGFkb3c6IHRoaXMuY29uZmlnLmJveFNoYWRvdyB8fCAnMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKScsXG4gICAgfTtcbiAgfVxuXG4gIGlzU2Nyb2xsYWJsZUhvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jb25maWcuc2Nyb2xsYWJsZUhvcml6b250YWw7XG4gIH1cblxuICBpc1Njcm9sbGFibGVWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNvbmZpZy5zY3JvbGxhYmxlVmVydGljYWw7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwdC1jYXJkIGNhcmRcIiBbbmdTdHlsZV09XCJnZXRDYXJkU3R5bGVzKClcIj5cbiAgPGRpdiAqbmdJZj1cImhhc1RpdGxlKClcIiBjbGFzcz1cImNhcmQtaGVhZGVyXCIgW25nU3R5bGVdPVwiZ2V0VGl0bGVTdHlsZXMoKVwiPlxuICAgIDxpXG4gICAgICAqbmdJZj1cImdldEljb25DbGFzcygpICYmIGdldEljb25Qb3NpdGlvbigpID09PSAnbGVmdCdcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0SWNvbkNsYXNzKClcIlxuICAgICAgW25nU3R5bGVdPVwiZ2V0SWNvblN0eWxlcygpXCJcbiAgICAgIGNsYXNzPVwiY2FyZC1oZWFkZXItaWNvbi1sZWZ0XCJcbiAgICA+PC9pPlxuICAgIDxzcGFuPnt7IGdldFRpdGxlVGV4dCgpIH19PC9zcGFuPlxuICAgIDxpXG4gICAgICAqbmdJZj1cImdldEljb25DbGFzcygpICYmIGdldEljb25Qb3NpdGlvbigpID09PSAncmlnaHQnXCJcbiAgICAgIFtuZ0NsYXNzXT1cImdldEljb25DbGFzcygpXCJcbiAgICAgIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoKVwiXG4gICAgICBjbGFzcz1cImNhcmQtaGVhZGVyLWljb24tcmlnaHRcIlxuICAgID48L2k+XG4gICAgPHB0LW1lbnVcbiAgICAgICpuZ0lmPVwiY29uZmlnLm1lbnVcIlxuICAgICAgW2NvbmZpZ109XCJjb25maWcubWVudVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdtZW51LWxlZnQnOiBnZXRNZW51UG9zaXRpb24oKSA9PT0gJ2xlZnQnLFxuICAgICAgICAnbWVudS1yaWdodCc6IGdldE1lbnVQb3NpdGlvbigpID09PSAncmlnaHQnXG4gICAgICB9XCJcbiAgICA+PC9wdC1tZW51PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY2FyZC1ib2R5XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnY2FyZC1ib2R5LXNjcm9sbGFibGUtdmVydGljYWwnOiBpc1Njcm9sbGFibGVWZXJ0aWNhbCgpLFxuICAgICAgJ2NhcmQtYm9keS1zY3JvbGxhYmxlLWhvcml6b250YWwnOiBpc1Njcm9sbGFibGVIb3Jpem9udGFsKClcbiAgICB9XCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
@@ -0,0 +1,92 @@
|
|
1
|
+
import { Component, Input, Output, EventEmitter, } from '@angular/core';
|
2
|
+
import { ConfirmationService, ConfirmEventType, MessageService, } from 'primeng/api';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "primeng/api";
|
5
|
+
import * as i2 from "primeng/toast";
|
6
|
+
import * as i3 from "primeng/confirmdialog";
|
7
|
+
export class PTDialogComponent {
|
8
|
+
constructor(confirmationService, messageService, renderer, el) {
|
9
|
+
this.confirmationService = confirmationService;
|
10
|
+
this.messageService = messageService;
|
11
|
+
this.renderer = renderer;
|
12
|
+
this.el = el;
|
13
|
+
this.dialogModel = {
|
14
|
+
header: { text: 'Confirmation' },
|
15
|
+
visible: false,
|
16
|
+
width: '400px',
|
17
|
+
height: 'auto',
|
18
|
+
content: 'Do you want to proceed?',
|
19
|
+
confirmButtonConfig: {
|
20
|
+
label: 'Confirm',
|
21
|
+
fontColor: '#fff',
|
22
|
+
backgroundColor: '#007bff',
|
23
|
+
},
|
24
|
+
cancelButtonConfig: {
|
25
|
+
label: 'Cancel',
|
26
|
+
fontColor: '#fff',
|
27
|
+
backgroundColor: '#6c757d',
|
28
|
+
},
|
29
|
+
};
|
30
|
+
this.confirm = new EventEmitter();
|
31
|
+
this.cancel = new EventEmitter();
|
32
|
+
}
|
33
|
+
ngOnChanges(changes) {
|
34
|
+
if (changes['dialogModel'] && this.dialogModel.visible) {
|
35
|
+
this.showDialog();
|
36
|
+
}
|
37
|
+
}
|
38
|
+
showDialog() {
|
39
|
+
this.confirmationService.confirm({
|
40
|
+
header: this.dialogModel.header?.text || 'Confirmation',
|
41
|
+
message: this.dialogModel.content || 'Are you sure?',
|
42
|
+
acceptButtonStyleClass: this.getButtonStyle(this.dialogModel.confirmButtonConfig),
|
43
|
+
rejectButtonStyleClass: this.getButtonStyle(this.dialogModel.cancelButtonConfig),
|
44
|
+
acceptIcon: this.dialogModel.confirmButtonConfig?.icon || 'pi pi-check',
|
45
|
+
rejectIcon: this.dialogModel.cancelButtonConfig?.icon || 'pi pi-times',
|
46
|
+
accept: () => {
|
47
|
+
this.confirm.emit();
|
48
|
+
this.messageService.add({
|
49
|
+
severity: 'info',
|
50
|
+
summary: 'Confirmed',
|
51
|
+
detail: 'Action confirmed',
|
52
|
+
life: 3000,
|
53
|
+
});
|
54
|
+
},
|
55
|
+
reject: (type) => {
|
56
|
+
this.cancel.emit();
|
57
|
+
if (type === ConfirmEventType.REJECT) {
|
58
|
+
this.messageService.add({
|
59
|
+
severity: 'error',
|
60
|
+
summary: 'Rejected',
|
61
|
+
detail: 'Action cancelled',
|
62
|
+
life: 3000,
|
63
|
+
});
|
64
|
+
}
|
65
|
+
},
|
66
|
+
});
|
67
|
+
// Use renderer to apply dynamic styles
|
68
|
+
setTimeout(() => {
|
69
|
+
const dialogElement = this.el.nativeElement.querySelector('.p-dialog');
|
70
|
+
if (dialogElement) {
|
71
|
+
this.renderer.setStyle(dialogElement, 'width', this.dialogModel.width || '400px');
|
72
|
+
this.renderer.setStyle(dialogElement, 'height', this.dialogModel.height || 'auto');
|
73
|
+
}
|
74
|
+
}, 0);
|
75
|
+
}
|
76
|
+
getButtonStyle(buttonConfig) {
|
77
|
+
return buttonConfig?.styleClass || 'p-button-sm'; // Default to small button style
|
78
|
+
}
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, deps: [{ token: i1.ConfirmationService }, { token: i1.MessageService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDialogComponent, selector: "pt-dialog", inputs: { dialogModel: "dialogModel" }, outputs: { confirm: "confirm", cancel: "cancel" }, providers: [ConfirmationService, MessageService], usesOnChanges: true, ngImport: i0, template: "<div>\n <p-toast></p-toast>\n <p-confirmDialog>\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\"\n >\n <i [class]=\"dialogModel.header?.icon || 'pi pi-exclamation-circle'\"></i>\n <p>{{ message.message }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i3.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }] }); }
|
81
|
+
}
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogComponent, decorators: [{
|
83
|
+
type: Component,
|
84
|
+
args: [{ selector: 'pt-dialog', providers: [ConfirmationService, MessageService], template: "<div>\n <p-toast></p-toast>\n <p-confirmDialog>\n <ng-template pTemplate=\"message\" let-message>\n <div\n class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\"\n >\n <i [class]=\"dialogModel.header?.icon || 'pi pi-exclamation-circle'\"></i>\n <p>{{ message.message }}</p>\n </div>\n </ng-template>\n </p-confirmDialog>\n</div>\n" }]
|
85
|
+
}], ctorParameters: () => [{ type: i1.ConfirmationService }, { type: i1.MessageService }, { type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { dialogModel: [{
|
86
|
+
type: Input
|
87
|
+
}], confirm: [{
|
88
|
+
type: Output
|
89
|
+
}], cancel: [{
|
90
|
+
type: Output
|
91
|
+
}] } });
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B0LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWRpYWxvZy9wdC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksR0FLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7Ozs7O0FBVXJCLE1BQU0sT0FBTyxpQkFBaUI7SUFzQjVCLFlBQ1UsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLFFBQW1CLEVBQ25CLEVBQWM7UUFIZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUF6QmYsZ0JBQVcsR0FBZ0I7WUFDbEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNoQyxPQUFPLEVBQUUsS0FBSztZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLG1CQUFtQixFQUFFO2dCQUNuQixLQUFLLEVBQUUsU0FBUztnQkFDaEIsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLGVBQWUsRUFBRSxTQUFTO2FBQzNCO1lBQ0Qsa0JBQWtCLEVBQUU7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFNBQVMsRUFBRSxNQUFNO2dCQUNqQixlQUFlLEVBQUUs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LENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO3NLQUd2QyxXQUFXO3NCQUFuQixLQUFLO2dCQWtCSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpcm1hdGlvblNlcnZpY2UsXG4gIENvbmZpcm1FdmVudFR5cGUsXG4gIE1lc3NhZ2VTZXJ2aWNlLFxufSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dNb2RlbCB9IGZyb20gJy4uL21vZGVscy9kaWFsb2cubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYnV0dG9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B0LWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW0NvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUFREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkaWFsb2dNb2RlbDogRGlhbG9nTW9kZWwgPSB7XG4gICAgaGVhZGVyOiB7IHRleHQ6ICdDb25maXJtYXRpb24nIH0sXG4gICAgdmlzaWJsZTogZmFsc2UsXG4gICAgd2lkdGg6ICc0MDBweCcsXG4gICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgY29udGVudDogJ0RvIHlvdSB3YW50IHRvIHByb2NlZWQ/JyxcbiAgICBjb25maXJtQnV0dG9uQ29uZmlnOiB7XG4gICAgICBsYWJlbDogJ0NvbmZpcm0nLFxuICAgICAgZm9udENvbG9yOiAnI2ZmZicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDA3YmZmJyxcbiAgICB9LFxuICAgIGNhbmNlbEJ1dHRvbkNvbmZpZzoge1xuICAgICAgbGFiZWw6ICdDYW5jZWwnLFxuICAgICAgZm9udENvbG9yOiAnI2ZmZicsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjNmM3NTdkJyxcbiAgICB9LFxuICB9O1xuXG4gIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGlhbG9nTW9kZWwnXSAmJiB0aGlzLmRpYWxvZ01vZGVsLnZpc2libGUpIHtcbiAgICAgIHRoaXMuc2hvd0RpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgaGVhZGVyOiB0aGlzLmRpYWxvZ01vZGVsLmhlYWRlcj8udGV4dCB8fCAnQ29uZmlybWF0aW9uJyxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuZGlhbG9nTW9kZWwuY29udGVudCB8fCAnQXJlIHlvdSBzdXJlPycsXG4gICAgICBhY2NlcHRCdXR0b25TdHlsZUNsYXNzOiB0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICB0aGlzLmRpYWxvZ01vZGVsLmNvbmZpcm1CdXR0b25Db25maWdcbiAgICAgICksXG4gICAgICByZWplY3RCdXR0b25TdHlsZUNsYXNzOiB0aGlzLmdldEJ1dHRvblN0eWxlKFxuICAgICAgICB0aGlzLmRpYWxvZ01vZGVsLmNhbmNlbEJ1dHRvbkNvbmZpZ1xuICAgICAgKSxcbiAgICAgIGFjY2VwdEljb246IHRoaXMuZGlhbG9nTW9kZWwuY29uZmlybUJ1dHRvbkNvbmZpZz8uaWNvbiB8fCAncGkgcGktY2hlY2snLFxuICAgICAgcmVqZWN0SWNvbjogdGhpcy5kaWFsb2dNb2RlbC5jYW5jZWxCdXR0b25Db25maWc/Lmljb24gfHwgJ3BpIHBpLXRpbWVzJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCgpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdpbmZvJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnQ29uZmlybWVkJyxcbiAgICAgICAgICBkZXRhaWw6ICdBY3Rpb24gY29uZmlybWVkJyxcbiAgICAgICAgICBsaWZlOiAzMDAwLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICh0eXBlOiBDb25maXJtRXZlbnRUeXBlKSA9PiB7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICAgICAgaWYgKHR5cGUgPT09IENvbmZpcm1FdmVudFR5cGUuUkVKRUNUKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgICBzdW1tYXJ5OiAnUmVqZWN0ZWQnLFxuICAgICAgICAgICAgZGV0YWlsOiAnQWN0aW9uIGNhbmNlbGxlZCcsXG4gICAgICAgICAgICBsaWZlOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gVXNlIHJlbmRlcmVyIHRvIGFwcGx5IGR5bmFtaWMgc3R5bGVzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBkaWFsb2dFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWRpYWxvZycpO1xuICAgICAgaWYgKGRpYWxvZ0VsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICBkaWFsb2dFbGVtZW50LFxuICAgICAgICAgICd3aWR0aCcsXG4gICAgICAgICAgdGhpcy5kaWFsb2dNb2RlbC53aWR0aCB8fCAnNDAwcHgnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgZGlhbG9nRWxlbWVudCxcbiAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICB0aGlzLmRpYWxvZ01vZGVsLmhlaWdodCB8fCAnYXV0bydcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnV0dG9uU3R5bGUoYnV0dG9uQ29uZmlnPzogQnV0dG9uTW9kZWwpOiBzdHJpbmcge1xuICAgIHJldHVybiBidXR0b25Db25maWc/LnN0eWxlQ2xhc3MgfHwgJ3AtYnV0dG9uLXNtJzsgLy8gRGVmYXVsdCB0byBzbWFsbCBidXR0b24gc3R5bGVcbiAgfVxufVxuIiwiPGRpdj5cbiAgPHAtdG9hc3Q+PC9wLXRvYXN0PlxuICA8cC1jb25maXJtRGlhbG9nPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCIgbGV0LW1lc3NhZ2U+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy1mdWxsIGdhcC0zIGJvcmRlci1ib3R0b20tMSBzdXJmYWNlLWJvcmRlclwiXG4gICAgICA+XG4gICAgICAgIDxpIFtjbGFzc109XCJkaWFsb2dNb2RlbC5oZWFkZXI/Lmljb24gfHwgJ3BpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZSdcIj48L2k+XG4gICAgICAgIDxwPnt7IG1lc3NhZ2UubWVzc2FnZSB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1jb25maXJtRGlhbG9nPlxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { PTDialogComponent } from './pt-dialog.component';
|
4
|
+
import { DialogModule } from 'primeng/dialog';
|
5
|
+
import { PTButtonModule } from '../pt-button';
|
6
|
+
import { ToastModule } from 'primeng/toast';
|
7
|
+
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
export class PTDialogModule {
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, declarations: [PTDialogComponent], imports: [CommonModule,
|
12
|
+
DialogModule,
|
13
|
+
PTButtonModule,
|
14
|
+
ToastModule,
|
15
|
+
ConfirmDialogModule], exports: [PTDialogComponent] }); }
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, imports: [CommonModule,
|
17
|
+
DialogModule,
|
18
|
+
PTButtonModule,
|
19
|
+
ToastModule,
|
20
|
+
ConfirmDialogModule] }); }
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDialogModule, decorators: [{
|
23
|
+
type: NgModule,
|
24
|
+
args: [{
|
25
|
+
declarations: [PTDialogComponent],
|
26
|
+
imports: [
|
27
|
+
CommonModule,
|
28
|
+
DialogModule,
|
29
|
+
PTButtonModule,
|
30
|
+
ToastModule,
|
31
|
+
ConfirmDialogModule,
|
32
|
+
],
|
33
|
+
exports: [PTDialogComponent],
|
34
|
+
}]
|
35
|
+
}] });
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B0LWRpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFhNUQsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQVZWLGlCQUFpQixhQUU5QixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsbUJBQW1CLGFBRVgsaUJBQWlCO2dIQUVoQixjQUFjLFlBUnZCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7OzRGQUlWLGNBQWM7a0JBWDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQVERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vcHQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBQVEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL3B0LWJ1dHRvbic7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BURGlhbG9nQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgUFRCdXR0b25Nb2R1bGUsXG4gICAgVG9hc3RNb2R1bGUsXG4gICAgQ29uZmlybURpYWxvZ01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1BURGlhbG9nQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUFREaWFsb2dNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './pt-dialog.component';
|
2
|
+
export * from './pt-dialog.module';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZGlhbG9nL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHQtZGlhbG9nLm1vZHVsZSc7XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWZvb3Rlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "../pt-card/pt-card.component";
|
4
|
+
export class PTFooterComponent {
|
5
|
+
constructor() {
|
6
|
+
this.footerConfig = {
|
7
|
+
appName: 'Default App',
|
8
|
+
version: '1.0.0',
|
9
|
+
productionYear: new Date().getFullYear(),
|
10
|
+
};
|
11
|
+
}
|
12
|
+
getCurrentYear() {
|
13
|
+
return new Date().getFullYear();
|
14
|
+
}
|
15
|
+
getCardConfig() {
|
16
|
+
return (this.footerConfig.cardConfig ?? {
|
17
|
+
backgroundColor: '#f8f8f8',
|
18
|
+
width: '100%',
|
19
|
+
height: 'auto',
|
20
|
+
scrollableVertical: false,
|
21
|
+
padding: '0',
|
22
|
+
margin: '0',
|
23
|
+
});
|
24
|
+
}
|
25
|
+
displayYears() {
|
26
|
+
const currentYear = this.getCurrentYear();
|
27
|
+
const productionYear = this.footerConfig.productionYear;
|
28
|
+
return productionYear === currentYear
|
29
|
+
? `${currentYear}`
|
30
|
+
: `${productionYear} - ${currentYear}`;
|
31
|
+
}
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTFooterComponent, selector: "pt-footer", inputs: { footerConfig: "footerConfig" }, ngImport: i0, template: "<pt-card [config]=\"getCardConfig()\" class=\"footer-card\">\n <footer class=\"footer\">\n <p>\n {{ footerConfig.appName }} V {{ footerConfig.version }}\n <br />\n © {{ displayYears() }} All rights reserved.\n </p>\n </footer>\n</pt-card>\n", styles: [".footer{text-align:center;padding:5px;font-size:14px;line-height:1.8;margin-top:0}.footer-card{width:100%;background-color:transparent;margin-top:0}\n"], dependencies: [{ kind: "component", type: i1.PTCardComponent, selector: "pt-card", inputs: ["config"] }] }); }
|
34
|
+
}
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFooterComponent, decorators: [{
|
36
|
+
type: Component,
|
37
|
+
args: [{ selector: 'pt-footer', template: "<pt-card [config]=\"getCardConfig()\" class=\"footer-card\">\n <footer class=\"footer\">\n <p>\n {{ footerConfig.appName }} V {{ footerConfig.version }}\n <br />\n © {{ displayYears() }} All rights reserved.\n </p>\n </footer>\n</pt-card>\n", styles: [".footer{text-align:center;padding:5px;font-size:14px;line-height:1.8;margin-top:0}.footer-card{width:100%;background-color:transparent;margin-top:0}\n"] }]
|
38
|
+
}], propDecorators: { footerConfig: [{
|
39
|
+
type: Input
|
40
|
+
}] } });
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9vdGVyL3B0LWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWZvb3Rlci9wdC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsaUJBQVksR0FBaUI7WUFDcEMsT0FBTyxFQUFFLGFBQWE7WUFDdEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1NBQ3pDLENBQUM7S0EyQkg7SUF6QkMsY0FBYztRQUNaLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sQ0FDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsSUFBSTtZQUM5QixlQUFlLEVBQUUsU0FBUztZQUMxQixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2Qsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixPQUFPLEVBQUUsR0FBRztZQUNaLE1BQU0sRUFBRSxHQUFHO1NBQ1osQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7UUFFeEQsT0FBTyxjQUFjLEtBQUssV0FBVztZQUNuQyxDQUFDLENBQUMsR0FBRyxXQUFXLEVBQUU7WUFDbEIsQ0FBQyxDQUFDLEdBQUcsY0FBYyxNQUFNLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7K0dBL0JVLGlCQUFpQjttR0FBakIsaUJBQWlCLDJGQ1I5Qiw4UUFTQTs7NEZERGEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVc7OEJBS1osWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvb3RlckNvbmZpZywgQ2FyZENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LWZvb3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wdC1mb290ZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQVEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZvb3RlckNvbmZpZzogRm9vdGVyQ29uZmlnID0ge1xuICAgIGFwcE5hbWU6ICdEZWZhdWx0IEFwcCcsXG4gICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgICBwcm9kdWN0aW9uWWVhcjogbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLFxuICB9O1xuXG4gIGdldEN1cnJlbnRZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIGdldENhcmRDb25maWcoKTogQ2FyZENvbmZpZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZm9vdGVyQ29uZmlnLmNhcmRDb25maWcgPz8ge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjhmOGY4JyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICAgIHNjcm9sbGFibGVWZXJ0aWNhbDogZmFsc2UsXG4gICAgICAgIHBhZGRpbmc6ICcwJyxcbiAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGRpc3BsYXlZZWFycygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5nZXRDdXJyZW50WWVhcigpO1xuICAgIGNvbnN0IHByb2R1Y3Rpb25ZZWFyID0gdGhpcy5mb290ZXJDb25maWcucHJvZHVjdGlvblllYXI7XG5cbiAgICByZXR1cm4gcHJvZHVjdGlvblllYXIgPT09IGN1cnJlbnRZZWFyXG4gICAgICA/IGAke2N1cnJlbnRZZWFyfWBcbiAgICAgIDogYCR7cHJvZHVjdGlvblllYXJ9IC0gJHtjdXJyZW50WWVhcn1gO1xuICB9XG59XG4iLCI8cHQtY2FyZCBbY29uZmlnXT1cImdldENhcmRDb25maWcoKVwiIGNsYXNzPVwiZm9vdGVyLWNhcmRcIj5cbiAgPGZvb3RlciBjbGFzcz1cImZvb3RlclwiPlxuICAgIDxwPlxuICAgICAge3sgZm9vdGVyQ29uZmlnLmFwcE5hbWUgfX0gViB7eyBmb290ZXJDb25maWcudmVyc2lvbiB9fVxuICAgICAgPGJyIC8+XG4gICAgICAmY29weTsge3sgZGlzcGxheVllYXJzKCkgfX0gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAgICA8L3A+XG4gIDwvZm9vdGVyPlxuPC9wdC1jYXJkPlxuIl19
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { PTFooterComponent } from './pt-footer.component';
|
4
|
+
import { PTCardModule } from '../pt-card';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class PTFooterModule {
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTFooterModule, declarations: [PTFooterComponent], imports: [CommonModule, PTCardModule], exports: [PTFooterComponent] }); }
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFooterModule, imports: [CommonModule, PTCardModule] }); }
|
10
|
+
}
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFooterModule, decorators: [{
|
12
|
+
type: NgModule,
|
13
|
+
args: [{
|
14
|
+
declarations: [PTFooterComponent],
|
15
|
+
imports: [CommonModule, PTCardModule],
|
16
|
+
exports: [PTFooterComponent],
|
17
|
+
}]
|
18
|
+
}] });
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZm9vdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9vdGVyL3B0LWZvb3Rlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLGlCQUpWLGlCQUFpQixhQUN0QixZQUFZLEVBQUUsWUFBWSxhQUMxQixpQkFBaUI7Z0hBRWhCLGNBQWMsWUFIZixZQUFZLEVBQUUsWUFBWTs7NEZBR3pCLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUFRGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL3B0LWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUFRDYXJkTW9kdWxlIH0gZnJvbSAnLi4vcHQtY2FyZCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BURm9vdGVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUFRDYXJkTW9kdWxlXSxcbiAgZXhwb3J0czogW1BURm9vdGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUFRGb290ZXJNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './pt-footer.component';
|
2
|
+
export * from './pt-footer.module';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9vdGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdC1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHQtZm9vdGVyLm1vZHVsZSc7XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWxvZ2luLXBhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -0,0 +1,142 @@
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
|
+
import { Validators } from '@angular/forms';
|
3
|
+
import { FormInputTypeEnum } from '../enums';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/forms";
|
6
|
+
import * as i2 from "@angular/common";
|
7
|
+
import * as i3 from "../pt-text-input/pt-text-input.component";
|
8
|
+
import * as i4 from "../pt-card/pt-card.component";
|
9
|
+
import * as i5 from "../pt-button/pt-button.component";
|
10
|
+
export class PTLoginPageComponent {
|
11
|
+
constructor(fb) {
|
12
|
+
this.fb = fb;
|
13
|
+
this.loginSubmit = new EventEmitter();
|
14
|
+
this.backgroundImageStyle = '';
|
15
|
+
this.formGroup = this.fb.group({});
|
16
|
+
}
|
17
|
+
ngOnInit() {
|
18
|
+
this.initializeDefaults();
|
19
|
+
this.setupFormFields();
|
20
|
+
this.formGroup.patchValue({
|
21
|
+
username: this.loginPageConfig.login?.username || '',
|
22
|
+
password: this.loginPageConfig.login?.password || '',
|
23
|
+
});
|
24
|
+
this.setBackgroundImageStyle();
|
25
|
+
// Enable/Disable the button based on form validity
|
26
|
+
this.formGroup.statusChanges.subscribe((status) => {
|
27
|
+
this.loginPageConfig.buttonConfig.disabled = status !== 'VALID';
|
28
|
+
});
|
29
|
+
}
|
30
|
+
// Initialize default values for all fields in loginPageConfig if not set
|
31
|
+
initializeDefaults() {
|
32
|
+
// Initialize backgroundImage
|
33
|
+
this.loginPageConfig.backgroundImage = {
|
34
|
+
imageUrl: this.loginPageConfig.backgroundImage?.imageUrl || '',
|
35
|
+
transparencyPercentage: this.loginPageConfig.backgroundImage?.transparencyPercentage || '100',
|
36
|
+
...this.loginPageConfig.backgroundImage,
|
37
|
+
};
|
38
|
+
// Initialize title
|
39
|
+
this.loginPageConfig.title = {
|
40
|
+
text: this.loginPageConfig.title?.text || 'Login',
|
41
|
+
position: this.loginPageConfig.title?.position || 'center',
|
42
|
+
color: this.loginPageConfig.title?.color || '#333',
|
43
|
+
fontSize: this.loginPageConfig.title?.fontSize || '24px',
|
44
|
+
...this.loginPageConfig.title,
|
45
|
+
};
|
46
|
+
// Initialize logoUrl
|
47
|
+
this.loginPageConfig.logoUrl = {
|
48
|
+
altText: this.loginPageConfig.logoUrl?.altText || 'Logo',
|
49
|
+
imageUrl: this.loginPageConfig.logoUrl?.imageUrl || '',
|
50
|
+
width: this.loginPageConfig.logoUrl?.width || '100px',
|
51
|
+
height: this.loginPageConfig.logoUrl?.height || 'auto',
|
52
|
+
...this.loginPageConfig.logoUrl,
|
53
|
+
};
|
54
|
+
// Initialize footer
|
55
|
+
this.loginPageConfig.footer = {
|
56
|
+
version: this.loginPageConfig.footer?.version || 'V1.0',
|
57
|
+
copyright: this.loginPageConfig.footer?.copyright || 'Your Company © 2024',
|
58
|
+
...this.loginPageConfig.footer,
|
59
|
+
};
|
60
|
+
// Initialize login
|
61
|
+
this.loginPageConfig.login = {
|
62
|
+
username: this.loginPageConfig.login?.username || '',
|
63
|
+
password: this.loginPageConfig.login?.password || '',
|
64
|
+
errorMessage: this.loginPageConfig.login?.errorMessage || '',
|
65
|
+
emptyFieldsErrorMessage: this.loginPageConfig.login?.emptyFieldsErrorMessage ||
|
66
|
+
"Veuillez saisir votre nom d'utilisateur et votre mot de passe !",
|
67
|
+
...this.loginPageConfig.login,
|
68
|
+
};
|
69
|
+
// Initialize cardConfig
|
70
|
+
this.loginPageConfig.cardConfig = {
|
71
|
+
noBorder: this.loginPageConfig.cardConfig?.noBorder ?? true,
|
72
|
+
width: this.loginPageConfig.cardConfig?.width ?? '400px',
|
73
|
+
padding: this.loginPageConfig.cardConfig?.padding ?? '40px',
|
74
|
+
...this.loginPageConfig.cardConfig,
|
75
|
+
};
|
76
|
+
// Initialize usernameField
|
77
|
+
this.loginPageConfig.usernameField = {
|
78
|
+
name: this.loginPageConfig.usernameField?.name || 'username',
|
79
|
+
label: this.loginPageConfig.usernameField?.label || "Nom d'utilisateur",
|
80
|
+
required: this.loginPageConfig.usernameField?.required ?? true,
|
81
|
+
placeholder: this.loginPageConfig.usernameField?.placeholder ||
|
82
|
+
"Entrer votre nom d'utilisateur",
|
83
|
+
...this.loginPageConfig.usernameField,
|
84
|
+
};
|
85
|
+
// Initialize passwordField
|
86
|
+
this.loginPageConfig.passwordField = {
|
87
|
+
name: this.loginPageConfig.passwordField?.name || 'password',
|
88
|
+
label: this.loginPageConfig.passwordField?.label || 'Mot de passe',
|
89
|
+
required: this.loginPageConfig.passwordField?.required ?? true,
|
90
|
+
placeholder: this.loginPageConfig.passwordField?.placeholder ||
|
91
|
+
'Entrer votre mot de passe',
|
92
|
+
type: this.loginPageConfig.passwordField?.type || FormInputTypeEnum.PASSWORD,
|
93
|
+
...this.loginPageConfig.passwordField,
|
94
|
+
};
|
95
|
+
// Initialize buttonConfig
|
96
|
+
this.loginPageConfig.buttonConfig = {
|
97
|
+
label: this.loginPageConfig.buttonConfig?.label || 'Login',
|
98
|
+
type: this.loginPageConfig.buttonConfig?.type || 'submit',
|
99
|
+
icon: this.loginPageConfig.buttonConfig?.icon || 'pi pi-sign-in',
|
100
|
+
iconPos: this.loginPageConfig.buttonConfig?.iconPos || 'left',
|
101
|
+
styleClass: this.loginPageConfig.buttonConfig?.styleClass || 'p-button-success',
|
102
|
+
disabled: this.loginPageConfig.buttonConfig?.disabled ?? true,
|
103
|
+
width: this.loginPageConfig.buttonConfig?.width ?? '100%',
|
104
|
+
...this.loginPageConfig.buttonConfig,
|
105
|
+
};
|
106
|
+
}
|
107
|
+
setBackgroundImageStyle() {
|
108
|
+
const transparency = parseFloat(this.loginPageConfig?.backgroundImage?.transparencyPercentage) / 100;
|
109
|
+
this.backgroundImageStyle = `linear-gradient(rgba(255,255,255,${1 - transparency}), rgba(255,255,255,${1 - transparency})), url(${this.loginPageConfig?.backgroundImage?.imageUrl})`;
|
110
|
+
}
|
111
|
+
login() {
|
112
|
+
if (this.formGroup.valid) {
|
113
|
+
this.loginSubmit.emit(this.formGroup.value);
|
114
|
+
}
|
115
|
+
else {
|
116
|
+
this.loginPageConfig.login.errorMessage =
|
117
|
+
this.loginPageConfig.login?.emptyFieldsErrorMessage;
|
118
|
+
}
|
119
|
+
}
|
120
|
+
// Setup form fields using the usernameField and passwordField from LoginPageConfig
|
121
|
+
setupFormFields() {
|
122
|
+
const usernameValidators = this.loginPageConfig.usernameField?.required
|
123
|
+
? [Validators.required]
|
124
|
+
: [];
|
125
|
+
const passwordValidators = this.loginPageConfig.passwordField?.required
|
126
|
+
? [Validators.required]
|
127
|
+
: [];
|
128
|
+
this.formGroup.addControl(this.loginPageConfig.usernameField.name, this.fb.control(this.loginPageConfig.login?.username, usernameValidators));
|
129
|
+
this.formGroup.addControl(this.loginPageConfig.passwordField.name, this.fb.control(this.loginPageConfig.login?.password, passwordValidators));
|
130
|
+
}
|
131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTLoginPageComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTLoginPageComponent, selector: "pt-login-page", inputs: { loginPageConfig: "loginPageConfig" }, outputs: { loginSubmit: "loginSubmit" }, ngImport: i0, template: "<div\n class=\"login-container\"\n [ngStyle]=\"{\n 'background-image': backgroundImageStyle\n }\"\n>\n <pt-card [config]=\"loginPageConfig.cardConfig!\">\n <div class=\"logo-container\" *ngIf=\"loginPageConfig.logoUrl?.imageUrl\">\n <img\n [src]=\"loginPageConfig.logoUrl?.imageUrl\"\n [alt]=\"loginPageConfig.logoUrl?.altText\"\n [style.width]=\"loginPageConfig.logoUrl?.width\"\n [style.height]=\"loginPageConfig.logoUrl?.height\"\n />\n </div>\n\n <div\n class=\"title-container\"\n [ngStyle]=\"{ 'text-align': loginPageConfig.title?.position }\"\n >\n <h1\n [ngStyle]=\"{\n color: loginPageConfig.title?.color,\n 'font-size': loginPageConfig.title?.fontSize\n }\"\n >\n {{ loginPageConfig.title?.text }}\n </h1>\n </div>\n\n <form class=\"form-container\" [formGroup]=\"formGroup\" (ngSubmit)=\"login()\">\n <div *ngIf=\"loginPageConfig.login?.errorMessage\" class=\"error-message\">\n {{ loginPageConfig.login?.errorMessage }}\n </div>\n <div class=\"field\">\n <pt-text-input\n [formGroup]=\"formGroup\"\n [formField]=\"loginPageConfig.usernameField!\"\n ></pt-text-input>\n </div>\n <div class=\"field\">\n <pt-text-input\n [formGroup]=\"formGroup\"\n [formField]=\"loginPageConfig.passwordField!\"\n ></pt-text-input>\n </div>\n <div class=\"submit-btn\">\n <pt-button [buttonConfig]=\"loginPageConfig.buttonConfig!\"></pt-button>\n </div>\n </form>\n\n <div class=\"login-footer\">\n {{ loginPageConfig.footer?.version }}\n <span>{{ loginPageConfig.footer?.copyright }}</span>\n </div>\n </pt-card>\n</div>\n", styles: [".login-container{background-size:cover;background-position:center;background-repeat:no-repeat;height:100vh;width:100vw;display:flex;justify-content:center;align-items:center}.error-message{color:red;background-color:#ffe6e6;border:1px solid red;padding:10px;margin-bottom:10px;border-radius:5px;width:100%}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.title-container{text-align:center;margin-bottom:20px}.field{display:flex;flex-direction:column;margin-bottom:20px;width:100%}.submit-btn{display:flex;justify-content:center;width:100%}::ng-deep pt-button{width:100%}::ng-deep .submit-btn p-button button{width:100%}@media (max-width: 768px){.submit-btn{min-width:100%}}.login-footer{margin-top:20px;text-align:center;font-size:.9em;color:#555}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PTTextInputComponent, selector: "pt-text-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i4.PTCardComponent, selector: "pt-card", inputs: ["config"] }, { kind: "component", type: i5.PTButtonComponent, selector: "pt-button", inputs: ["buttonConfig"] }] }); }
|
133
|
+
}
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTLoginPageComponent, decorators: [{
|
135
|
+
type: Component,
|
136
|
+
args: [{ selector: 'pt-login-page', template: "<div\n class=\"login-container\"\n [ngStyle]=\"{\n 'background-image': backgroundImageStyle\n }\"\n>\n <pt-card [config]=\"loginPageConfig.cardConfig!\">\n <div class=\"logo-container\" *ngIf=\"loginPageConfig.logoUrl?.imageUrl\">\n <img\n [src]=\"loginPageConfig.logoUrl?.imageUrl\"\n [alt]=\"loginPageConfig.logoUrl?.altText\"\n [style.width]=\"loginPageConfig.logoUrl?.width\"\n [style.height]=\"loginPageConfig.logoUrl?.height\"\n />\n </div>\n\n <div\n class=\"title-container\"\n [ngStyle]=\"{ 'text-align': loginPageConfig.title?.position }\"\n >\n <h1\n [ngStyle]=\"{\n color: loginPageConfig.title?.color,\n 'font-size': loginPageConfig.title?.fontSize\n }\"\n >\n {{ loginPageConfig.title?.text }}\n </h1>\n </div>\n\n <form class=\"form-container\" [formGroup]=\"formGroup\" (ngSubmit)=\"login()\">\n <div *ngIf=\"loginPageConfig.login?.errorMessage\" class=\"error-message\">\n {{ loginPageConfig.login?.errorMessage }}\n </div>\n <div class=\"field\">\n <pt-text-input\n [formGroup]=\"formGroup\"\n [formField]=\"loginPageConfig.usernameField!\"\n ></pt-text-input>\n </div>\n <div class=\"field\">\n <pt-text-input\n [formGroup]=\"formGroup\"\n [formField]=\"loginPageConfig.passwordField!\"\n ></pt-text-input>\n </div>\n <div class=\"submit-btn\">\n <pt-button [buttonConfig]=\"loginPageConfig.buttonConfig!\"></pt-button>\n </div>\n </form>\n\n <div class=\"login-footer\">\n {{ loginPageConfig.footer?.version }}\n <span>{{ loginPageConfig.footer?.copyright }}</span>\n </div>\n </pt-card>\n</div>\n", styles: [".login-container{background-size:cover;background-position:center;background-repeat:no-repeat;height:100vh;width:100vw;display:flex;justify-content:center;align-items:center}.error-message{color:red;background-color:#ffe6e6;border:1px solid red;padding:10px;margin-bottom:10px;border-radius:5px;width:100%}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.title-container{text-align:center;margin-bottom:20px}.field{display:flex;flex-direction:column;margin-bottom:20px;width:100%}.submit-btn{display:flex;justify-content:center;width:100%}::ng-deep pt-button{width:100%}::ng-deep .submit-btn p-button button{width:100%}@media (max-width: 768px){.submit-btn{min-width:100%}}.login-footer{margin-top:20px;text-align:center;font-size:.9em;color:#555}\n"] }]
|
137
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { loginPageConfig: [{
|
138
|
+
type: Input
|
139
|
+
}], loginSubmit: [{
|
140
|
+
type: Output
|
141
|
+
}] } });
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbG9naW4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWxvZ2luLXBhZ2UvcHQtbG9naW4tcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWxvZ2luLXBhZ2UvcHQtbG9naW4tcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFOekIsZ0JBQVcsR0FDbkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUdqQyx5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFHaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxJQUFJLEVBQUU7WUFDcEQsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFO1NBQ3JELENBQUMs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RUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMb2dpblBhZ2VDb25maWcsIExvZ2luTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUlucHV0VHlwZUVudW0gfSBmcm9tICcuLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LWxvZ2luLXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHQtbG9naW4tcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B0LWxvZ2luLXBhZ2UuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQVExvZ2luUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxvZ2luUGFnZUNvbmZpZyE6IExvZ2luUGFnZUNvbmZpZztcblxuICBAT3V0cHV0KCkgbG9naW5TdWJtaXQ6IEV2ZW50RW1pdHRlcjxMb2dpbk1vZGVsPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxMb2dpbk1vZGVsPigpO1xuXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBiYWNrZ3JvdW5kSW1hZ2VTdHlsZTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRGVmYXVsdHMoKTtcbiAgICB0aGlzLnNldHVwRm9ybUZpZWxkcygpO1xuICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgdXNlcm5hbWU6IHRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ2luPy51c2VybmFtZSB8fCAnJyxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy5sb2dpbj8ucGFzc3dvcmQgfHwgJycsXG4gICAgfSk7XG4gICAgdGhpcy5zZXRCYWNrZ3JvdW5kSW1hZ2VTdHlsZSgpO1xuXG4gICAgLy8gRW5hYmxlL0Rpc2FibGUgdGhlIGJ1dHRvbiBiYXNlZCBvbiBmb3JtIHZhbGlkaXR5XG4gICAgdGhpcy5mb3JtR3JvdXAuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgdGhpcy5sb2dpblBhZ2VDb25maWcuYnV0dG9uQ29uZmlnIS5kaXNhYmxlZCA9IHN0YXR1cyAhPT0gJ1ZBTElEJztcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluaXRpYWxpemUgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBmaWVsZHMgaW4gbG9naW5QYWdlQ29uZmlnIGlmIG5vdCBzZXRcbiAgaW5pdGlhbGl6ZURlZmF1bHRzKCkge1xuICAgIC8vIEluaXRpYWxpemUgYmFja2dyb3VuZEltYWdlXG4gICAgdGhpcy5sb2dpblBhZ2VDb25maWcuYmFja2dyb3VuZEltYWdlID0ge1xuICAgICAgaW1hZ2VVcmw6IHRoaXMubG9naW5QYWdlQ29uZmlnLmJhY2tncm91bmRJbWFnZT8uaW1hZ2VVcmwgfHwgJycsXG4gICAgICB0cmFuc3BhcmVuY3lQZXJjZW50YWdlOlxuICAgICAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5iYWNrZ3JvdW5kSW1hZ2U/LnRyYW5zcGFyZW5jeVBlcmNlbnRhZ2UgfHwgJzEwMCcsXG4gICAgICAuLi50aGlzLmxvZ2luUGFnZUNvbmZpZy5iYWNrZ3JvdW5kSW1hZ2UsXG4gICAgfTtcblxuICAgIC8vIEluaXRpYWxpemUgdGl0bGVcbiAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy50aXRsZSA9IHtcbiAgICAgIHRleHQ6IHRoaXMubG9naW5QYWdlQ29uZmlnLnRpdGxlPy50ZXh0IHx8ICdMb2dpbicsXG4gICAgICBwb3NpdGlvbjogdGhpcy5sb2dpblBhZ2VDb25maWcudGl0bGU/LnBvc2l0aW9uIHx8ICdjZW50ZXInLFxuICAgICAgY29sb3I6IHRoaXMubG9naW5QYWdlQ29uZmlnLnRpdGxlPy5jb2xvciB8fCAnIzMzMycsXG4gICAgICBmb250U2l6ZTogdGhpcy5sb2dpblBhZ2VDb25maWcudGl0bGU/LmZvbnRTaXplIHx8ICcyNHB4JyxcbiAgICAgIC4uLnRoaXMubG9naW5QYWdlQ29uZmlnLnRpdGxlLFxuICAgIH07XG5cbiAgICAvLyBJbml0aWFsaXplIGxvZ29VcmxcbiAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5sb2dvVXJsID0ge1xuICAgICAgYWx0VGV4dDogdGhpcy5sb2dpblBhZ2VDb25maWcubG9nb1VybD8uYWx0VGV4dCB8fCAnTG9nbycsXG4gICAgICBpbWFnZVVybDogdGhpcy5sb2dpblBhZ2VDb25maWcubG9nb1VybD8uaW1hZ2VVcmwgfHwgJycsXG4gICAgICB3aWR0aDogdGhpcy5sb2dpblBhZ2VDb25maWcubG9nb1VybD8ud2lkdGggfHwgJzEwMHB4JyxcbiAgICAgIGhlaWdodDogdGhpcy5sb2dpblBhZ2VDb25maWcubG9nb1VybD8uaGVpZ2h0IHx8ICdhdXRvJyxcbiAgICAgIC4uLnRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ29VcmwsXG4gICAgfTtcblxuICAgIC8vIEluaXRpYWxpemUgZm9vdGVyXG4gICAgdGhpcy5sb2dpblBhZ2VDb25maWcuZm9vdGVyID0ge1xuICAgICAgdmVyc2lvbjogdGhpcy5sb2dpblBhZ2VDb25maWcuZm9vdGVyPy52ZXJzaW9uIHx8ICdWMS4wJyxcbiAgICAgIGNvcHlyaWdodDpcbiAgICAgICAgdGhpcy5sb2dpblBhZ2VDb25maWcuZm9vdGVyPy5jb3B5cmlnaHQgfHwgJ1lvdXIgQ29tcGFueSDCqSAyMDI0JyxcbiAgICAgIC4uLnRoaXMubG9naW5QYWdlQ29uZmlnLmZvb3RlcixcbiAgICB9O1xuXG4gICAgLy8gSW5pdGlhbGl6ZSBsb2dpblxuICAgIHRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ2luID0ge1xuICAgICAgdXNlcm5hbWU6IHRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ2luPy51c2VybmFtZSB8fCAnJyxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy5sb2dpbj8ucGFzc3dvcmQgfHwgJycsXG4gICAgICBlcnJvck1lc3NhZ2U6IHRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ2luPy5lcnJvck1lc3NhZ2UgfHwgJycsXG4gICAgICBlbXB0eUZpZWxkc0Vycm9yTWVzc2FnZTpcbiAgICAgICAgdGhpcy5sb2dpblBhZ2VDb25maWcubG9naW4/LmVtcHR5RmllbGRzRXJyb3JNZXNzYWdlIHx8XG4gICAgICAgIFwiVmV1aWxsZXogc2Fpc2lyIHZvdHJlIG5vbSBkJ3V0aWxpc2F0ZXVyIGV0IHZvdHJlIG1vdCBkZSBwYXNzZSAhXCIsXG4gICAgICAuLi50aGlzLmxvZ2luUGFnZUNvbmZpZy5sb2dpbixcbiAgICB9O1xuXG4gICAgLy8gSW5pdGlhbGl6ZSBjYXJkQ29uZmlnXG4gICAgdGhpcy5sb2dpblBhZ2VDb25maWcuY2FyZENvbmZpZyA9IHtcbiAgICAgIG5vQm9yZGVyOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy5jYXJkQ29uZmlnPy5ub0JvcmRlciA/PyB0cnVlLFxuICAgICAgd2lkdGg6IHRoaXMubG9naW5QYWdlQ29uZmlnLmNhcmRDb25maWc/LndpZHRoID8/ICc0MDBweCcsXG4gICAgICBwYWRkaW5nOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy5jYXJkQ29uZmlnPy5wYWRkaW5nID8/ICc0MHB4JyxcbiAgICAgIC4uLnRoaXMubG9naW5QYWdlQ29uZmlnLmNhcmRDb25maWcsXG4gICAgfTtcblxuICAgIC8vIEluaXRpYWxpemUgdXNlcm5hbWVGaWVsZFxuICAgIHRoaXMubG9naW5QYWdlQ29uZmlnLnVzZXJuYW1lRmllbGQgPSB7XG4gICAgICBuYW1lOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy51c2VybmFtZUZpZWxkPy5uYW1lIHx8ICd1c2VybmFtZScsXG4gICAgICBsYWJlbDogdGhpcy5sb2dpblBhZ2VDb25maWcudXNlcm5hbWVGaWVsZD8ubGFiZWwgfHwgXCJOb20gZCd1dGlsaXNhdGV1clwiLFxuICAgICAgcmVxdWlyZWQ6IHRoaXMubG9naW5QYWdlQ29uZmlnLnVzZXJuYW1lRmllbGQ/LnJlcXVpcmVkID8/IHRydWUsXG4gICAgICBwbGFjZWhvbGRlcjpcbiAgICAgICAgdGhpcy5sb2dpblBhZ2VDb25maWcudXNlcm5hbWVGaWVsZD8ucGxhY2Vob2xkZXIgfHxcbiAgICAgICAgXCJFbnRyZXIgdm90cmUgbm9tIGQndXRpbGlzYXRldXJcIixcbiAgICAgIC4uLnRoaXMubG9naW5QYWdlQ29uZmlnLnVzZXJuYW1lRmllbGQsXG4gICAgfTtcblxuICAgIC8vIEluaXRpYWxpemUgcGFzc3dvcmRGaWVsZFxuICAgIHRoaXMubG9naW5QYWdlQ29uZmlnLnBhc3N3b3JkRmllbGQgPSB7XG4gICAgICBuYW1lOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy5wYXNzd29yZEZpZWxkPy5uYW1lIHx8ICdwYXNzd29yZCcsXG4gICAgICBsYWJlbDogdGhpcy5sb2dpblBhZ2VDb25maWcucGFzc3dvcmRGaWVsZD8ubGFiZWwgfHwgJ01vdCBkZSBwYXNzZScsXG4gICAgICByZXF1aXJlZDogdGhpcy5sb2dpblBhZ2VDb25maWcucGFzc3dvcmRGaWVsZD8ucmVxdWlyZWQgPz8gdHJ1ZSxcbiAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5wYXNzd29yZEZpZWxkPy5wbGFjZWhvbGRlciB8fFxuICAgICAgICAnRW50cmVyIHZvdHJlIG1vdCBkZSBwYXNzZScsXG4gICAgICB0eXBlOlxuICAgICAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5wYXNzd29yZEZpZWxkPy50eXBlIHx8IEZvcm1JbnB1dFR5cGVFbnVtLlBBU1NXT1JELFxuICAgICAgLi4udGhpcy5sb2dpblBhZ2VDb25maWcucGFzc3dvcmRGaWVsZCxcbiAgICB9O1xuXG4gICAgLy8gSW5pdGlhbGl6ZSBidXR0b25Db25maWdcbiAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5idXR0b25Db25maWcgPSB7XG4gICAgICBsYWJlbDogdGhpcy5sb2dpblBhZ2VDb25maWcuYnV0dG9uQ29uZmlnPy5sYWJlbCB8fCAnTG9naW4nLFxuICAgICAgdHlwZTogdGhpcy5sb2dpblBhZ2VDb25maWcuYnV0dG9uQ29uZmlnPy50eXBlIHx8ICdzdWJtaXQnLFxuICAgICAgaWNvbjogdGhpcy5sb2dpblBhZ2VDb25maWcuYnV0dG9uQ29uZmlnPy5pY29uIHx8ICdwaSBwaS1zaWduLWluJyxcbiAgICAgIGljb25Qb3M6IHRoaXMubG9naW5QYWdlQ29uZmlnLmJ1dHRvbkNvbmZpZz8uaWNvblBvcyB8fCAnbGVmdCcsXG4gICAgICBzdHlsZUNsYXNzOlxuICAgICAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5idXR0b25Db25maWc/LnN0eWxlQ2xhc3MgfHwgJ3AtYnV0dG9uLXN1Y2Nlc3MnLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMubG9naW5QYWdlQ29uZmlnLmJ1dHRvbkNvbmZpZz8uZGlzYWJsZWQgPz8gdHJ1ZSxcbiAgICAgIHdpZHRoOiB0aGlzLmxvZ2luUGFnZUNvbmZpZy5idXR0b25Db25maWc/LndpZHRoID8/ICcxMDAlJyxcbiAgICAgIC4uLnRoaXMubG9naW5QYWdlQ29uZmlnLmJ1dHRvbkNvbmZpZyxcbiAgICB9O1xuICB9XG5cbiAgc2V0QmFja2dyb3VuZEltYWdlU3R5bGUoKSB7XG4gICAgY29uc3QgdHJhbnNwYXJlbmN5ID1cbiAgICAgIHBhcnNlRmxvYXQoXG4gICAgICAgIHRoaXMubG9naW5QYWdlQ29uZmlnPy5iYWNrZ3JvdW5kSW1hZ2U/LnRyYW5zcGFyZW5jeVBlcmNlbnRhZ2UhXG4gICAgICApIC8gMTAwO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlU3R5bGUgPSBgbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsJHtcbiAgICAgIDEgLSB0cmFuc3BhcmVuY3lcbiAgICB9KSwgcmdiYSgyNTUsMjU1LDI1NSwkezEgLSB0cmFuc3BhcmVuY3l9KSksIHVybCgke1xuICAgICAgdGhpcy5sb2dpblBhZ2VDb25maWc/LmJhY2tncm91bmRJbWFnZT8uaW1hZ2VVcmxcbiAgICB9KWA7XG4gIH1cblxuICBsb2dpbigpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIHRoaXMubG9naW5TdWJtaXQuZW1pdCh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ2luIS5lcnJvck1lc3NhZ2UgPVxuICAgICAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5sb2dpbj8uZW1wdHlGaWVsZHNFcnJvck1lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0dXAgZm9ybSBmaWVsZHMgdXNpbmcgdGhlIHVzZXJuYW1lRmllbGQgYW5kIHBhc3N3b3JkRmllbGQgZnJvbSBMb2dpblBhZ2VDb25maWdcbiAgc2V0dXBGb3JtRmllbGRzKCkge1xuICAgIGNvbnN0IHVzZXJuYW1lVmFsaWRhdG9ycyA9IHRoaXMubG9naW5QYWdlQ29uZmlnLnVzZXJuYW1lRmllbGQ/LnJlcXVpcmVkXG4gICAgICA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgOiBbXTtcbiAgICBjb25zdCBwYXNzd29yZFZhbGlkYXRvcnMgPSB0aGlzLmxvZ2luUGFnZUNvbmZpZy5wYXNzd29yZEZpZWxkPy5yZXF1aXJlZFxuICAgICAgPyBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIDogW107XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgdGhpcy5sb2dpblBhZ2VDb25maWcudXNlcm5hbWVGaWVsZCEubmFtZSxcbiAgICAgIHRoaXMuZmIuY29udHJvbCh0aGlzLmxvZ2luUGFnZUNvbmZpZy5sb2dpbj8udXNlcm5hbWUsIHVzZXJuYW1lVmFsaWRhdG9ycylcbiAgICApO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICB0aGlzLmxvZ2luUGFnZUNvbmZpZy5wYXNzd29yZEZpZWxkIS5uYW1lLFxuICAgICAgdGhpcy5mYi5jb250cm9sKHRoaXMubG9naW5QYWdlQ29uZmlnLmxvZ2luPy5wYXNzd29yZCwgcGFzc3dvcmRWYWxpZGF0b3JzKVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsb2dpbi1jb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgJ2JhY2tncm91bmQtaW1hZ2UnOiBiYWNrZ3JvdW5kSW1hZ2VTdHlsZVxuICB9XCJcbj5cbiAgPHB0LWNhcmQgW2NvbmZpZ109XCJsb2dpblBhZ2VDb25maWcuY2FyZENvbmZpZyFcIj5cbiAgICA8ZGl2IGNsYXNzPVwibG9nby1jb250YWluZXJcIiAqbmdJZj1cImxvZ2luUGFnZUNvbmZpZy5sb2dvVXJsPy5pbWFnZVVybFwiPlxuICAgICAgPGltZ1xuICAgICAgICBbc3JjXT1cImxvZ2luUGFnZUNvbmZpZy5sb2dvVXJsPy5pbWFnZVVybFwiXG4gICAgICAgIFthbHRdPVwibG9naW5QYWdlQ29uZmlnLmxvZ29Vcmw/LmFsdFRleHRcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwibG9naW5QYWdlQ29uZmlnLmxvZ29Vcmw/LndpZHRoXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJsb2dpblBhZ2VDb25maWcubG9nb1VybD8uaGVpZ2h0XCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7ICd0ZXh0LWFsaWduJzogbG9naW5QYWdlQ29uZmlnLnRpdGxlPy5wb3NpdGlvbiB9XCJcbiAgICA+XG4gICAgICA8aDFcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIGNvbG9yOiBsb2dpblBhZ2VDb25maWcudGl0bGU/LmNvbG9yLFxuICAgICAgICAgICdmb250LXNpemUnOiBsb2dpblBhZ2VDb25maWcudGl0bGU/LmZvbnRTaXplXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICB7eyBsb2dpblBhZ2VDb25maWcudGl0bGU/LnRleHQgfX1cbiAgICAgIDwvaDE+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9ybSBjbGFzcz1cImZvcm0tY29udGFpbmVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAobmdTdWJtaXQpPVwibG9naW4oKVwiPlxuICAgICAgPGRpdiAqbmdJZj1cImxvZ2luUGFnZUNvbmZpZy5sb2dpbj8uZXJyb3JNZXNzYWdlXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAgICAgIHt7IGxvZ2luUGFnZUNvbmZpZy5sb2dpbj8uZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICA8cHQtdGV4dC1pbnB1dFxuICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICBbZm9ybUZpZWxkXT1cImxvZ2luUGFnZUNvbmZpZy51c2VybmFtZUZpZWxkIVwiXG4gICAgICAgID48L3B0LXRleHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgICA8cHQtdGV4dC1pbnB1dFxuICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICBbZm9ybUZpZWxkXT1cImxvZ2luUGFnZUNvbmZpZy5wYXNzd29yZEZpZWxkIVwiXG4gICAgICAgID48L3B0LXRleHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdWJtaXQtYnRuXCI+XG4gICAgICAgIDxwdC1idXR0b24gW2J1dHRvbkNvbmZpZ109XCJsb2dpblBhZ2VDb25maWcuYnV0dG9uQ29uZmlnIVwiPjwvcHQtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuXG4gICAgPGRpdiBjbGFzcz1cImxvZ2luLWZvb3RlclwiPlxuICAgICAge3sgbG9naW5QYWdlQ29uZmlnLmZvb3Rlcj8udmVyc2lvbiB9fVxuICAgICAgPHNwYW4+e3sgbG9naW5QYWdlQ29uZmlnLmZvb3Rlcj8uY29weXJpZ2h0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L3B0LWNhcmQ+XG48L2Rpdj5cbiJdfQ==
|