@smartbit4all/ng-client 4.0.59 → 4.0.60
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/smart-expandable-section/expandable-section.component.mjs +15 -7
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +7 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +2 -2
- package/fesm2022/smartbit4all-ng-client.mjs +19 -9
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-expandable-section/expandable-section.component.d.ts +4 -1
- package/lib/smart-expandable-section/smart-expandable-section.module.d.ts +2 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.0.60.tgz +0 -0
- package/smartbit4all-ng-client-4.0.59.tgz +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
1
|
+
import { Component, Inject, Input, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, } from './expandable-section.model';
|
|
4
|
+
import { COMPONENT_LIBRARY, ComponentLibrary } from '../view-context/utility/componentLibrary';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "../component-factory-service/projects";
|
|
6
7
|
import * as i2 from "@angular/common";
|
|
@@ -8,9 +9,13 @@ import * as i3 from "@angular/material/expansion";
|
|
|
8
9
|
import * as i4 from "@angular/material/button";
|
|
9
10
|
import * as i5 from "@angular/material/menu";
|
|
10
11
|
import * as i6 from "../smart-icon/smart-icon/smart-icon.component";
|
|
12
|
+
import * as i7 from "primeng/accordion";
|
|
13
|
+
import * as i8 from "../view-context/utility/componentLibrary";
|
|
11
14
|
export class ExpandableSectionComponent {
|
|
12
|
-
constructor(cfService) {
|
|
15
|
+
constructor(cfService, compLib) {
|
|
13
16
|
this.cfService = cfService;
|
|
17
|
+
this.compLib = compLib;
|
|
18
|
+
this.componentLibrary = ComponentLibrary;
|
|
14
19
|
this.stateChange = new Subject();
|
|
15
20
|
}
|
|
16
21
|
onStateChange(isOpened) {
|
|
@@ -68,13 +73,16 @@ export class ExpandableSectionComponent {
|
|
|
68
73
|
}
|
|
69
74
|
button.callback(button.args, element);
|
|
70
75
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExpandableSectionComponent, deps: [{ token: i1.ComponentFactoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExpandableSectionComponent, deps: [{ token: i1.ComponentFactoryService }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: { data: "data", index: "index" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["renderComponent"], descendants: true, read: ViewContainerRef }, { propertyName: "vcRefheader", first: true, predicate: ["headerComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"section-container\" [ngClass]=\"data.cssClass ?? ''\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <p-accordion *ngIf=\"!data.headerComponent\">\r\n <p-accordionTab header=\"{{ data.title }}\">\r\n <ng-template #renderComponent></ng-template>\r\n </p-accordionTab>\r\n </p-accordion>\r\n }@else {\r\n\r\n <mat-expansion-panel\r\n [expanded]=\"data.isExpanded\"\r\n (opened)=\"onStateChange(true)\"\r\n (closed)=\"onStateChange(false)\"\r\n [disabled]=\"!!data.isDisabled\"\r\n >\r\n <mat-expansion-panel-header *ngIf=\"data.headerComponent\">\r\n <ng-template #headerComponent></ng-template>\r\n </mat-expansion-panel-header>\r\n <mat-expansion-panel-header *ngIf=\"!data.headerComponent\">\r\n <mat-panel-title> {{ data.title }} </mat-panel-title>\r\n <div class=\"btn-container\" *ngIf=\"data.button\">\r\n <button\r\n *ngIf=\"data.button.type === type().BUTTON\"\r\n class=\"btn\"\r\n (click)=\"action(data.button, $event)\"\r\n mat-stroked-button\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n {{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <button\r\n *ngIf=\"data.button.type === type().MENU\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.stopPropagation()\"\r\n color=\"{{ data.button.color }}\"\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon\r\n >{{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of data.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, data.index)\"\r\n mat-menu-item\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n button.icon && (!button.iconPosition || button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"button.icon\"\r\n ></smart-icon\r\n >{{ button.label }}\r\n <smart-icon\r\n *ngIf=\"button.icon && button.iconPosition === position().POST\"\r\n [icon]=\"button.icon\"\r\n ></smart-icon>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-template #renderComponent></ng-template>\r\n </mat-expansion-panel>\r\n }\r\n</div>\r\n", styles: [".section-container{margin-bottom:50px}:host::ng-deep .mat-expansion-panel-header{background:var(--primary-lighter-color)}:host::ng-deep .mat-expansion-panel-header-title{color:var(--primary-color)}:host::ng-deep .btn-container{margin:1em 3em 1em 1em}:host::ng-deep .btn{border-radius:24px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i7.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i7.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }] }); }
|
|
73
78
|
}
|
|
74
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExpandableSectionComponent, decorators: [{
|
|
75
80
|
type: Component,
|
|
76
|
-
args: [{ selector: 'smart-expandable-section', template: "<div class=\"section-container\" [ngClass]=\"data.cssClass ?? ''\">\r\n <mat-expansion-panel\r\n [expanded]=\"data.isExpanded\"\r\n (opened)=\"onStateChange(true)\"\r\n (closed)=\"onStateChange(false)\"\r\n [disabled]=\"!!data.isDisabled\"\r\n >\r\n <mat-expansion-panel-header *ngIf=\"data.headerComponent\">\r\n <ng-template #headerComponent></ng-template>\r\n </mat-expansion-panel-header>\r\n <mat-expansion-panel-header *ngIf=\"!data.headerComponent\">\r\n <mat-panel-title> {{ data.title }} </mat-panel-title>\r\n <div class=\"btn-container\" *ngIf=\"data.button\">\r\n <button\r\n *ngIf=\"data.button.type === type().BUTTON\"\r\n class=\"btn\"\r\n (click)=\"action(data.button, $event)\"\r\n mat-stroked-button\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n {{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <button\r\n *ngIf=\"data.button.type === type().MENU\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.stopPropagation()\"\r\n color=\"{{ data.button.color }}\"\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon\r\n >{{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of data.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, data.index)\"\r\n mat-menu-item\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n button.icon && (!button.iconPosition || button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"button.icon\"\r\n ></smart-icon\r\n >{{ button.label }}\r\n <smart-icon\r\n *ngIf=\"button.icon && button.iconPosition === position().POST\"\r\n [icon]=\"button.icon\"\r\n ></smart-icon>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-template #renderComponent></ng-template>\r\n </mat-expansion-panel>\r\n</div>\r\n", styles: [".section-container{margin-bottom:50px}:host::ng-deep .mat-expansion-panel-header{background:var(--primary-lighter-color)}:host::ng-deep .mat-expansion-panel-header-title{color:var(--primary-color)}:host::ng-deep .btn-container{margin:1em 3em 1em 1em}:host::ng-deep .btn{border-radius:24px}\n"] }]
|
|
77
|
-
}], ctorParameters: () => [{ type: i1.ComponentFactoryService }
|
|
81
|
+
args: [{ selector: 'smart-expandable-section', template: "<div class=\"section-container\" [ngClass]=\"data.cssClass ?? ''\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <p-accordion *ngIf=\"!data.headerComponent\">\r\n <p-accordionTab header=\"{{ data.title }}\">\r\n <ng-template #renderComponent></ng-template>\r\n </p-accordionTab>\r\n </p-accordion>\r\n }@else {\r\n\r\n <mat-expansion-panel\r\n [expanded]=\"data.isExpanded\"\r\n (opened)=\"onStateChange(true)\"\r\n (closed)=\"onStateChange(false)\"\r\n [disabled]=\"!!data.isDisabled\"\r\n >\r\n <mat-expansion-panel-header *ngIf=\"data.headerComponent\">\r\n <ng-template #headerComponent></ng-template>\r\n </mat-expansion-panel-header>\r\n <mat-expansion-panel-header *ngIf=\"!data.headerComponent\">\r\n <mat-panel-title> {{ data.title }} </mat-panel-title>\r\n <div class=\"btn-container\" *ngIf=\"data.button\">\r\n <button\r\n *ngIf=\"data.button.type === type().BUTTON\"\r\n class=\"btn\"\r\n (click)=\"action(data.button, $event)\"\r\n mat-stroked-button\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n {{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <button\r\n *ngIf=\"data.button.type === type().MENU\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.stopPropagation()\"\r\n color=\"{{ data.button.color }}\"\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon\r\n >{{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of data.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, data.index)\"\r\n mat-menu-item\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n button.icon && (!button.iconPosition || button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"button.icon\"\r\n ></smart-icon\r\n >{{ button.label }}\r\n <smart-icon\r\n *ngIf=\"button.icon && button.iconPosition === position().POST\"\r\n [icon]=\"button.icon\"\r\n ></smart-icon>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-template #renderComponent></ng-template>\r\n </mat-expansion-panel>\r\n }\r\n</div>\r\n", styles: [".section-container{margin-bottom:50px}:host::ng-deep .mat-expansion-panel-header{background:var(--primary-lighter-color)}:host::ng-deep .mat-expansion-panel-header-title{color:var(--primary-color)}:host::ng-deep .btn-container{margin:1em 3em 1em 1em}:host::ng-deep .btn{border-radius:24px}\n"] }]
|
|
82
|
+
}], ctorParameters: () => [{ type: i1.ComponentFactoryService }, { type: i8.ComponentLibrary, decorators: [{
|
|
83
|
+
type: Inject,
|
|
84
|
+
args: [COMPONENT_LIBRARY]
|
|
85
|
+
}] }], propDecorators: { data: [{
|
|
78
86
|
type: Input
|
|
79
87
|
}], index: [{
|
|
80
88
|
type: Input
|
|
@@ -85,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
85
93
|
type: ViewChild,
|
|
86
94
|
args: ['headerComponent', { read: ViewContainerRef }]
|
|
87
95
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9leHBhbmRhYmxlLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL2V4cGFuZGFibGUtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQVUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUdMLG1DQUFtQyxFQUNuQywyQkFBMkIsR0FDNUIsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFRcEMsTUFBTSxPQUFPLDBCQUEwQjtJQWFyQyxZQUFvQixTQUFrQztRQUFsQyxjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUZ0RCxnQkFBVyxHQUFvQyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRUosQ0FBQztJQUUxRCxhQUFhLENBQUMsUUFBaUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNwQixVQUFVLEVBQUUsUUFB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eEMsQ0FBQzsrR0ExRlUsMEJBQTBCO21HQUExQiwwQkFBMEIsK0xBSUMsZ0JBQWdCLHlHQUloQixnQkFBZ0IsNkJDdkJ4RCxzNkZBNEVBOzs0RkQ3RGEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDBCQUEwQjs0RkFLM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixLQUFLO3NCQURKLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3hELFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEV4cGFuZGFibGVTZWN0aW9uLFxyXG4gIEV4cGFuZGFibGVTZWN0aW9uQnV0dG9uLFxyXG4gIEV4cGFuZGFibGVTZWN0aW9uQnV0dG9uSWNvblBvc2l0aW9uLFxyXG4gIEV4cGFuZGFibGVTZWN0aW9uQnV0dG9uVHlwZSxcclxufSBmcm9tICcuL2V4cGFuZGFibGUtc2VjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS9wcm9qZWN0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGFuZGFibGUtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kYWJsZS1zZWN0aW9uLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhITogRXhwYW5kYWJsZVNlY3Rpb248YW55PjtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncmVuZGVyQ29tcG9uZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgdmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBAVmlld0NoaWxkKCdoZWFkZXJDb21wb25lbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICB2Y1JlZmhlYWRlcj86IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIHN0YXRlQ2hhbmdlOiBTdWJqZWN0PEV4cGFuZGFibGVTZWN0aW9uPGFueT4+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZlNlcnZpY2U6IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlKSB7fVxyXG5cclxuICBvblN0YXRlQ2hhbmdlKGlzT3BlbmVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEuaXNFeHBhbmRlZCA9IGlzT3BlbmVkO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgICBpZiAodGhpcy5kYXRhLnN0YXRlQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmRhdGEuc3RhdGVDaGFuZ2VkLm5leHQoe1xyXG4gICAgICAgIGRhdGE6IHRoaXMuZGF0YS5kYXRhLFxyXG4gICAgICAgIGlzRXhwYW5kZWQ6IGlzT3BlbmVkLFxyXG4gICAgICAgIGluZGV4OiB0aGlzLmRhdGEuaW5kZXgsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmhlYWRlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmNmU2VydmljZS5jcmVhdGVDb21wb25lbnQoXHJcbiAgICAgICAgdGhpcy52Y1JlZmhlYWRlciEsXHJcbiAgICAgICAgdGhpcy5kYXRhLmhlYWRlckNvbXBvbmVudCxcclxuICAgICAgICBuZXcgTWFwPHN0cmluZywgYW55PihbXHJcbiAgICAgICAgICBbdGhpcy5kYXRhLmhlYWRlcklucHV0TmFtZSA/PyAnJywgdGhpcy5kYXRhLmhlYWRlckRhdGFdLFxyXG4gICAgICAgICAgWydzdGF0ZUNoYW5nZScsIHRoaXMuc3RhdGVDaGFuZ2VdLFxyXG4gICAgICAgICAgWydpbmRleCcsIHRoaXMuZGF0YS5pbmRleF0sXHJcbiAgICAgICAgICBbJ3NlY3Rpb25JbmRleCcsIHRoaXMuaW5kZXhdLFxyXG4gICAgICAgIF0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBsZXQgaW5wdXRzID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oW1xyXG4gICAgICBbJ3N0YXRlQ2hhbmdlJywgdGhpcy5zdGF0ZUNoYW5nZV0sXHJcbiAgICAgIFsnaW5kZXgnLCB0aGlzLmRhdGEuaW5kZXhdLFxyXG4gICAgICBbJ3NlY3Rpb25JbmRleCcsIHRoaXMuaW5kZXhdLFxyXG4gICAgXSk7XHJcbiAgICBpZiAodGhpcy5kYXRhLmlucHV0TmFtZSkge1xyXG4gICAgICBpbnB1dHMuc2V0KHRoaXMuZGF0YS5pbnB1dE5hbWUsIHRoaXMuZGF0YS5kYXRhKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGEuaW5wdXRzKSB7XHJcbiAgICAgIHRoaXMuZGF0YS5pbnB1dHMuZm9yRWFjaCgodiwgaykgPT4gaW5wdXRzLnNldChrLCB2KSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNmU2VydmljZS5jcmVhdGVDb21wb25lbnQoXHJcbiAgICAgIHRoaXMudmNSZWYhLFxyXG4gICAgICB0aGlzLmRhdGEuY3VzdG9tQ29tcG9uZW50LFxyXG4gICAgICBpbnB1dHNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhY3Rpb24oYnV0dG9uOiBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvbiwgZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAoIWJ1dHRvbi5jYWxsYmFjaykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYEJ1dHRvbiB3aXRoIG5hbWUgJHtidXR0b24ubGFiZWx9IG9yIGljb24gJHtidXR0b24uaWNvbn0gZG9lcyBub3QgaGF2ZSBhIGNhbGxiYWNrIWBcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24uY2FsbGJhY2soYnV0dG9uLmFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kZWQoKSB7fVxyXG5cclxuICB0eXBlKCk6IHR5cGVvZiBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvblR5cGUge1xyXG4gICAgcmV0dXJuIEV4cGFuZGFibGVTZWN0aW9uQnV0dG9uVHlwZTtcclxuICB9XHJcbiAgcG9zaXRpb24oKTogdHlwZW9mIEV4cGFuZGFibGVTZWN0aW9uQnV0dG9uSWNvblBvc2l0aW9uIHtcclxuICAgIHJldHVybiBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvbkljb25Qb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIGN1c3RvbUJ1dHRvbkNsaWNrZWQoZXZlbnQ6IGFueSwgYnV0dG9uOiBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvbiwgZWxlbWVudDogYW55KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAoIWJ1dHRvbi5jYWxsYmFjaykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYEJ1dHRvbiB3aXRoIG5hbWUgJHtidXR0b24ubGFiZWx9IG9yIGljb24gJHtidXR0b24uaWNvbn0gZG9lcyBub3QgaGF2ZSBhIGNhbGxiYWNrIWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGJ1dHRvbi5jYWxsYmFjayhidXR0b24uYXJncywgZWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzZWN0aW9uLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImRhdGEuY3NzQ2xhc3MgPz8gJydcIj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbFxyXG4gICAgW2V4cGFuZGVkXT1cImRhdGEuaXNFeHBhbmRlZFwiXHJcbiAgICAob3BlbmVkKT1cIm9uU3RhdGVDaGFuZ2UodHJ1ZSlcIlxyXG4gICAgKGNsb3NlZCk9XCJvblN0YXRlQ2hhbmdlKGZhbHNlKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiISFkYXRhLmlzRGlzYWJsZWRcIlxyXG4gID5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAqbmdJZj1cImRhdGEuaGVhZGVyQ29tcG9uZW50XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyQ29tcG9uZW50PjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyICpuZ0lmPVwiIWRhdGEuaGVhZGVyQ29tcG9uZW50XCI+XHJcbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+IHt7IGRhdGEudGl0bGUgfX0gPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidG4tY29udGFpbmVyXCIgKm5nSWY9XCJkYXRhLmJ1dHRvblwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5idXR0b24udHlwZSA9PT0gdHlwZSgpLkJVVFRPTlwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uKGRhdGEuYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgZGF0YS5idXR0b24uaWNvbiAmJlxyXG4gICAgICAgICAgICAgICghZGF0YS5idXR0b24uaWNvblBvc2l0aW9uIHx8IGRhdGEuYnV0dG9uLmljb25Qb3NpdGlvbiA9PT0gcG9zaXRpb24oKS5QUkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImRhdGEuYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgICAgICAgIHt7IGRhdGEuYnV0dG9uLmxhYmVsIH19XHJcbiAgICAgICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEuYnV0dG9uLmljb24gJiYgZGF0YS5idXR0b24uaWNvblBvc2l0aW9uID09PSBwb3NpdGlvbigpLlBPU1RcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCJkYXRhLmJ1dHRvbi5pY29uXCJcclxuICAgICAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJkYXRhLmJ1dHRvbi50eXBlID09PSB0eXBlKCkuTUVOVVwiXHJcbiAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgIGNvbG9yPVwie3sgZGF0YS5idXR0b24uY29sb3IgfX1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgZGF0YS5idXR0b24uaWNvbiAmJlxyXG4gICAgICAgICAgICAgICghZGF0YS5idXR0b24uaWNvblBvc2l0aW9uIHx8IGRhdGEuYnV0dG9uLmljb25Qb3NpdGlvbiA9PT0gcG9zaXRpb24oKS5QUkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImRhdGEuYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgPjwvc21hcnQtaWNvblxyXG4gICAgICAgICAgPnt7IGRhdGEuYnV0dG9uLmxhYmVsIH19XHJcbiAgICAgICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEuYnV0dG9uLmljb24gJiYgZGF0YS5idXR0b24uaWNvblBvc2l0aW9uID09PSBwb3NpdGlvbigpLlBPU1RcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCJkYXRhLmJ1dHRvbi5pY29uXCJcclxuICAgICAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGEuYnV0dG9uLm1lbnVJdGVtQnV0dG9uc1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21CdXR0b25DbGlja2VkKCRldmVudCwgYnV0dG9uLCBkYXRhLmluZGV4KVwiXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgYnV0dG9uLmljb24gJiYgKCFidXR0b24uaWNvblBvc2l0aW9uIHx8IGJ1dHRvbi5pY29uUG9zaXRpb24gPT09IHBvc2l0aW9uKCkuUFJFKVxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgICA+PC9zbWFydC1pY29uXHJcbiAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX1cclxuICAgICAgICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAgICAgICAqbmdJZj1cImJ1dHRvbi5pY29uICYmIGJ1dHRvbi5pY29uUG9zaXRpb24gPT09IHBvc2l0aW9uKCkuUE9TVFwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICNyZW5kZXJDb21wb25lbnQ+PC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9leHBhbmRhYmxlLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL2V4cGFuZGFibGUtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFHTCxtQ0FBbUMsRUFDbkMsMkJBQTJCLEdBQzVCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7QUFPL0YsTUFBTSxPQUFPLDBCQUEwQjtJQWFyQyxZQUNVLFNBQWtDLEVBQ1IsT0FBeUI7UUFEbkQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDUixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVo3RCxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQVFwQyxnQkFBVyxHQUFvQyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSzFELENBQUM7SUFFSixhQUFhLENBQUMsUUFBaUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FB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YixvQkFBb0IsTUFBTSxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsSUFBSSw0QkFBNEIsQ0FDcEYsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0E3RlUsMEJBQTBCLHlEQWUzQixpQkFBaUI7bUdBZmhCLDBCQUEwQiwrTEFJQyxnQkFBZ0IseUdBSWhCLGdCQUFnQiw2QkNoQ3hELDByR0FxRkE7OzRGRDdEYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFtQmpDLE1BQU07MkJBQUMsaUJBQWlCO3lDQWRsQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdOLEtBQUs7c0JBREosU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFLeEQsV0FBVztzQkFEVixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBFeHBhbmRhYmxlU2VjdGlvbixcclxuICBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvbixcclxuICBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvbkljb25Qb3NpdGlvbixcclxuICBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvblR5cGUsXHJcbn0gZnJvbSAnLi9leHBhbmRhYmxlLXNlY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudC1mYWN0b3J5LXNlcnZpY2UvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1leHBhbmRhYmxlLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9leHBhbmRhYmxlLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4cGFuZGFibGUtc2VjdGlvbi5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBhbmRhYmxlU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YSE6IEV4cGFuZGFibGVTZWN0aW9uPGFueT47XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcbiAgQFZpZXdDaGlsZCgncmVuZGVyQ29tcG9uZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgdmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBAVmlld0NoaWxkKCdoZWFkZXJDb21wb25lbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcclxuICB2Y1JlZmhlYWRlcj86IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIHN0YXRlQ2hhbmdlOiBTdWJqZWN0PEV4cGFuZGFibGVTZWN0aW9uPGFueT4+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNmU2VydmljZTogQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge31cclxuXHJcbiAgb25TdGF0ZUNoYW5nZShpc09wZW5lZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhLmlzRXhwYW5kZWQgPSBpc09wZW5lZDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2UubmV4dCh0aGlzLmRhdGEpO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5zdGF0ZUNoYW5nZWQpIHtcclxuICAgICAgdGhpcy5kYXRhLnN0YXRlQ2hhbmdlZC5uZXh0KHtcclxuICAgICAgICBkYXRhOiB0aGlzLmRhdGEuZGF0YSxcclxuICAgICAgICBpc0V4cGFuZGVkOiBpc09wZW5lZCxcclxuICAgICAgICBpbmRleDogdGhpcy5kYXRhLmluZGV4LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5oZWFkZXJDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5jZlNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICAgIHRoaXMudmNSZWZoZWFkZXIhLFxyXG4gICAgICAgIHRoaXMuZGF0YS5oZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1xyXG4gICAgICAgICAgW3RoaXMuZGF0YS5oZWFkZXJJbnB1dE5hbWUgPz8gJycsIHRoaXMuZGF0YS5oZWFkZXJEYXRhXSxcclxuICAgICAgICAgIFsnc3RhdGVDaGFuZ2UnLCB0aGlzLnN0YXRlQ2hhbmdlXSxcclxuICAgICAgICAgIFsnaW5kZXgnLCB0aGlzLmRhdGEuaW5kZXhdLFxyXG4gICAgICAgICAgWydzZWN0aW9uSW5kZXgnLCB0aGlzLmluZGV4XSxcclxuICAgICAgICBdKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgbGV0IGlucHV0cyA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFtcclxuICAgICAgWydzdGF0ZUNoYW5nZScsIHRoaXMuc3RhdGVDaGFuZ2VdLFxyXG4gICAgICBbJ2luZGV4JywgdGhpcy5kYXRhLmluZGV4XSxcclxuICAgICAgWydzZWN0aW9uSW5kZXgnLCB0aGlzLmluZGV4XSxcclxuICAgIF0pO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pbnB1dE5hbWUpIHtcclxuICAgICAgaW5wdXRzLnNldCh0aGlzLmRhdGEuaW5wdXROYW1lLCB0aGlzLmRhdGEuZGF0YSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLmlucHV0cykge1xyXG4gICAgICB0aGlzLmRhdGEuaW5wdXRzLmZvckVhY2goKHYsIGspID0+IGlucHV0cy5zZXQoaywgdikpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jZlNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLnZjUmVmISxcclxuICAgICAgdGhpcy5kYXRhLmN1c3RvbUNvbXBvbmVudCxcclxuICAgICAgaW5wdXRzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uKGJ1dHRvbjogRXhwYW5kYWJsZVNlY3Rpb25CdXR0b24sIGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKCFidXR0b24uY2FsbGJhY2spIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBCdXR0b24gd2l0aCBuYW1lICR7YnV0dG9uLmxhYmVsfSBvciBpY29uICR7YnV0dG9uLmljb259IGRvZXMgbm90IGhhdmUgYSBjYWxsYmFjayFgXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmNhbGxiYWNrKGJ1dHRvbi5hcmdzKTtcclxuICB9XHJcblxyXG4gIHNldEV4cGFuZGVkKCkge31cclxuXHJcbiAgdHlwZSgpOiB0eXBlb2YgRXhwYW5kYWJsZVNlY3Rpb25CdXR0b25UeXBlIHtcclxuICAgIHJldHVybiBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvblR5cGU7XHJcbiAgfVxyXG4gIHBvc2l0aW9uKCk6IHR5cGVvZiBFeHBhbmRhYmxlU2VjdGlvbkJ1dHRvbkljb25Qb3NpdGlvbiB7XHJcbiAgICByZXR1cm4gRXhwYW5kYWJsZVNlY3Rpb25CdXR0b25JY29uUG9zaXRpb247XHJcbiAgfVxyXG5cclxuICBjdXN0b21CdXR0b25DbGlja2VkKGV2ZW50OiBhbnksIGJ1dHRvbjogRXhwYW5kYWJsZVNlY3Rpb25CdXR0b24sIGVsZW1lbnQ6IGFueSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKCFidXR0b24uY2FsbGJhY2spIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBCdXR0b24gd2l0aCBuYW1lICR7YnV0dG9uLmxhYmVsfSBvciBpY29uICR7YnV0dG9uLmljb259IGRvZXMgbm90IGhhdmUgYSBjYWxsYmFjayFgXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBidXR0b24uY2FsbGJhY2soYnV0dG9uLmFyZ3MsIGVsZW1lbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VjdGlvbi1jb250YWluZXJcIiBbbmdDbGFzc109XCJkYXRhLmNzc0NsYXNzID8/ICcnXCI+XHJcbiAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gIDxwLWFjY29yZGlvbiAqbmdJZj1cIiFkYXRhLmhlYWRlckNvbXBvbmVudFwiPlxyXG4gICAgPHAtYWNjb3JkaW9uVGFiIGhlYWRlcj1cInt7IGRhdGEudGl0bGUgfX1cIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZW5kZXJDb21wb25lbnQ+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbiAgPC9wLWFjY29yZGlvbj5cclxuICB9QGVsc2Uge1xyXG5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbFxyXG4gICAgW2V4cGFuZGVkXT1cImRhdGEuaXNFeHBhbmRlZFwiXHJcbiAgICAob3BlbmVkKT1cIm9uU3RhdGVDaGFuZ2UodHJ1ZSlcIlxyXG4gICAgKGNsb3NlZCk9XCJvblN0YXRlQ2hhbmdlKGZhbHNlKVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiISFkYXRhLmlzRGlzYWJsZWRcIlxyXG4gID5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAqbmdJZj1cImRhdGEuaGVhZGVyQ29tcG9uZW50XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyQ29tcG9uZW50PjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyICpuZ0lmPVwiIWRhdGEuaGVhZGVyQ29tcG9uZW50XCI+XHJcbiAgICAgIDxtYXQtcGFuZWwtdGl0bGU+IHt7IGRhdGEudGl0bGUgfX0gPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidG4tY29udGFpbmVyXCIgKm5nSWY9XCJkYXRhLmJ1dHRvblwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5idXR0b24udHlwZSA9PT0gdHlwZSgpLkJVVFRPTlwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0blwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uKGRhdGEuYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgZGF0YS5idXR0b24uaWNvbiAmJlxyXG4gICAgICAgICAgICAgICghZGF0YS5idXR0b24uaWNvblBvc2l0aW9uIHx8IGRhdGEuYnV0dG9uLmljb25Qb3NpdGlvbiA9PT0gcG9zaXRpb24oKS5QUkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImRhdGEuYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgICAgICAgIHt7IGRhdGEuYnV0dG9uLmxhYmVsIH19XHJcbiAgICAgICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEuYnV0dG9uLmljb24gJiYgZGF0YS5idXR0b24uaWNvblBvc2l0aW9uID09PSBwb3NpdGlvbigpLlBPU1RcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCJkYXRhLmJ1dHRvbi5pY29uXCJcclxuICAgICAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJkYXRhLmJ1dHRvbi50eXBlID09PSB0eXBlKCkuTUVOVVwiXHJcbiAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgIGNvbG9yPVwie3sgZGF0YS5idXR0b24uY29sb3IgfX1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgZGF0YS5idXR0b24uaWNvbiAmJlxyXG4gICAgICAgICAgICAgICghZGF0YS5idXR0b24uaWNvblBvc2l0aW9uIHx8IGRhdGEuYnV0dG9uLmljb25Qb3NpdGlvbiA9PT0gcG9zaXRpb24oKS5QUkUpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImRhdGEuYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgPjwvc21hcnQtaWNvblxyXG4gICAgICAgICAgPnt7IGRhdGEuYnV0dG9uLmxhYmVsIH19XHJcbiAgICAgICAgICA8c21hcnQtaWNvblxyXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEuYnV0dG9uLmljb24gJiYgZGF0YS5idXR0b24uaWNvblBvc2l0aW9uID09PSBwb3NpdGlvbigpLlBPU1RcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCJkYXRhLmJ1dHRvbi5pY29uXCJcclxuICAgICAgICAgID48L3NtYXJ0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGEuYnV0dG9uLm1lbnVJdGVtQnV0dG9uc1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21CdXR0b25DbGlja2VkKCRldmVudCwgYnV0dG9uLCBkYXRhLmluZGV4KVwiXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgYnV0dG9uLmljb24gJiYgKCFidXR0b24uaWNvblBvc2l0aW9uIHx8IGJ1dHRvbi5pY29uUG9zaXRpb24gPT09IHBvc2l0aW9uKCkuUFJFKVxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgICA+PC9zbWFydC1pY29uXHJcbiAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX1cclxuICAgICAgICAgICAgPHNtYXJ0LWljb25cclxuICAgICAgICAgICAgICAqbmdJZj1cImJ1dHRvbi5pY29uICYmIGJ1dHRvbi5pY29uUG9zaXRpb24gPT09IHBvc2l0aW9uKCkuUE9TVFwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICNyZW5kZXJDb21wb25lbnQ+PC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|
|
@@ -8,6 +8,7 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
8
8
|
import { MatMenuModule } from '@angular/material/menu';
|
|
9
9
|
import { ComponentFactoryServiceModule } from '../component-factory-service/projects';
|
|
10
10
|
import { SmartIconModule } from '../smart-icon/projects';
|
|
11
|
+
import { AccordionModule } from 'primeng/accordion';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export class SmartExpandableSectionModule {
|
|
13
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartExpandableSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -18,7 +19,8 @@ export class SmartExpandableSectionModule {
|
|
|
18
19
|
MatIconModule,
|
|
19
20
|
MatButtonModule,
|
|
20
21
|
MatMenuModule,
|
|
21
|
-
SmartIconModule
|
|
22
|
+
SmartIconModule,
|
|
23
|
+
AccordionModule], exports: [ExpandableSectionComponent] }); }
|
|
22
24
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartExpandableSectionModule, imports: [BrowserModule,
|
|
23
25
|
MatCommonModule,
|
|
24
26
|
MatExpansionModule,
|
|
@@ -26,7 +28,8 @@ export class SmartExpandableSectionModule {
|
|
|
26
28
|
MatIconModule,
|
|
27
29
|
MatButtonModule,
|
|
28
30
|
MatMenuModule,
|
|
29
|
-
SmartIconModule
|
|
31
|
+
SmartIconModule,
|
|
32
|
+
AccordionModule] }); }
|
|
30
33
|
}
|
|
31
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartExpandableSectionModule, decorators: [{
|
|
32
35
|
type: NgModule,
|
|
@@ -41,9 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
41
44
|
MatButtonModule,
|
|
42
45
|
MatMenuModule,
|
|
43
46
|
SmartIconModule,
|
|
47
|
+
AccordionModule,
|
|
44
48
|
],
|
|
45
49
|
exports: [ExpandableSectionComponent],
|
|
46
50
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
47
51
|
}]
|
|
48
52
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWtCcEQsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO2dIQUE1Qiw0QkFBNEIsaUJBZnhCLDBCQUEwQixhQUV2QyxhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQiw2QkFBNkI7WUFDN0IsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWUsYUFFUCwwQkFBMEI7Z0hBR3pCLDRCQUE0QixZQWJyQyxhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQiw2QkFBNkI7WUFDN0IsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7OzRGQUtOLDRCQUE0QjtrQkFoQnhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9leHBhbmRhYmxlLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2FjY29yZGlvbic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0V4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBCcm93c2VyTW9kdWxlLFxyXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgQ29tcG9uZW50RmFjdG9yeVNlcnZpY2VNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIFNtYXJ0SWNvbk1vZHVsZSxcclxuICAgIEFjY29yZGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtFeHBhbmRhYmxlU2VjdGlvbkNvbXBvbmVudF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRFeHBhbmRhYmxlU2VjdGlvbk1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -80,11 +80,11 @@ export class UiActionFileUploadDialogComponent {
|
|
|
80
80
|
this.service.cancel();
|
|
81
81
|
}
|
|
82
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionFileUploadDialogComponent, deps: [{ token: 'fileUploadDialogService' }, { token: COMPONENT_LIBRARY }, { token: i1.UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i6.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "component", type: i7.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }] }); }
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-buttonbar{display:flex!important}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i6.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "component", type: i7.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }] }); }
|
|
84
84
|
}
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
|
-
args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
|
|
87
|
+
args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-buttonbar{display:flex!important}\n"] }]
|
|
88
88
|
}], ctorParameters: () => [{ type: i8.UiActionFileUploadDialogService, decorators: [{
|
|
89
89
|
type: Inject,
|
|
90
90
|
args: ['fileUploadDialogService']
|
|
@@ -91,6 +91,8 @@ import { MatPaginatorModule } from '@angular/material/paginator';
|
|
|
91
91
|
import { FlatTreeControl, NestedTreeControl } from '@angular/cdk/tree';
|
|
92
92
|
import * as i10$1 from '@angular/material/tree';
|
|
93
93
|
import { MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule, MatTreeNestedDataSource } from '@angular/material/tree';
|
|
94
|
+
import * as i7 from 'primeng/accordion';
|
|
95
|
+
import { AccordionModule } from 'primeng/accordion';
|
|
94
96
|
import * as i14 from 'primeng/table';
|
|
95
97
|
import { TableModule } from 'primeng/table';
|
|
96
98
|
import * as i17$1 from 'primeng/menu';
|
|
@@ -8342,11 +8344,11 @@ class UiActionFileUploadDialogComponent {
|
|
|
8342
8344
|
this.service.cancel();
|
|
8343
8345
|
}
|
|
8344
8346
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionFileUploadDialogComponent, deps: [{ token: 'fileUploadDialogService' }, { token: COMPONENT_LIBRARY }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8345
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: i2$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i6$1.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "component", type: SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }] }); }
|
|
8347
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-buttonbar{display:flex!important}\n"], dependencies: [{ kind: "component", type: i2$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i4$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i6$1.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "component", type: SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }] }); }
|
|
8346
8348
|
}
|
|
8347
8349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
|
|
8348
8350
|
type: Component,
|
|
8349
|
-
args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
|
|
8351
|
+
args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button title=\"close\" (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" title=\"close\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"fileFormats?.join(',')\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\"> </ng-template>\r\n </p-fileUpload>\r\n }@else{\r\n <smartfileuploader\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <button mat-button color=\"accent\" [color]=\"getCancelButtonColor()\" (click)=\"cancel()\">\r\n {{ getCancelButtonLabel() }}\r\n </button>\r\n <!-- <button mat-raised-button [color]=\"getActionButtonColor()\" (click)=\"upload()\">\r\n {{ getActionButtonLabel() }}\r\n </button> -->\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-buttonbar{display:flex!important}\n"] }]
|
|
8350
8352
|
}], ctorParameters: () => [{ type: UiActionFileUploadDialogService, decorators: [{
|
|
8351
8353
|
type: Inject,
|
|
8352
8354
|
args: ['fileUploadDialogService']
|
|
@@ -10992,8 +10994,10 @@ var ExpandableSectionButtonIconPosition;
|
|
|
10992
10994
|
})(ExpandableSectionButtonIconPosition || (ExpandableSectionButtonIconPosition = {}));
|
|
10993
10995
|
|
|
10994
10996
|
class ExpandableSectionComponent {
|
|
10995
|
-
constructor(cfService) {
|
|
10997
|
+
constructor(cfService, compLib) {
|
|
10996
10998
|
this.cfService = cfService;
|
|
10999
|
+
this.compLib = compLib;
|
|
11000
|
+
this.componentLibrary = ComponentLibrary;
|
|
10997
11001
|
this.stateChange = new Subject();
|
|
10998
11002
|
}
|
|
10999
11003
|
onStateChange(isOpened) {
|
|
@@ -11051,13 +11055,16 @@ class ExpandableSectionComponent {
|
|
|
11051
11055
|
}
|
|
11052
11056
|
button.callback(button.args, element);
|
|
11053
11057
|
}
|
|
11054
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExpandableSectionComponent, deps: [{ token: ComponentFactoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11055
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11058
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExpandableSectionComponent, deps: [{ token: ComponentFactoryService }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11059
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: { data: "data", index: "index" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["renderComponent"], descendants: true, read: ViewContainerRef }, { propertyName: "vcRefheader", first: true, predicate: ["headerComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"section-container\" [ngClass]=\"data.cssClass ?? ''\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <p-accordion *ngIf=\"!data.headerComponent\">\r\n <p-accordionTab header=\"{{ data.title }}\">\r\n <ng-template #renderComponent></ng-template>\r\n </p-accordionTab>\r\n </p-accordion>\r\n }@else {\r\n\r\n <mat-expansion-panel\r\n [expanded]=\"data.isExpanded\"\r\n (opened)=\"onStateChange(true)\"\r\n (closed)=\"onStateChange(false)\"\r\n [disabled]=\"!!data.isDisabled\"\r\n >\r\n <mat-expansion-panel-header *ngIf=\"data.headerComponent\">\r\n <ng-template #headerComponent></ng-template>\r\n </mat-expansion-panel-header>\r\n <mat-expansion-panel-header *ngIf=\"!data.headerComponent\">\r\n <mat-panel-title> {{ data.title }} </mat-panel-title>\r\n <div class=\"btn-container\" *ngIf=\"data.button\">\r\n <button\r\n *ngIf=\"data.button.type === type().BUTTON\"\r\n class=\"btn\"\r\n (click)=\"action(data.button, $event)\"\r\n mat-stroked-button\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n {{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <button\r\n *ngIf=\"data.button.type === type().MENU\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.stopPropagation()\"\r\n color=\"{{ data.button.color }}\"\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon\r\n >{{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of data.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, data.index)\"\r\n mat-menu-item\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n button.icon && (!button.iconPosition || button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"button.icon\"\r\n ></smart-icon\r\n >{{ button.label }}\r\n <smart-icon\r\n *ngIf=\"button.icon && button.iconPosition === position().POST\"\r\n [icon]=\"button.icon\"\r\n ></smart-icon>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-template #renderComponent></ng-template>\r\n </mat-expansion-panel>\r\n }\r\n</div>\r\n", styles: [".section-container{margin-bottom:50px}:host::ng-deep .mat-expansion-panel-header{background:var(--primary-lighter-color)}:host::ng-deep .mat-expansion-panel-header-title{color:var(--primary-color)}:host::ng-deep .btn-container{margin:1em 3em 1em 1em}:host::ng-deep .btn{border-radius:24px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3$3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3$3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i2$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i7.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i7.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }] }); }
|
|
11056
11060
|
}
|
|
11057
11061
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExpandableSectionComponent, decorators: [{
|
|
11058
11062
|
type: Component,
|
|
11059
|
-
args: [{ selector: 'smart-expandable-section', template: "<div class=\"section-container\" [ngClass]=\"data.cssClass ?? ''\">\r\n <mat-expansion-panel\r\n [expanded]=\"data.isExpanded\"\r\n (opened)=\"onStateChange(true)\"\r\n (closed)=\"onStateChange(false)\"\r\n [disabled]=\"!!data.isDisabled\"\r\n >\r\n <mat-expansion-panel-header *ngIf=\"data.headerComponent\">\r\n <ng-template #headerComponent></ng-template>\r\n </mat-expansion-panel-header>\r\n <mat-expansion-panel-header *ngIf=\"!data.headerComponent\">\r\n <mat-panel-title> {{ data.title }} </mat-panel-title>\r\n <div class=\"btn-container\" *ngIf=\"data.button\">\r\n <button\r\n *ngIf=\"data.button.type === type().BUTTON\"\r\n class=\"btn\"\r\n (click)=\"action(data.button, $event)\"\r\n mat-stroked-button\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n {{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <button\r\n *ngIf=\"data.button.type === type().MENU\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.stopPropagation()\"\r\n color=\"{{ data.button.color }}\"\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon\r\n >{{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of data.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, data.index)\"\r\n mat-menu-item\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n button.icon && (!button.iconPosition || button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"button.icon\"\r\n ></smart-icon\r\n >{{ button.label }}\r\n <smart-icon\r\n *ngIf=\"button.icon && button.iconPosition === position().POST\"\r\n [icon]=\"button.icon\"\r\n ></smart-icon>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-template #renderComponent></ng-template>\r\n </mat-expansion-panel>\r\n</div>\r\n", styles: [".section-container{margin-bottom:50px}:host::ng-deep .mat-expansion-panel-header{background:var(--primary-lighter-color)}:host::ng-deep .mat-expansion-panel-header-title{color:var(--primary-color)}:host::ng-deep .btn-container{margin:1em 3em 1em 1em}:host::ng-deep .btn{border-radius:24px}\n"] }]
|
|
11060
|
-
}], ctorParameters: () => [{ type: ComponentFactoryService }
|
|
11063
|
+
args: [{ selector: 'smart-expandable-section', template: "<div class=\"section-container\" [ngClass]=\"data.cssClass ?? ''\">\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n <p-accordion *ngIf=\"!data.headerComponent\">\r\n <p-accordionTab header=\"{{ data.title }}\">\r\n <ng-template #renderComponent></ng-template>\r\n </p-accordionTab>\r\n </p-accordion>\r\n }@else {\r\n\r\n <mat-expansion-panel\r\n [expanded]=\"data.isExpanded\"\r\n (opened)=\"onStateChange(true)\"\r\n (closed)=\"onStateChange(false)\"\r\n [disabled]=\"!!data.isDisabled\"\r\n >\r\n <mat-expansion-panel-header *ngIf=\"data.headerComponent\">\r\n <ng-template #headerComponent></ng-template>\r\n </mat-expansion-panel-header>\r\n <mat-expansion-panel-header *ngIf=\"!data.headerComponent\">\r\n <mat-panel-title> {{ data.title }} </mat-panel-title>\r\n <div class=\"btn-container\" *ngIf=\"data.button\">\r\n <button\r\n *ngIf=\"data.button.type === type().BUTTON\"\r\n class=\"btn\"\r\n (click)=\"action(data.button, $event)\"\r\n mat-stroked-button\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n {{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <button\r\n *ngIf=\"data.button.type === type().MENU\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"$event.stopPropagation()\"\r\n color=\"{{ data.button.color }}\"\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n data.button.icon &&\r\n (!data.button.iconPosition || data.button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon\r\n >{{ data.button.label }}\r\n <smart-icon\r\n *ngIf=\"data.button.icon && data.button.iconPosition === position().POST\"\r\n [icon]=\"data.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of data.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, data.index)\"\r\n mat-menu-item\r\n >\r\n <smart-icon\r\n *ngIf=\"\r\n button.icon && (!button.iconPosition || button.iconPosition === position().PRE)\r\n \"\r\n [icon]=\"button.icon\"\r\n ></smart-icon\r\n >{{ button.label }}\r\n <smart-icon\r\n *ngIf=\"button.icon && button.iconPosition === position().POST\"\r\n [icon]=\"button.icon\"\r\n ></smart-icon>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ng-template #renderComponent></ng-template>\r\n </mat-expansion-panel>\r\n }\r\n</div>\r\n", styles: [".section-container{margin-bottom:50px}:host::ng-deep .mat-expansion-panel-header{background:var(--primary-lighter-color)}:host::ng-deep .mat-expansion-panel-header-title{color:var(--primary-color)}:host::ng-deep .btn-container{margin:1em 3em 1em 1em}:host::ng-deep .btn{border-radius:24px}\n"] }]
|
|
11064
|
+
}], ctorParameters: () => [{ type: ComponentFactoryService }, { type: ComponentLibrary, decorators: [{
|
|
11065
|
+
type: Inject,
|
|
11066
|
+
args: [COMPONENT_LIBRARY]
|
|
11067
|
+
}] }], propDecorators: { data: [{
|
|
11061
11068
|
type: Input
|
|
11062
11069
|
}], index: [{
|
|
11063
11070
|
type: Input
|
|
@@ -11943,7 +11950,8 @@ class SmartExpandableSectionModule {
|
|
|
11943
11950
|
MatIconModule,
|
|
11944
11951
|
MatButtonModule,
|
|
11945
11952
|
MatMenuModule,
|
|
11946
|
-
SmartIconModule
|
|
11953
|
+
SmartIconModule,
|
|
11954
|
+
AccordionModule], exports: [ExpandableSectionComponent] }); }
|
|
11947
11955
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartExpandableSectionModule, imports: [BrowserModule,
|
|
11948
11956
|
MatCommonModule,
|
|
11949
11957
|
MatExpansionModule,
|
|
@@ -11951,7 +11959,8 @@ class SmartExpandableSectionModule {
|
|
|
11951
11959
|
MatIconModule,
|
|
11952
11960
|
MatButtonModule,
|
|
11953
11961
|
MatMenuModule,
|
|
11954
|
-
SmartIconModule
|
|
11962
|
+
SmartIconModule,
|
|
11963
|
+
AccordionModule] }); }
|
|
11955
11964
|
}
|
|
11956
11965
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartExpandableSectionModule, decorators: [{
|
|
11957
11966
|
type: NgModule,
|
|
@@ -11966,6 +11975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
11966
11975
|
MatButtonModule,
|
|
11967
11976
|
MatMenuModule,
|
|
11968
11977
|
SmartIconModule,
|
|
11978
|
+
AccordionModule,
|
|
11969
11979
|
],
|
|
11970
11980
|
exports: [ExpandableSectionComponent],
|
|
11971
11981
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|