@wizco/fenixds-ngx 17.3.2 → 17.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/modal-alert/modal-alert.component.mjs +26 -6
- package/esm2022/lib/table/table.component.mjs +29 -0
- package/esm2022/lib/table/table.types.mjs +2 -0
- package/esm2022/public-api.mjs +5 -2
- package/fesm2022/wizco-fenixds-ngx.mjs +49 -5
- package/fesm2022/wizco-fenixds-ngx.mjs.map +1 -1
- package/lib/modal-alert/modal-alert.component.d.ts +6 -0
- package/lib/modal-alert/modal-alert.component.d.ts.map +1 -1
- package/lib/table/table.component.d.ts +16 -0
- package/lib/table/table.component.d.ts.map +1 -0
- package/lib/table/table.types.d.ts +6 -0
- package/lib/table/table.types.d.ts.map +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/public-api.d.ts.map +1 -1
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component, Input } from '@angular/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
5
6
|
export class WcoModalAlertComponent {
|
|
7
|
+
sanitizer;
|
|
8
|
+
DEFAULT_VALUES = {
|
|
9
|
+
show: false,
|
|
10
|
+
showIcon: true,
|
|
11
|
+
title: '',
|
|
12
|
+
message: '',
|
|
13
|
+
actions: [],
|
|
14
|
+
hideClose: false,
|
|
15
|
+
};
|
|
6
16
|
set show(value) {
|
|
7
17
|
this.changeValues(value, 'show');
|
|
8
18
|
}
|
|
@@ -36,11 +46,20 @@ export class WcoModalAlertComponent {
|
|
|
36
46
|
actions: [],
|
|
37
47
|
hideClose: false,
|
|
38
48
|
};
|
|
49
|
+
constructor(sanitizer) {
|
|
50
|
+
this.sanitizer = sanitizer;
|
|
51
|
+
}
|
|
39
52
|
ngOnChanges(event) {
|
|
40
53
|
if (event['config']?.currentValue['show'] !== undefined) {
|
|
41
54
|
this.eventModal();
|
|
42
55
|
}
|
|
43
56
|
}
|
|
57
|
+
get title() {
|
|
58
|
+
return this.sanitizer.bypassSecurityTrustHtml(this.config.title || '');
|
|
59
|
+
}
|
|
60
|
+
get message() {
|
|
61
|
+
return this.sanitizer.bypassSecurityTrustHtml(this.config.message || '');
|
|
62
|
+
}
|
|
44
63
|
getButtonClass(action) {
|
|
45
64
|
const classeColor = action.color === 'primary'
|
|
46
65
|
? 'btn-primary'
|
|
@@ -68,6 +87,7 @@ export class WcoModalAlertComponent {
|
|
|
68
87
|
}
|
|
69
88
|
changeValues(valueUpdate, name) {
|
|
70
89
|
this.config = {
|
|
90
|
+
...this.DEFAULT_VALUES,
|
|
71
91
|
...this.config,
|
|
72
92
|
[name]: valueUpdate,
|
|
73
93
|
};
|
|
@@ -98,13 +118,13 @@ export class WcoModalAlertComponent {
|
|
|
98
118
|
this.modalClose();
|
|
99
119
|
}
|
|
100
120
|
}
|
|
101
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WcoModalAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WcoModalAlertComponent, isStandalone: true, selector: "wco-modal-alert", inputs: { show: "show", showIcon: "showIcon", title: "title", message: "message", materialIcon: "materialIcon", type: "type", hideClose: "hideClose", actions: "actions", id: ["setId", "id"], config: "config" }, usesOnChanges: true, ngImport: i0, template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\"
|
|
121
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WcoModalAlertComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WcoModalAlertComponent, isStandalone: true, selector: "wco-modal-alert", inputs: { show: "show", showIcon: "showIcon", title: "title", message: "message", materialIcon: "materialIcon", type: "type", hideClose: "hideClose", actions: "actions", id: ["setId", "id"], config: "config" }, usesOnChanges: true, ngImport: i0, template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\" [innerHTML]=\"title\"></h3>\n </ng-container>\n <ng-container *ngIf=\"config.message\"> \n <p class=\"wco-modalConfirm--message\" [innerHTML]=\"message\"></p>\n </ng-container>\n <div class=\"wco-modalConfirm--actions\" [class.modalConfirm--actions-size]=\"config.actions.length === 1\"\n *ngIf=\"config.actions && config.actions.length > 0\">\n <button type=\"button\" [class]=\"getButtonClass(action)\" (click)=\"action.action()\"\n *ngFor=\"let action of config.actions; let index = index\">\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{action.materialIconLeft}}</span>\n {{action.text}}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{action.materialIconRight}}</span>\n </button>\n </div>\n </div>\n </main>\n</dialog>", styles: [".wco-modalConfirm{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;--color-type: var(--wco-color-neutral-900)}.wco-modalConfirm.info{--wco-modal-color-type: var(--wco-color-info-600)}.wco-modalConfirm.success{--wco-modal-color-type: var(--wco-color-success-600)}.wco-modalConfirm.warning{--wco-modal-color-type: var(--wco-color-warning-600)}.wco-modalConfirm.error{--wco-modal-color-type: var(--wco-color-danger-600)}.wco-modalConfirm.loading{--wco-modal-color-type: var(--wco-color-primary-600)}.wco-modalConfirm--title{font-size:var(--wco-font-size-lg);line-height:150%;letter-spacing:.4px;font-weight:700;color:var(--wco-color-neutral-900)}.wco-modalConfirm--icon{margin-bottom:var(--wco-spacing-md)}.wco-modalConfirm--icon span{font-size:var(--wco-spacing-xxl);color:var(--wco-modal-color-type)}.wco-modalConfirm--icon .spinner{width:93px}@media screen and (max-width: 768px){.wco-modalConfirm--icon .spinner{width:55px}}.wco-modalConfirm--message{font-size:var(--wco-font-size-xs);line-height:150%;letter-spacing:.4px;font-weight:400;color:var(--wco-color-neutral-700);text-wrap:pretty;margin-top:var(--wco-spacing-nano)}.wco-modalConfirm--actions{display:flex;justify-content:center;align-items:center;gap:var(--wco-spacing-xs);margin-top:var(--wco-spacing-md);width:100%}.wco-modalConfirm--actions.modalConfirm--actions-size{max-width:275px}@media screen and (max-width: 768px){.wco-modalConfirm--actions{flex-direction:column}}.spinner{animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}.loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
103
123
|
}
|
|
104
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WcoModalAlertComponent, decorators: [{
|
|
105
125
|
type: Component,
|
|
106
|
-
args: [{ selector: 'wco-modal-alert', standalone: true, imports: [CommonModule], template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\"
|
|
107
|
-
}], propDecorators: { show: [{
|
|
126
|
+
args: [{ selector: 'wco-modal-alert', standalone: true, imports: [CommonModule], template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\" [innerHTML]=\"title\"></h3>\n </ng-container>\n <ng-container *ngIf=\"config.message\"> \n <p class=\"wco-modalConfirm--message\" [innerHTML]=\"message\"></p>\n </ng-container>\n <div class=\"wco-modalConfirm--actions\" [class.modalConfirm--actions-size]=\"config.actions.length === 1\"\n *ngIf=\"config.actions && config.actions.length > 0\">\n <button type=\"button\" [class]=\"getButtonClass(action)\" (click)=\"action.action()\"\n *ngFor=\"let action of config.actions; let index = index\">\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{action.materialIconLeft}}</span>\n {{action.text}}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{action.materialIconRight}}</span>\n </button>\n </div>\n </div>\n </main>\n</dialog>", styles: [".wco-modalConfirm{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;--color-type: var(--wco-color-neutral-900)}.wco-modalConfirm.info{--wco-modal-color-type: var(--wco-color-info-600)}.wco-modalConfirm.success{--wco-modal-color-type: var(--wco-color-success-600)}.wco-modalConfirm.warning{--wco-modal-color-type: var(--wco-color-warning-600)}.wco-modalConfirm.error{--wco-modal-color-type: var(--wco-color-danger-600)}.wco-modalConfirm.loading{--wco-modal-color-type: var(--wco-color-primary-600)}.wco-modalConfirm--title{font-size:var(--wco-font-size-lg);line-height:150%;letter-spacing:.4px;font-weight:700;color:var(--wco-color-neutral-900)}.wco-modalConfirm--icon{margin-bottom:var(--wco-spacing-md)}.wco-modalConfirm--icon span{font-size:var(--wco-spacing-xxl);color:var(--wco-modal-color-type)}.wco-modalConfirm--icon .spinner{width:93px}@media screen and (max-width: 768px){.wco-modalConfirm--icon .spinner{width:55px}}.wco-modalConfirm--message{font-size:var(--wco-font-size-xs);line-height:150%;letter-spacing:.4px;font-weight:400;color:var(--wco-color-neutral-700);text-wrap:pretty;margin-top:var(--wco-spacing-nano)}.wco-modalConfirm--actions{display:flex;justify-content:center;align-items:center;gap:var(--wco-spacing-xs);margin-top:var(--wco-spacing-md);width:100%}.wco-modalConfirm--actions.modalConfirm--actions-size{max-width:275px}@media screen and (max-width: 768px){.wco-modalConfirm--actions{flex-direction:column}}.spinner{animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}.loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}\n"] }]
|
|
127
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { show: [{
|
|
108
128
|
type: Input
|
|
109
129
|
}], showIcon: [{
|
|
110
130
|
type: Input
|
|
@@ -126,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
126
146
|
}], config: [{
|
|
127
147
|
type: Input
|
|
128
148
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC1hbGVydC9tb2RhbC1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21vZGFsLWFsZXJ0L21vZGFsLWFsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7OztBQVUzRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQWEsUUFBUSxDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQWEsS0FBSyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQWEsT0FBTyxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQWEsSUFBSSxDQUFDLEtBQTJEO1FBQzNFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxD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QUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2NvTW9kYWxBbGVydENvbmZpZ0FjdGlvbnNUeXBlcywgV2NvTW9kYWxBbGVydENvbmZpZ1R5cGVzIH0gZnJvbSAnLi9tb2RhbC1hbGVydC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1tb2RhbC1hbGVydCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1hbGVydC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBXY29Nb2RhbEFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2V0IHNob3codmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNoYW5nZVZhbHVlcyh2YWx1ZSwgJ3Nob3cnKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgc2hvd0ljb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNoYW5nZVZhbHVlcyh2YWx1ZSwgJ3Nob3dJY29uJyk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNoYW5nZVZhbHVlcyh2YWx1ZSwgJ3RpdGxlJyk7XG4gIH1cbiAgQElucHV0KCkgc2V0IG1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuY2hhbmdlVmFsdWVzKHZhbHVlLCAnbWVzc2FnZScpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1hdGVyaWFsSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jaGFuZ2VWYWx1ZXModmFsdWUsICdtYXRlcmlhbEljb24nKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0eXBlKHZhbHVlOiAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ2xvYWRpbmcnKSB7XG4gICAgdGhpcy5jaGFuZ2VWYWx1ZXModmFsdWUsICd0eXBlJyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZUNsb3NlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGFuZ2VWYWx1ZXModmFsdWUsICdoaWRlQ2xvc2UnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBhY3Rpb25zKHZhbHVlOiBXY29Nb2RhbEFsZXJ0Q29uZmlnQWN0aW9uc1R5cGVzW10pIHtcbiAgICB0aGlzLmNoYW5nZVZhbHVlcyh2YWx1ZSwgJ2FjdGlvbnMnKTtcbiAgfVxuXG4gIEBJbnB1dCh7IGFsaWFzOiAnc2V0SWQnIH0pIGlkID0gJ3djby1tb2RhbC1hbGVydC0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpO1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogV2NvTW9kYWxBbGVydENvbmZpZ1R5cGVzID0ge1xuICAgIHNob3c6IGZhbHNlLFxuICAgIHNob3dJY29uOiB0cnVlLFxuICAgIHRpdGxlOiAnJyxcbiAgICBtZXNzYWdlOiAnJyxcbiAgICBhY3Rpb25zOiBbXSxcbiAgICBoaWRlQ2xvc2U6IGZhbHNlLFxuICB9O1xuXG4gIG5nT25DaGFuZ2VzKGV2ZW50OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50Wydjb25maWcnXT8uY3VycmVudFZhbHVlWydzaG93J10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5ldmVudE1vZGFsKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QnV0dG9uQ2xhc3MoYWN0aW9uOiBXY29Nb2RhbEFsZXJ0Q29uZmlnQWN0aW9uc1R5cGVzKSB7XG4gICAgY29uc3QgY2xhc3NlQ29sb3IgPVxuICAgICAgYWN0aW9uLmNvbG9yID09PSAncHJpbWFyeSdcbiAgICAgICAgPyAnYnRuLXByaW1hcnknXG4gICAgICAgIDogYWN0aW9uLmNvbG9yID09PSAnc2Vjb25kYXJ5J1xuICAgICAgICA/ICdidG4tc2Vjb25kYXJ5J1xuICAgICAgICA6ICdidG4tbmV1dHJhbCc7XG4gICAgY29uc3QgY2xhc3NlT3V0bGluZSA9IGFjdGlvbi5vdXRsaW5lID8gJ2J0bi1vdXRsaW5lJyA6ICcnO1xuICAgIGNvbnN0IGV4dHJhQ2xhc3NlID0gYWN0aW9uLmV4dHJhQ2xhc3NlID8gYWN0aW9uLmV4dHJhQ2xhc3NlIDogJyc7XG4gICAgcmV0dXJuIGB3Y28tYnRuIGJ0bi1mdWxsICR7Y2xhc3NlQ29sb3J9ICR7Y2xhc3NlT3V0bGluZX0gJHtleHRyYUNsYXNzZX1gO1xuICB9XG5cbiAgZ2V0IGljb25NYXRlcmlhbCgpIHtcbiAgICBjb25zdCB7IHR5cGUgPSAnaW5mbycgfSA9IHRoaXMuY29uZmlnO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4geyBpY29uOiAnZXJyb3Jfb3V0bGluZScsIGNvbG9yOiAnZXJyb3InIH07XG4gICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogJ3dhcm5pbmdfYW1iZXInLCBjb2xvcjogJ3dhcm5pbmcnIH07XG4gICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogJ2NoZWNrX2NpcmNsZV9vdXRsaW5lJywgY29sb3I6ICdzdWNjZXNzJyB9O1xuICAgICAgY2FzZSAnbG9hZGluZyc6XG4gICAgICAgIHJldHVybiB7IGljb246ICdzcGlubmVyJywgY29sb3I6ICdsb2FkaW5nJyB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogJ2luZm8nLCBjb2xvcjogJ2luZm8nIH07XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmFsdWVzKHZhbHVlVXBkYXRlOiBhbnksIG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICBbbmFtZV06IHZhbHVlVXBkYXRlLFxuICAgIH07XG4gICAgdGhpcy5ldmVudE1vZGFsKCk7XG4gIH1cblxuICBtb2RhbENsb3NlKCkge1xuICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnRNb2RhbCgpIHtcbiAgICBjb25zdCBzaG93ID0gdGhpcy5jb25maWcuc2hvdztcbiAgICBjb25zdCBlbGVtZW50OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcbiAgICBpZiAoc2hvdyAmJiBlbGVtZW50KSB7XG4gICAgICBpZiAodGhpcy5jb25maWcuaGlkZUNsb3NlKSB7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICAgIGlmIChrZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBlbGVtZW50LnNob3dNb2RhbCgpO1xuICAgICAgdGhpcy5jb25maWcuc2hvdyA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaWFsb2cgY2xhc3M9XCJ3Y28tbW9kYWxcIiBbaWRdPVwiaWRcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgPG1haW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb25maWcuaGlkZUNsb3NlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwid2NvLW1vZGFsLS1jbG9zZVwiIChjbGljayk9XCJtb2RhbENsb3NlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmNsb3NlPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBbY2xhc3NdPVwiJ3djby1tb2RhbENvbmZpcm0gJyArIGljb25NYXRlcmlhbC5jb2xvclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5zaG93SWNvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1tb2RhbENvbmZpcm0tLWljb25cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnR5cGUgIT09ICdsb2FkaW5nJ1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtcm91bmRcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5tYXRlcmlhbEljb247IGVsc2UgaWNvblRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAge3tjb25maWcubWF0ZXJpYWxJY29ufX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIHt7IGljb25NYXRlcmlhbC5pY29ufX1cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnR5cGUgPT09ICdsb2FkaW5nJ1wiPlxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInNwaW5uZXJcIiB2aWV3Qm94PVwiMCAwIDY2IDY2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwibG9hZGluZy1pY29uXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJ2YXIoLS13Y28tbW9kYWwtY29sb3ItdHlwZSlcIiBzdHJva2Utd2lkdGg9XCI2XCJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgY3g9XCIzM1wiIGN5PVwiMzNcIiByPVwiMzBcIj48L2NpcmNsZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcudGl0bGVcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwid2NvLW1vZGFsQ29uZmlybS0tdGl0bGVcIj57e2NvbmZpZy50aXRsZX19PC9oMz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHAgY2xhc3M9XCJ3Y28tbW9kYWxDb25maXJtLS1tZXNzYWdlXCIgKm5nSWY9XCJjb25maWcubWVzc2FnZVwiPnt7Y29uZmlnLm1lc3NhZ2V9fTwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3Y28tbW9kYWxDb25maXJtLS1hY3Rpb25zXCIgW2NsYXNzLm1vZGFsQ29uZmlybS0tYWN0aW9ucy1zaXplXT1cImNvbmZpZy5hY3Rpb25zLmxlbmd0aCA9PT0gMVwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmFjdGlvbnMgJiYgY29uZmlnLmFjdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3NdPVwiZ2V0QnV0dG9uQ2xhc3MoYWN0aW9uKVwiIChjbGljayk9XCJhY3Rpb24uYWN0aW9uKClcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29uZmlnLmFjdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiICpuZ0lmPVwiYWN0aW9uLm1hdGVyaWFsSWNvbkxlZnRcIj57e2FjdGlvbi5tYXRlcmlhbEljb25MZWZ0fX08L3NwYW4+XG4gICAgICAgICAge3thY3Rpb24udGV4dH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiICpuZ0lmPVwiYWN0aW9uLm1hdGVyaWFsSWNvblJpZ2h0XCI+e3thY3Rpb24ubWF0ZXJpYWxJY29uUmlnaHR9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tYWluPlxuPC9kaWFsb2c+Il19
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC1hbGVydC9tb2RhbC1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21vZGFsLWFsZXJ0L21vZGFsLWFsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFXbkYsTUFBTSxPQUFPLHNCQUFzQjtJQXFEYjtJQXBEWixjQUFjLEdBQUc7UUFDdkIsSUFBSSxFQUFFLEtBQUs7UUFDWCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRSxFQUFFO1FBQ1QsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsRUFBRTtRQUNYLFNBQVMsRUFBRSxLQUFLO0tBQ2pCLENBQUM7SUFFRixJQUFhLElBQUksQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFhLFFBQVEsQ0FBQyxLQUFjO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFhLEtBQUssQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFhLE9BQU8sQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJ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LElBQUksR0FBRyxLQUFLLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7d0dBbElVLHNCQUFzQjs0RkFBdEIsc0JBQXNCLG1UQ1puQyxtdkVBNkNTLGs1RERyQ0csWUFBWTs7NEZBSVgsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzttR0FjVixJQUFJO3NCQUFoQixLQUFLO2dCQUdPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBR08sS0FBSztzQkFBakIsS0FBSztnQkFHTyxPQUFPO3NCQUFuQixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBSU8sSUFBSTtzQkFBaEIsS0FBSztnQkFNTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSXFCLEVBQUU7c0JBQTVCLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUdoQixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdjb01vZGFsQWxlcnRDb25maWdBY3Rpb25zVHlwZXMsIFdjb01vZGFsQWxlcnRDb25maWdUeXBlcyB9IGZyb20gJy4vbW9kYWwtYWxlcnQudHlwZXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1tb2RhbC1hbGVydCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1hbGVydC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBXY29Nb2RhbEFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBERUZBVUxUX1ZBTFVFUyA9IHtcbiAgICBzaG93OiBmYWxzZSxcbiAgICBzaG93SWNvbjogdHJ1ZSxcbiAgICB0aXRsZTogJycsXG4gICAgbWVzc2FnZTogJycsXG4gICAgYWN0aW9uczogW10sXG4gICAgaGlkZUNsb3NlOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKSBzZXQgc2hvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2hhbmdlVmFsdWVzKHZhbHVlLCAnc2hvdycpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBzaG93SWNvbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2hhbmdlVmFsdWVzKHZhbHVlLCAnc2hvd0ljb24nKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuY2hhbmdlVmFsdWVzKHZhbHVlLCAndGl0bGUnKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgbWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jaGFuZ2VWYWx1ZXModmFsdWUsICdtZXNzYWdlJyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgbWF0ZXJpYWxJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNoYW5nZVZhbHVlcyh2YWx1ZSwgJ21hdGVyaWFsSWNvbicpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHR5cGUoXG4gICAgdmFsdWU6ICdlcnJvcicgfCAnd2FybmluZycgfCAnc3VjY2VzcycgfCAnaW5mbycgfCAnbG9hZGluZydcbiAgKSB7XG4gICAgdGhpcy5jaGFuZ2VWYWx1ZXModmFsdWUsICd0eXBlJyk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaGlkZUNsb3NlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGFuZ2VWYWx1ZXModmFsdWUsICdoaWRlQ2xvc2UnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBhY3Rpb25zKHZhbHVlOiBXY29Nb2RhbEFsZXJ0Q29uZmlnQWN0aW9uc1R5cGVzW10pIHtcbiAgICB0aGlzLmNoYW5nZVZhbHVlcyh2YWx1ZSwgJ2FjdGlvbnMnKTtcbiAgfVxuXG4gIEBJbnB1dCh7IGFsaWFzOiAnc2V0SWQnIH0pIGlkID1cbiAgICAnd2NvLW1vZGFsLWFsZXJ0LScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNyk7XG5cbiAgQElucHV0KCkgY29uZmlnOiBXY29Nb2RhbEFsZXJ0Q29uZmlnVHlwZXMgPSB7XG4gICAgc2hvdzogZmFsc2UsXG4gICAgc2hvd0ljb246IHRydWUsXG4gICAgdGl0bGU6ICcnLFxuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGFjdGlvbnM6IFtdLFxuICAgIGhpZGVDbG9zZTogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uQ2hhbmdlcyhldmVudDogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChldmVudFsnY29uZmlnJ10/LmN1cnJlbnRWYWx1ZVsnc2hvdyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZXZlbnRNb2RhbCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmNvbmZpZy50aXRsZSB8fCAnJyk7XG4gIH1cblxuICBnZXQgbWVzc2FnZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmNvbmZpZy5tZXNzYWdlIHx8ICcnKTtcbiAgfVxuXG4gIGdldEJ1dHRvbkNsYXNzKGFjdGlvbjogV2NvTW9kYWxBbGVydENvbmZpZ0FjdGlvbnNUeXBlcykge1xuICAgIGNvbnN0IGNsYXNzZUNvbG9yID1cbiAgICAgIGFjdGlvbi5jb2xvciA9PT0gJ3ByaW1hcnknXG4gICAgICAgID8gJ2J0bi1wcmltYXJ5J1xuICAgICAgICA6IGFjdGlvbi5jb2xvciA9PT0gJ3NlY29uZGFyeSdcbiAgICAgICAgPyAnYnRuLXNlY29uZGFyeSdcbiAgICAgICAgOiAnYnRuLW5ldXRyYWwnO1xuICAgIGNvbnN0IGNsYXNzZU91dGxpbmUgPSBhY3Rpb24ub3V0bGluZSA/ICdidG4tb3V0bGluZScgOiAnJztcbiAgICBjb25zdCBleHRyYUNsYXNzZSA9IGFjdGlvbi5leHRyYUNsYXNzZSA/IGFjdGlvbi5leHRyYUNsYXNzZSA6ICcnO1xuICAgIHJldHVybiBgd2NvLWJ0biBidG4tZnVsbCAke2NsYXNzZUNvbG9yfSAke2NsYXNzZU91dGxpbmV9ICR7ZXh0cmFDbGFzc2V9YDtcbiAgfVxuXG4gIGdldCBpY29uTWF0ZXJpYWwoKSB7XG4gICAgY29uc3QgeyB0eXBlID0gJ2luZm8nIH0gPSB0aGlzLmNvbmZpZztcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogJ2Vycm9yX291dGxpbmUnLCBjb2xvcjogJ2Vycm9yJyB9O1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiB7IGljb246ICd3YXJuaW5nX2FtYmVyJywgY29sb3I6ICd3YXJuaW5nJyB9O1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHJldHVybiB7IGljb246ICdjaGVja19jaXJjbGVfb3V0bGluZScsIGNvbG9yOiAnc3VjY2VzcycgfTtcbiAgICAgIGNhc2UgJ2xvYWRpbmcnOlxuICAgICAgICByZXR1cm4geyBpY29uOiAnc3Bpbm5lcicsIGNvbG9yOiAnbG9hZGluZycgfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB7IGljb246ICdpbmZvJywgY29sb3I6ICdpbmZvJyB9O1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVZhbHVlcyh2YWx1ZVVwZGF0ZTogYW55LCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuREVGQVVMVF9WQUxVRVMsXG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICAgIFtuYW1lXTogdmFsdWVVcGRhdGUsXG4gICAgfTtcbiAgICB0aGlzLmV2ZW50TW9kYWwoKTtcbiAgfVxuXG4gIG1vZGFsQ2xvc2UoKSB7XG4gICAgY29uc3QgZWxlbWVudDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIGVsZW1lbnQuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBldmVudE1vZGFsKCkge1xuICAgIGNvbnN0IHNob3cgPSB0aGlzLmNvbmZpZy5zaG93O1xuICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xuICAgIGlmIChzaG93ICYmIGVsZW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5oaWRlQ2xvc2UpIHtcbiAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XG4gICAgICAgICAgaWYgKGtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsZW1lbnQuc2hvd01vZGFsKCk7XG4gICAgICB0aGlzLmNvbmZpZy5zaG93ID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kYWxDbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpYWxvZyBjbGFzcz1cIndjby1tb2RhbFwiIFtpZF09XCJpZFwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxuICA8bWFpbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbmZpZy5oaWRlQ2xvc2VcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJ3Y28tbW9kYWwtLWNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsQ2xvc2UoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvc2U8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IFtjbGFzc109XCInd2NvLW1vZGFsQ29uZmlybSAnICsgaWNvbk1hdGVyaWFsLmNvbG9yXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLnNob3dJY29uXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2NvLW1vZGFsQ29uZmlybS0taWNvblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcudHlwZSAhPT0gJ2xvYWRpbmcnXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLm1hdGVyaWFsSWNvbjsgZWxzZSBpY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICB7e2NvbmZpZy5tYXRlcmlhbEljb259fVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAge3sgaWNvbk1hdGVyaWFsLmljb259fVxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcudHlwZSA9PT0gJ2xvYWRpbmcnXCI+XG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwic3Bpbm5lclwiIHZpZXdCb3g9XCIwIDAgNjYgNjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkaW5nLWljb25cIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cInZhcigtLXdjby1tb2RhbC1jb2xvci10eXBlKVwiIHN0cm9rZS13aWR0aD1cIjZcIlxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBjeD1cIjMzXCIgY3k9XCIzM1wiIHI9XCIzMFwiPjwvY2lyY2xlPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy50aXRsZVwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJ3Y28tbW9kYWxDb25maXJtLS10aXRsZVwiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2gzPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLm1lc3NhZ2VcIj4gIFxuICAgICAgICA8cCBjbGFzcz1cIndjby1tb2RhbENvbmZpcm0tLW1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cIm1lc3NhZ2VcIj48L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3Y28tbW9kYWxDb25maXJtLS1hY3Rpb25zXCIgW2NsYXNzLm1vZGFsQ29uZmlybS0tYWN0aW9ucy1zaXplXT1cImNvbmZpZy5hY3Rpb25zLmxlbmd0aCA9PT0gMVwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmFjdGlvbnMgJiYgY29uZmlnLmFjdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbY2xhc3NdPVwiZ2V0QnV0dG9uQ2xhc3MoYWN0aW9uKVwiIChjbGljayk9XCJhY3Rpb24uYWN0aW9uKClcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29uZmlnLmFjdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiICpuZ0lmPVwiYWN0aW9uLm1hdGVyaWFsSWNvbkxlZnRcIj57e2FjdGlvbi5tYXRlcmlhbEljb25MZWZ0fX08L3NwYW4+XG4gICAgICAgICAge3thY3Rpb24udGV4dH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1yb3VuZFwiICpuZ0lmPVwiYWN0aW9uLm1hdGVyaWFsSWNvblJpZ2h0XCI+e3thY3Rpb24ubWF0ZXJpYWxJY29uUmlnaHR9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tYWluPlxuPC9kaWFsb2c+Il19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class TableComponent {
|
|
6
|
+
data = [];
|
|
7
|
+
headers = [];
|
|
8
|
+
loading = false;
|
|
9
|
+
templates = {};
|
|
10
|
+
constructor() { }
|
|
11
|
+
getTemplate(templateName) {
|
|
12
|
+
return this.templates[templateName];
|
|
13
|
+
}
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "wco-table", inputs: { data: "data", headers: "headers", loading: "loading", templates: "templates" }, ngImport: i0, template: "<div class=\"wco-table-area\">\n <table class=\"wco-table\" role=\"table\">\n <thead *ngIf=\"data && data.length > 0\">\n <tr>\n <th *ngFor=\"let header of headers\" scope=\"col\">{{ header.label }}</th>\n </tr>\n </thead>\n <ng-container *ngIf=\"!loading\">\n <tbody>\n <tr\n *ngFor=\"let row of data; let i = index\"\n [id]=\"row['id'] ? 'row-' + row['id'] : i\"\n >\n <td\n *ngFor=\"let header of headers\"\n role=\"cell\"\n [attr.data-label]=\"header.label\"\n >\n <ng-container *ngIf=\"header.template\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(header.template);\n context: { $implicit: row[header.key], row: row, index: i }\n \"\n />\n </ng-container>\n <ng-container *ngIf=\"!header.template\">{{\n row[header.key]\n }}</ng-container>\n </td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <tbody>\n <tr *ngFor=\"let row of [1, 2, 3, 4, 5]\">\n <td *ngFor=\"let header of headers\" role=\"cell\">\n <div class=\"wco-skeleton mt-0\" style=\"width: 100%\">\n <span class=\"block p-xxs\"></span>\n </div>\n </td>\n </tr>\n </tbody>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && !data.length\">\n <tbody>\n <tr class=\"wco-table__row--empty\">\n <td\n [attr.colspan]=\"headers.length\"\n class=\"wco-table__cell--empty\"\n role=\"cell\"\n >\n <ng-content select=\".empty\"></ng-content>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</div>\n", styles: [".wco-table-area{--wco-table-margin: var(--wco-spacing-xxs);--wco-table-padding: var(--wco-spacing-xxs);--wco-table-color-header-label: var(--wco-color-neutral-900);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-header-line: var(--wco-color-neutral-500);--wco-table-color-bg-cell: var(--wco-color-neutral-50);--wco-table-font-size-header: var(--wco-font-size-xs);--wco-table-font-size-cell: var(--wco-font-size-xs);display:block;width:100%;max-width:var(--wco-table-max-size, 100%);overflow-x:auto;-webkit-overflow-scrolling:touch}.wco-table-area table.wco-table{width:100%;border-spacing:0}@media (min-width: 800px) and (max-width: 1400px){.wco-table-area table.wco-table{min-width:900px}}@media (min-width: 800px){.wco-table-area table.wco-table ::ng-deep tr:not(.wco-table__row--empty):hover{--wco-table-color-header-line: var(--wco-color-primary-500);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-bg-cell: var(--wco-color-neutral-100)}}.wco-table-area table.wco-table ::ng-deep td{text-align:left;padding:var(--wco-table-padding);font-size:var(--wco-table-font-size-cell);line-height:var(--wco-font-lineheight-500);color:var(--wco-table-color-header-cell);border-bottom:1px solid var(--wco-table-color-header-line);background-color:var(--wco-table-color-bg-cell)}.wco-table-area table.wco-table ::ng-deep td.wco-table__cell--empty{--wco-table-color-header-line: transparent}.wco-table-area table.wco-table ::ng-deep thead tr{margin-bottom:var(--wco-table-margin)}.wco-table-area table.wco-table ::ng-deep thead tr th{text-align:left;font-size:var(--wco-table-font-size-header, 16px);color:var(--wco-table-color-header-label, var(--wco-color-neutral-900));padding:var(--wco-table-padding);font-weight:600}@media (max-width: 800px){.wco-table-area{--wco-table-padding: var(--wco-spacing-xxxs)}.wco-table-area table{background-color:transparent}.wco-table-area table th{display:none}.wco-table-area table tr{display:block;margin-bottom:12px;height:-moz-fit-content;height:fit-content;border:1px solid var(--wco-color-bg)}.wco-table-area table tr>td{display:block;width:100%;border:1px solid var(--wco-color-neutral-100)}.wco-table-area table tr>td:first-child{background-color:var(--wco-color-bg)}.wco-table-area table tr>td:last-child{border:none}.wco-table-area table tr>td:not([data-label=\"\"]):before{content:attr(data-label) \": \";font-weight:700;margin-right:.5em;color:var(--wco-color-neutral-700)}.wco-table-area table tr>td:not([data-label]):before{content:\"\"}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'wco-table', standalone: true, imports: [CommonModule], template: "<div class=\"wco-table-area\">\n <table class=\"wco-table\" role=\"table\">\n <thead *ngIf=\"data && data.length > 0\">\n <tr>\n <th *ngFor=\"let header of headers\" scope=\"col\">{{ header.label }}</th>\n </tr>\n </thead>\n <ng-container *ngIf=\"!loading\">\n <tbody>\n <tr\n *ngFor=\"let row of data; let i = index\"\n [id]=\"row['id'] ? 'row-' + row['id'] : i\"\n >\n <td\n *ngFor=\"let header of headers\"\n role=\"cell\"\n [attr.data-label]=\"header.label\"\n >\n <ng-container *ngIf=\"header.template\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(header.template);\n context: { $implicit: row[header.key], row: row, index: i }\n \"\n />\n </ng-container>\n <ng-container *ngIf=\"!header.template\">{{\n row[header.key]\n }}</ng-container>\n </td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <tbody>\n <tr *ngFor=\"let row of [1, 2, 3, 4, 5]\">\n <td *ngFor=\"let header of headers\" role=\"cell\">\n <div class=\"wco-skeleton mt-0\" style=\"width: 100%\">\n <span class=\"block p-xxs\"></span>\n </div>\n </td>\n </tr>\n </tbody>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && !data.length\">\n <tbody>\n <tr class=\"wco-table__row--empty\">\n <td\n [attr.colspan]=\"headers.length\"\n class=\"wco-table__cell--empty\"\n role=\"cell\"\n >\n <ng-content select=\".empty\"></ng-content>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</div>\n", styles: [".wco-table-area{--wco-table-margin: var(--wco-spacing-xxs);--wco-table-padding: var(--wco-spacing-xxs);--wco-table-color-header-label: var(--wco-color-neutral-900);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-header-line: var(--wco-color-neutral-500);--wco-table-color-bg-cell: var(--wco-color-neutral-50);--wco-table-font-size-header: var(--wco-font-size-xs);--wco-table-font-size-cell: var(--wco-font-size-xs);display:block;width:100%;max-width:var(--wco-table-max-size, 100%);overflow-x:auto;-webkit-overflow-scrolling:touch}.wco-table-area table.wco-table{width:100%;border-spacing:0}@media (min-width: 800px) and (max-width: 1400px){.wco-table-area table.wco-table{min-width:900px}}@media (min-width: 800px){.wco-table-area table.wco-table ::ng-deep tr:not(.wco-table__row--empty):hover{--wco-table-color-header-line: var(--wco-color-primary-500);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-bg-cell: var(--wco-color-neutral-100)}}.wco-table-area table.wco-table ::ng-deep td{text-align:left;padding:var(--wco-table-padding);font-size:var(--wco-table-font-size-cell);line-height:var(--wco-font-lineheight-500);color:var(--wco-table-color-header-cell);border-bottom:1px solid var(--wco-table-color-header-line);background-color:var(--wco-table-color-bg-cell)}.wco-table-area table.wco-table ::ng-deep td.wco-table__cell--empty{--wco-table-color-header-line: transparent}.wco-table-area table.wco-table ::ng-deep thead tr{margin-bottom:var(--wco-table-margin)}.wco-table-area table.wco-table ::ng-deep thead tr th{text-align:left;font-size:var(--wco-table-font-size-header, 16px);color:var(--wco-table-color-header-label, var(--wco-color-neutral-900));padding:var(--wco-table-padding);font-weight:600}@media (max-width: 800px){.wco-table-area{--wco-table-padding: var(--wco-spacing-xxxs)}.wco-table-area table{background-color:transparent}.wco-table-area table th{display:none}.wco-table-area table tr{display:block;margin-bottom:12px;height:-moz-fit-content;height:fit-content;border:1px solid var(--wco-color-bg)}.wco-table-area table tr>td{display:block;width:100%;border:1px solid var(--wco-color-neutral-100)}.wco-table-area table tr>td:first-child{background-color:var(--wco-color-bg)}.wco-table-area table tr>td:last-child{border:none}.wco-table-area table tr>td:not([data-label=\"\"]):before{content:attr(data-label) \": \";font-weight:700;margin-right:.5em;color:var(--wco-color-neutral-700)}.wco-table-area table tr>td:not([data-label]):before{content:\"\"}}\n"] }]
|
|
20
|
+
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], headers: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], loading: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], templates: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyxjQUFjO0lBQ2hCLElBQUksR0FBVSxFQUFFLENBQUM7SUFDakIsT0FBTyxHQUFrQixFQUFFLENBQUM7SUFDNUIsT0FBTyxHQUFhLEtBQUssQ0FBQztJQUMxQixTQUFTLEdBQXdDLEVBQUUsQ0FBQztJQUU3RCxnQkFBZSxDQUFDO0lBRWhCLFdBQVcsQ0FBQyxZQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQzt3R0FWVSxjQUFjOzRGQUFkLGNBQWMsK0pDWDNCLHMxREE0REEsb2lGRG5EWSxZQUFZOzs0RkFFWCxjQUFjO2tCQVAxQixTQUFTOytCQUNFLFdBQVcsY0FHVCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7MEVBR2QsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlciB9IGZyb20gJy4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2NvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcbiAgQElucHV0KCkgaGVhZGVyczogVGFibGVIZWFkZXJbXSA9IFtdO1xuICBASW5wdXQoKSBsb2FkaW5nPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB0ZW1wbGF0ZXM6IHsgW2tleTogc3RyaW5nXTogVGVtcGxhdGVSZWY8YW55PiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIGdldFRlbXBsYXRlKHRlbXBsYXRlTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzW3RlbXBsYXRlTmFtZV07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Y28tdGFibGUtYXJlYVwiPlxuICA8dGFibGUgY2xhc3M9XCJ3Y28tdGFibGVcIiByb2xlPVwidGFibGVcIj5cbiAgICA8dGhlYWQgKm5nSWY9XCJkYXRhICYmIGRhdGEubGVuZ3RoID4gMFwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRlciBvZiBoZWFkZXJzXCIgc2NvcGU9XCJjb2xcIj57eyBoZWFkZXIubGFiZWwgfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcm93IG9mIGRhdGE7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgIFtpZF09XCJyb3dbJ2lkJ10gPyAncm93LScgKyByb3dbJ2lkJ10gOiBpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGhlYWRlciBvZiBoZWFkZXJzXCJcbiAgICAgICAgICAgIHJvbGU9XCJjZWxsXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGFiZWxdPVwiaGVhZGVyLmxhYmVsXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyLnRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgZ2V0VGVtcGxhdGUoaGVhZGVyLnRlbXBsYXRlKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3dbaGVhZGVyLmtleV0sIHJvdzogcm93LCBpbmRleDogaSB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoZWFkZXIudGVtcGxhdGVcIj57e1xuICAgICAgICAgICAgICByb3dbaGVhZGVyLmtleV1cbiAgICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgWzEsIDIsIDMsIDQsIDVdXCI+XG4gICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgaGVhZGVyc1wiIHJvbGU9XCJjZWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2NvLXNrZWxldG9uIG10LTBcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgcC14eHNcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiAhZGF0YS5sZW5ndGhcIj5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgPHRyIGNsYXNzPVwid2NvLXRhYmxlX19yb3ctLWVtcHR5XCI+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICBbYXR0ci5jb2xzcGFuXT1cImhlYWRlcnMubGVuZ3RoXCJcbiAgICAgICAgICAgIGNsYXNzPVwid2NvLXRhYmxlX19jZWxsLS1lbXB0eVwiXG4gICAgICAgICAgICByb2xlPVwiY2VsbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmVtcHR5XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlL3RhYmxlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhYmxlSGVhZGVyIHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHRlbXBsYXRlPzogc3RyaW5nO1xufVxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -11,7 +11,7 @@ export * from './lib/msg-box-feedback/msg-box-feeback.types';
|
|
|
11
11
|
//msg navtabs
|
|
12
12
|
export * from './lib/tabs/tabs.component';
|
|
13
13
|
export * from './lib/tabs/tabs.types';
|
|
14
|
-
//Pagination
|
|
14
|
+
//Pagination
|
|
15
15
|
export * from './lib/pagination/pagination.component';
|
|
16
16
|
// Avatar
|
|
17
17
|
export * from './lib/user-avatar/user-avatar.component';
|
|
@@ -26,4 +26,7 @@ export * from './lib/preview-file/preview-file.types';
|
|
|
26
26
|
// Modal
|
|
27
27
|
export * from './lib/modal-alert/modal-alert.component';
|
|
28
28
|
export * from './lib/modal-alert/modal-alert.types';
|
|
29
|
-
|
|
29
|
+
// Table
|
|
30
|
+
export * from './lib/table/table.component';
|
|
31
|
+
export * from './lib/table/table.types';
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxtQkFBbUI7QUFDbkIsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGFBQWE7QUFDYixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsWUFBWTtBQUNaLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsU0FBUztBQUNULGNBQWMseUNBQXlDLENBQUM7QUFFeEQsZUFBZTtBQUNmLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxXQUFXO0FBQ1gsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxlQUFlO0FBQ2YsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELFFBQVE7QUFDUixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsUUFBUTtBQUNSLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWZlbml4ZHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwL3N0ZXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXBsb2FkL3VwbG9hZC50eXBlcyc7XG5cbi8vIG1zZyBib3ggZmVlZGJhY2tcbmV4cG9ydCAqIGZyb20gJy4vbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbXNnLWJveC1mZWVkYmFjay9tc2ctYm94LWZlZWJhY2sudHlwZXMnO1xuXG4vL21zZyBuYXZ0YWJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvdGFicy50eXBlcyc7XG5cbi8vUGFnaW5hdGlvblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5cbi8vIEF2YXRhclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1hdmF0YXIvdXNlci1hdmF0YXIuY29tcG9uZW50JztcblxuLy8gU21hcnQgU2VsZWN0XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1zZWxlY3Qvc21hcnQtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1zZWxlY3Qvc21hcnQtc2VsZWN0LW9wdGlvbnMuY29tcG9uZW50JztcblxuLy8gVGltZWxpbmVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudCc7XG5cbi8vIFByZXZpZXcgRmlsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJldmlldy1maWxlL3ByZXZpZXctZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJldmlldy1maWxlL3ByZXZpZXctZmlsZS50eXBlcyc7XG5cbi8vIE1vZGFsXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbC1hbGVydC9tb2RhbC1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwtYWxlcnQvbW9kYWwtYWxlcnQudHlwZXMnO1xuXG4vLyBUYWJsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLnR5cGVzJztcbiJdfQ==
|
|
@@ -1565,6 +1565,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1565
1565
|
}] } });
|
|
1566
1566
|
|
|
1567
1567
|
class WcoModalAlertComponent {
|
|
1568
|
+
sanitizer;
|
|
1569
|
+
DEFAULT_VALUES = {
|
|
1570
|
+
show: false,
|
|
1571
|
+
showIcon: true,
|
|
1572
|
+
title: '',
|
|
1573
|
+
message: '',
|
|
1574
|
+
actions: [],
|
|
1575
|
+
hideClose: false,
|
|
1576
|
+
};
|
|
1568
1577
|
set show(value) {
|
|
1569
1578
|
this.changeValues(value, 'show');
|
|
1570
1579
|
}
|
|
@@ -1598,11 +1607,20 @@ class WcoModalAlertComponent {
|
|
|
1598
1607
|
actions: [],
|
|
1599
1608
|
hideClose: false,
|
|
1600
1609
|
};
|
|
1610
|
+
constructor(sanitizer) {
|
|
1611
|
+
this.sanitizer = sanitizer;
|
|
1612
|
+
}
|
|
1601
1613
|
ngOnChanges(event) {
|
|
1602
1614
|
if (event['config']?.currentValue['show'] !== undefined) {
|
|
1603
1615
|
this.eventModal();
|
|
1604
1616
|
}
|
|
1605
1617
|
}
|
|
1618
|
+
get title() {
|
|
1619
|
+
return this.sanitizer.bypassSecurityTrustHtml(this.config.title || '');
|
|
1620
|
+
}
|
|
1621
|
+
get message() {
|
|
1622
|
+
return this.sanitizer.bypassSecurityTrustHtml(this.config.message || '');
|
|
1623
|
+
}
|
|
1606
1624
|
getButtonClass(action) {
|
|
1607
1625
|
const classeColor = action.color === 'primary'
|
|
1608
1626
|
? 'btn-primary'
|
|
@@ -1630,6 +1648,7 @@ class WcoModalAlertComponent {
|
|
|
1630
1648
|
}
|
|
1631
1649
|
changeValues(valueUpdate, name) {
|
|
1632
1650
|
this.config = {
|
|
1651
|
+
...this.DEFAULT_VALUES,
|
|
1633
1652
|
...this.config,
|
|
1634
1653
|
[name]: valueUpdate,
|
|
1635
1654
|
};
|
|
@@ -1660,13 +1679,13 @@ class WcoModalAlertComponent {
|
|
|
1660
1679
|
this.modalClose();
|
|
1661
1680
|
}
|
|
1662
1681
|
}
|
|
1663
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WcoModalAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1664
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WcoModalAlertComponent, isStandalone: true, selector: "wco-modal-alert", inputs: { show: "show", showIcon: "showIcon", title: "title", message: "message", materialIcon: "materialIcon", type: "type", hideClose: "hideClose", actions: "actions", id: ["setId", "id"], config: "config" }, usesOnChanges: true, ngImport: i0, template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\"
|
|
1682
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WcoModalAlertComponent, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
1683
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WcoModalAlertComponent, isStandalone: true, selector: "wco-modal-alert", inputs: { show: "show", showIcon: "showIcon", title: "title", message: "message", materialIcon: "materialIcon", type: "type", hideClose: "hideClose", actions: "actions", id: ["setId", "id"], config: "config" }, usesOnChanges: true, ngImport: i0, template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\" [innerHTML]=\"title\"></h3>\n </ng-container>\n <ng-container *ngIf=\"config.message\"> \n <p class=\"wco-modalConfirm--message\" [innerHTML]=\"message\"></p>\n </ng-container>\n <div class=\"wco-modalConfirm--actions\" [class.modalConfirm--actions-size]=\"config.actions.length === 1\"\n *ngIf=\"config.actions && config.actions.length > 0\">\n <button type=\"button\" [class]=\"getButtonClass(action)\" (click)=\"action.action()\"\n *ngFor=\"let action of config.actions; let index = index\">\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{action.materialIconLeft}}</span>\n {{action.text}}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{action.materialIconRight}}</span>\n </button>\n </div>\n </div>\n </main>\n</dialog>", styles: [".wco-modalConfirm{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;--color-type: var(--wco-color-neutral-900)}.wco-modalConfirm.info{--wco-modal-color-type: var(--wco-color-info-600)}.wco-modalConfirm.success{--wco-modal-color-type: var(--wco-color-success-600)}.wco-modalConfirm.warning{--wco-modal-color-type: var(--wco-color-warning-600)}.wco-modalConfirm.error{--wco-modal-color-type: var(--wco-color-danger-600)}.wco-modalConfirm.loading{--wco-modal-color-type: var(--wco-color-primary-600)}.wco-modalConfirm--title{font-size:var(--wco-font-size-lg);line-height:150%;letter-spacing:.4px;font-weight:700;color:var(--wco-color-neutral-900)}.wco-modalConfirm--icon{margin-bottom:var(--wco-spacing-md)}.wco-modalConfirm--icon span{font-size:var(--wco-spacing-xxl);color:var(--wco-modal-color-type)}.wco-modalConfirm--icon .spinner{width:93px}@media screen and (max-width: 768px){.wco-modalConfirm--icon .spinner{width:55px}}.wco-modalConfirm--message{font-size:var(--wco-font-size-xs);line-height:150%;letter-spacing:.4px;font-weight:400;color:var(--wco-color-neutral-700);text-wrap:pretty;margin-top:var(--wco-spacing-nano)}.wco-modalConfirm--actions{display:flex;justify-content:center;align-items:center;gap:var(--wco-spacing-xs);margin-top:var(--wco-spacing-md);width:100%}.wco-modalConfirm--actions.modalConfirm--actions-size{max-width:275px}@media screen and (max-width: 768px){.wco-modalConfirm--actions{flex-direction:column}}.spinner{animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}.loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1665
1684
|
}
|
|
1666
1685
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WcoModalAlertComponent, decorators: [{
|
|
1667
1686
|
type: Component,
|
|
1668
|
-
args: [{ selector: 'wco-modal-alert', standalone: true, imports: [CommonModule], template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\"
|
|
1669
|
-
}], propDecorators: { show: [{
|
|
1687
|
+
args: [{ selector: 'wco-modal-alert', standalone: true, imports: [CommonModule], template: "<dialog class=\"wco-modal\" [id]=\"id\" role=\"dialog\" aria-modal=\"true\">\n <main>\n <ng-container *ngIf=\"!config.hideClose\">\n <button class=\"wco-modal--close\" (click)=\"modalClose()\">\n <span class=\"material-icons\">close</span>\n </button>\n </ng-container>\n <div [class]=\"'wco-modalConfirm ' + iconMaterial.color\">\n <ng-container *ngIf=\"config.showIcon\">\n <span class=\"wco-modalConfirm--icon\">\n <ng-container *ngIf=\"config.type !== 'loading'\">\n <span class=\"material-icons-round\">\n <ng-container *ngIf=\"config.materialIcon; else iconTemplate\">\n {{config.materialIcon}}\n </ng-container>\n <ng-template #iconTemplate>\n {{ iconMaterial.icon}}\n </ng-template>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.type === 'loading'\">\n <svg class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--wco-modal-color-type)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n </ng-container>\n </span>\n </ng-container>\n <ng-container *ngIf=\"config.title\">\n <h3 class=\"wco-modalConfirm--title\" [innerHTML]=\"title\"></h3>\n </ng-container>\n <ng-container *ngIf=\"config.message\"> \n <p class=\"wco-modalConfirm--message\" [innerHTML]=\"message\"></p>\n </ng-container>\n <div class=\"wco-modalConfirm--actions\" [class.modalConfirm--actions-size]=\"config.actions.length === 1\"\n *ngIf=\"config.actions && config.actions.length > 0\">\n <button type=\"button\" [class]=\"getButtonClass(action)\" (click)=\"action.action()\"\n *ngFor=\"let action of config.actions; let index = index\">\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconLeft\">{{action.materialIconLeft}}</span>\n {{action.text}}\n <span class=\"material-icons-round\" *ngIf=\"action.materialIconRight\">{{action.materialIconRight}}</span>\n </button>\n </div>\n </div>\n </main>\n</dialog>", styles: [".wco-modalConfirm{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;--color-type: var(--wco-color-neutral-900)}.wco-modalConfirm.info{--wco-modal-color-type: var(--wco-color-info-600)}.wco-modalConfirm.success{--wco-modal-color-type: var(--wco-color-success-600)}.wco-modalConfirm.warning{--wco-modal-color-type: var(--wco-color-warning-600)}.wco-modalConfirm.error{--wco-modal-color-type: var(--wco-color-danger-600)}.wco-modalConfirm.loading{--wco-modal-color-type: var(--wco-color-primary-600)}.wco-modalConfirm--title{font-size:var(--wco-font-size-lg);line-height:150%;letter-spacing:.4px;font-weight:700;color:var(--wco-color-neutral-900)}.wco-modalConfirm--icon{margin-bottom:var(--wco-spacing-md)}.wco-modalConfirm--icon span{font-size:var(--wco-spacing-xxl);color:var(--wco-modal-color-type)}.wco-modalConfirm--icon .spinner{width:93px}@media screen and (max-width: 768px){.wco-modalConfirm--icon .spinner{width:55px}}.wco-modalConfirm--message{font-size:var(--wco-font-size-xs);line-height:150%;letter-spacing:.4px;font-weight:400;color:var(--wco-color-neutral-700);text-wrap:pretty;margin-top:var(--wco-spacing-nano)}.wco-modalConfirm--actions{display:flex;justify-content:center;align-items:center;gap:var(--wco-spacing-xs);margin-top:var(--wco-spacing-md);width:100%}.wco-modalConfirm--actions.modalConfirm--actions-size{max-width:275px}@media screen and (max-width: 768px){.wco-modalConfirm--actions{flex-direction:column}}.spinner{animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}.loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}\n"] }]
|
|
1688
|
+
}], ctorParameters: function () { return [{ type: i1$3.DomSanitizer }]; }, propDecorators: { show: [{
|
|
1670
1689
|
type: Input
|
|
1671
1690
|
}], showIcon: [{
|
|
1672
1691
|
type: Input
|
|
@@ -1689,6 +1708,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1689
1708
|
type: Input
|
|
1690
1709
|
}] } });
|
|
1691
1710
|
|
|
1711
|
+
class TableComponent {
|
|
1712
|
+
data = [];
|
|
1713
|
+
headers = [];
|
|
1714
|
+
loading = false;
|
|
1715
|
+
templates = {};
|
|
1716
|
+
constructor() { }
|
|
1717
|
+
getTemplate(templateName) {
|
|
1718
|
+
return this.templates[templateName];
|
|
1719
|
+
}
|
|
1720
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1721
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, isStandalone: true, selector: "wco-table", inputs: { data: "data", headers: "headers", loading: "loading", templates: "templates" }, ngImport: i0, template: "<div class=\"wco-table-area\">\n <table class=\"wco-table\" role=\"table\">\n <thead *ngIf=\"data && data.length > 0\">\n <tr>\n <th *ngFor=\"let header of headers\" scope=\"col\">{{ header.label }}</th>\n </tr>\n </thead>\n <ng-container *ngIf=\"!loading\">\n <tbody>\n <tr\n *ngFor=\"let row of data; let i = index\"\n [id]=\"row['id'] ? 'row-' + row['id'] : i\"\n >\n <td\n *ngFor=\"let header of headers\"\n role=\"cell\"\n [attr.data-label]=\"header.label\"\n >\n <ng-container *ngIf=\"header.template\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(header.template);\n context: { $implicit: row[header.key], row: row, index: i }\n \"\n />\n </ng-container>\n <ng-container *ngIf=\"!header.template\">{{\n row[header.key]\n }}</ng-container>\n </td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <tbody>\n <tr *ngFor=\"let row of [1, 2, 3, 4, 5]\">\n <td *ngFor=\"let header of headers\" role=\"cell\">\n <div class=\"wco-skeleton mt-0\" style=\"width: 100%\">\n <span class=\"block p-xxs\"></span>\n </div>\n </td>\n </tr>\n </tbody>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && !data.length\">\n <tbody>\n <tr class=\"wco-table__row--empty\">\n <td\n [attr.colspan]=\"headers.length\"\n class=\"wco-table__cell--empty\"\n role=\"cell\"\n >\n <ng-content select=\".empty\"></ng-content>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</div>\n", styles: [".wco-table-area{--wco-table-margin: var(--wco-spacing-xxs);--wco-table-padding: var(--wco-spacing-xxs);--wco-table-color-header-label: var(--wco-color-neutral-900);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-header-line: var(--wco-color-neutral-500);--wco-table-color-bg-cell: var(--wco-color-neutral-50);--wco-table-font-size-header: var(--wco-font-size-xs);--wco-table-font-size-cell: var(--wco-font-size-xs);display:block;width:100%;max-width:var(--wco-table-max-size, 100%);overflow-x:auto;-webkit-overflow-scrolling:touch}.wco-table-area table.wco-table{width:100%;border-spacing:0}@media (min-width: 800px) and (max-width: 1400px){.wco-table-area table.wco-table{min-width:900px}}@media (min-width: 800px){.wco-table-area table.wco-table ::ng-deep tr:not(.wco-table__row--empty):hover{--wco-table-color-header-line: var(--wco-color-primary-500);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-bg-cell: var(--wco-color-neutral-100)}}.wco-table-area table.wco-table ::ng-deep td{text-align:left;padding:var(--wco-table-padding);font-size:var(--wco-table-font-size-cell);line-height:var(--wco-font-lineheight-500);color:var(--wco-table-color-header-cell);border-bottom:1px solid var(--wco-table-color-header-line);background-color:var(--wco-table-color-bg-cell)}.wco-table-area table.wco-table ::ng-deep td.wco-table__cell--empty{--wco-table-color-header-line: transparent}.wco-table-area table.wco-table ::ng-deep thead tr{margin-bottom:var(--wco-table-margin)}.wco-table-area table.wco-table ::ng-deep thead tr th{text-align:left;font-size:var(--wco-table-font-size-header, 16px);color:var(--wco-table-color-header-label, var(--wco-color-neutral-900));padding:var(--wco-table-padding);font-weight:600}@media (max-width: 800px){.wco-table-area{--wco-table-padding: var(--wco-spacing-xxxs)}.wco-table-area table{background-color:transparent}.wco-table-area table th{display:none}.wco-table-area table tr{display:block;margin-bottom:12px;height:-moz-fit-content;height:fit-content;border:1px solid var(--wco-color-bg)}.wco-table-area table tr>td{display:block;width:100%;border:1px solid var(--wco-color-neutral-100)}.wco-table-area table tr>td:first-child{background-color:var(--wco-color-bg)}.wco-table-area table tr>td:last-child{border:none}.wco-table-area table tr>td:not([data-label=\"\"]):before{content:attr(data-label) \": \";font-weight:700;margin-right:.5em;color:var(--wco-color-neutral-700)}.wco-table-area table tr>td:not([data-label]):before{content:\"\"}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
1722
|
+
}
|
|
1723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
1724
|
+
type: Component,
|
|
1725
|
+
args: [{ selector: 'wco-table', standalone: true, imports: [CommonModule], template: "<div class=\"wco-table-area\">\n <table class=\"wco-table\" role=\"table\">\n <thead *ngIf=\"data && data.length > 0\">\n <tr>\n <th *ngFor=\"let header of headers\" scope=\"col\">{{ header.label }}</th>\n </tr>\n </thead>\n <ng-container *ngIf=\"!loading\">\n <tbody>\n <tr\n *ngFor=\"let row of data; let i = index\"\n [id]=\"row['id'] ? 'row-' + row['id'] : i\"\n >\n <td\n *ngFor=\"let header of headers\"\n role=\"cell\"\n [attr.data-label]=\"header.label\"\n >\n <ng-container *ngIf=\"header.template\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate(header.template);\n context: { $implicit: row[header.key], row: row, index: i }\n \"\n />\n </ng-container>\n <ng-container *ngIf=\"!header.template\">{{\n row[header.key]\n }}</ng-container>\n </td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngIf=\"loading\">\n <tbody>\n <tr *ngFor=\"let row of [1, 2, 3, 4, 5]\">\n <td *ngFor=\"let header of headers\" role=\"cell\">\n <div class=\"wco-skeleton mt-0\" style=\"width: 100%\">\n <span class=\"block p-xxs\"></span>\n </div>\n </td>\n </tr>\n </tbody>\n </ng-container>\n\n <ng-container *ngIf=\"!loading && !data.length\">\n <tbody>\n <tr class=\"wco-table__row--empty\">\n <td\n [attr.colspan]=\"headers.length\"\n class=\"wco-table__cell--empty\"\n role=\"cell\"\n >\n <ng-content select=\".empty\"></ng-content>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</div>\n", styles: [".wco-table-area{--wco-table-margin: var(--wco-spacing-xxs);--wco-table-padding: var(--wco-spacing-xxs);--wco-table-color-header-label: var(--wco-color-neutral-900);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-header-line: var(--wco-color-neutral-500);--wco-table-color-bg-cell: var(--wco-color-neutral-50);--wco-table-font-size-header: var(--wco-font-size-xs);--wco-table-font-size-cell: var(--wco-font-size-xs);display:block;width:100%;max-width:var(--wco-table-max-size, 100%);overflow-x:auto;-webkit-overflow-scrolling:touch}.wco-table-area table.wco-table{width:100%;border-spacing:0}@media (min-width: 800px) and (max-width: 1400px){.wco-table-area table.wco-table{min-width:900px}}@media (min-width: 800px){.wco-table-area table.wco-table ::ng-deep tr:not(.wco-table__row--empty):hover{--wco-table-color-header-line: var(--wco-color-primary-500);--wco-table-color-header-cell: var(--wco-color-neutral-700);--wco-table-color-bg-cell: var(--wco-color-neutral-100)}}.wco-table-area table.wco-table ::ng-deep td{text-align:left;padding:var(--wco-table-padding);font-size:var(--wco-table-font-size-cell);line-height:var(--wco-font-lineheight-500);color:var(--wco-table-color-header-cell);border-bottom:1px solid var(--wco-table-color-header-line);background-color:var(--wco-table-color-bg-cell)}.wco-table-area table.wco-table ::ng-deep td.wco-table__cell--empty{--wco-table-color-header-line: transparent}.wco-table-area table.wco-table ::ng-deep thead tr{margin-bottom:var(--wco-table-margin)}.wco-table-area table.wco-table ::ng-deep thead tr th{text-align:left;font-size:var(--wco-table-font-size-header, 16px);color:var(--wco-table-color-header-label, var(--wco-color-neutral-900));padding:var(--wco-table-padding);font-weight:600}@media (max-width: 800px){.wco-table-area{--wco-table-padding: var(--wco-spacing-xxxs)}.wco-table-area table{background-color:transparent}.wco-table-area table th{display:none}.wco-table-area table tr{display:block;margin-bottom:12px;height:-moz-fit-content;height:fit-content;border:1px solid var(--wco-color-bg)}.wco-table-area table tr>td{display:block;width:100%;border:1px solid var(--wco-color-neutral-100)}.wco-table-area table tr>td:first-child{background-color:var(--wco-color-bg)}.wco-table-area table tr>td:last-child{border:none}.wco-table-area table tr>td:not([data-label=\"\"]):before{content:attr(data-label) \": \";font-weight:700;margin-right:.5em;color:var(--wco-color-neutral-700)}.wco-table-area table tr>td:not([data-label]):before{content:\"\"}}\n"] }]
|
|
1726
|
+
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
1727
|
+
type: Input
|
|
1728
|
+
}], headers: [{
|
|
1729
|
+
type: Input
|
|
1730
|
+
}], loading: [{
|
|
1731
|
+
type: Input
|
|
1732
|
+
}], templates: [{
|
|
1733
|
+
type: Input
|
|
1734
|
+
}] } });
|
|
1735
|
+
|
|
1692
1736
|
/*
|
|
1693
1737
|
* Public API Surface of ngx-fenixds
|
|
1694
1738
|
*/
|
|
@@ -1697,5 +1741,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1697
1741
|
* Generated bundle index. Do not edit.
|
|
1698
1742
|
*/
|
|
1699
1743
|
|
|
1700
|
-
export { MsgBoxFeedbackComponent, PaginationComponent, PreviewFileComponent, SmartSelectComponent, SmartSelectOptionComponent, StepComponent, StepperComponent, TabsComponent, TimelineComponent, UploadComponent, UserAvatarComponent, WcoModalAlertComponent };
|
|
1744
|
+
export { MsgBoxFeedbackComponent, PaginationComponent, PreviewFileComponent, SmartSelectComponent, SmartSelectOptionComponent, StepComponent, StepperComponent, TableComponent, TabsComponent, TimelineComponent, UploadComponent, UserAvatarComponent, WcoModalAlertComponent };
|
|
1701
1745
|
//# sourceMappingURL=wizco-fenixds-ngx.mjs.map
|