coer-elements 0.0.28 → 0.0.29
Sign up to get free protection for your applications and to get access to all the features.
- package/components/lib/coer-sidenav/coer-menu-option/coer-menu-option.component.d.ts +22 -0
- package/components/lib/coer-sidenav/coer-sidenav.component.d.ts +41 -0
- package/components/lib/coer-sidenav/coer-toolbar/coer-toolbar.component.d.ts +11 -0
- package/components/lib/coer-sidenav/coer-tree-accordion/coer-tree-accordion.component.d.ts +35 -0
- package/components/lib/components.module.d.ts +28 -20
- package/components/public-api.d.ts +2 -0
- package/esm2022/components/lib/coer-numberbox/coer-numberbox.component.mjs +3 -3
- package/esm2022/components/lib/coer-page-title/coer-page-title.component.mjs +2 -2
- package/esm2022/components/lib/coer-selectbox/coer-selectbox.component.mjs +3 -3
- package/esm2022/components/lib/coer-sidenav/coer-menu-option/coer-menu-option.component.mjs +103 -0
- package/esm2022/components/lib/coer-sidenav/coer-sidenav.component.mjs +193 -0
- package/esm2022/components/lib/coer-sidenav/coer-toolbar/coer-toolbar.component.mjs +33 -0
- package/esm2022/components/lib/coer-sidenav/coer-tree-accordion/coer-tree-accordion.component.mjs +115 -0
- package/esm2022/components/lib/coer-textarea/coer-textarea.component.mjs +3 -3
- package/esm2022/components/lib/coer-textbox/coer-textbox.component.mjs +3 -3
- package/esm2022/components/lib/components.module.mjs +45 -7
- package/esm2022/components/public-api.mjs +3 -1
- package/esm2022/signals/lib/navigation.signal.mjs +3 -0
- package/esm2022/signals/public-api.mjs +2 -2
- package/esm2022/tools/lib/menu.class.mjs +3 -3
- package/fesm2022/coer-elements-components.mjs +474 -20
- package/fesm2022/coer-elements-components.mjs.map +1 -1
- package/fesm2022/coer-elements-signals.mjs +2 -2
- package/fesm2022/coer-elements-signals.mjs.map +1 -1
- package/fesm2022/coer-elements-tools.mjs +2 -2
- package/fesm2022/coer-elements-tools.mjs.map +1 -1
- package/package.json +6 -4
- package/signals/lib/navigation.signal.d.ts +2 -0
- package/signals/public-api.d.ts +1 -1
- package/styles/angular-material.scss +3 -0
- package/styles/coer-elements.css +163 -0
- package/tools/lib/menu.class.d.ts +2 -2
- package/esm2022/signals/lib/menu.signal.mjs +0 -3
- package/signals/lib/menu.signal.d.ts +0 -2
@@ -0,0 +1,193 @@
|
|
1
|
+
import { Component, inject, viewChild, viewChildren } from '@angular/core';
|
2
|
+
import { CoerTreeAccordion } from './coer-tree-accordion/coer-tree-accordion.component';
|
3
|
+
import { breakpointSIGNAL, isModalOpenSIGNAL, isMenuOpenSIGNAL, navigationSIGNAL } from 'coer-elements/signals';
|
4
|
+
import { Tools, Breadcrumbs, Menu, Screen } from 'coer-elements/tools';
|
5
|
+
import { Router } from '@angular/router';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@angular/common";
|
8
|
+
import * as i2 from "@angular/material/sidenav";
|
9
|
+
import * as i3 from "./coer-menu-option/coer-menu-option.component";
|
10
|
+
import * as i4 from "./coer-tree-accordion/coer-tree-accordion.component";
|
11
|
+
export class CoerSidenav {
|
12
|
+
//getter
|
13
|
+
get backdrop() {
|
14
|
+
return ['xs', 'sm', 'md'].includes(breakpointSIGNAL());
|
15
|
+
}
|
16
|
+
//getter
|
17
|
+
get mode() {
|
18
|
+
return ['xs', 'sm', 'md'].includes(breakpointSIGNAL()) ? 'over' : 'push';
|
19
|
+
}
|
20
|
+
//getter
|
21
|
+
get showAsideMenu() {
|
22
|
+
return ['xl', 'xxl'].includes(breakpointSIGNAL()) && !this.isOpen();
|
23
|
+
}
|
24
|
+
constructor() {
|
25
|
+
//Injections
|
26
|
+
this._router = inject(Router);
|
27
|
+
//signals
|
28
|
+
this.isOpen = isMenuOpenSIGNAL;
|
29
|
+
this._isModalOpen = isModalOpenSIGNAL;
|
30
|
+
this._navigation = navigationSIGNAL;
|
31
|
+
//Elements
|
32
|
+
this.sidenav = viewChild.required('matSidenav');
|
33
|
+
this.menuList = viewChildren(CoerTreeAccordion);
|
34
|
+
/** */
|
35
|
+
this.IsMenu = (item) => item.hasOwnProperty('items');
|
36
|
+
/** */
|
37
|
+
this.GetIcon = (item) => {
|
38
|
+
if (item && item.hasOwnProperty('icon') && item.icon.length > 0) {
|
39
|
+
return item.icon;
|
40
|
+
}
|
41
|
+
return this.IsMenu(item)
|
42
|
+
? 'fa-solid fa-bars'
|
43
|
+
: 'bi bi-record-fill';
|
44
|
+
};
|
45
|
+
/** */
|
46
|
+
this.SetIdentityClass = (label) => {
|
47
|
+
let identity = `lv1${label}`;
|
48
|
+
if (identity.includes(' '))
|
49
|
+
identity = identity.replaceAll(' ', '');
|
50
|
+
return identity.toLowerCase();
|
51
|
+
};
|
52
|
+
this.BackButtonBrowser();
|
53
|
+
this.isOpen.set(['xxl'].includes(Screen.BREAKPOINT));
|
54
|
+
Screen.Resize.subscribe({
|
55
|
+
next: ({ breakpoin }) => {
|
56
|
+
breakpointSIGNAL.set(breakpoin);
|
57
|
+
if (this.backdrop)
|
58
|
+
this.Close();
|
59
|
+
}
|
60
|
+
});
|
61
|
+
}
|
62
|
+
/** */
|
63
|
+
NavigateTo(selectedOption) {
|
64
|
+
let url = `${selectedOption.path}`;
|
65
|
+
if (selectedOption.queryParams.length > 0)
|
66
|
+
url += `?${selectedOption.queryParams}`;
|
67
|
+
this._router.navigateByUrl(url);
|
68
|
+
//Set active link
|
69
|
+
this.SetActiveLink(selectedOption);
|
70
|
+
//Close Menu
|
71
|
+
if (selectedOption.level == 1) {
|
72
|
+
for (const menuLv1 of this.menuList()) {
|
73
|
+
for (const menuLv2 of menuLv1.menuList.toArray()) {
|
74
|
+
menuLv2.Close();
|
75
|
+
}
|
76
|
+
menuLv1.Close();
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
/** */
|
81
|
+
SetActiveLink(selectedOption) {
|
82
|
+
if (selectedOption) {
|
83
|
+
selectedOption = Tools.BreakReference(selectedOption);
|
84
|
+
Menu.SetSelectedOption(selectedOption);
|
85
|
+
let collection = [];
|
86
|
+
collection = collection.concat(Array.from(document.querySelectorAll('mat-drawer-container span.icon-container')));
|
87
|
+
collection = collection.concat(Array.from(document.querySelectorAll('mat-drawer-container span.label-container')));
|
88
|
+
//Remove active-link
|
89
|
+
for (const element of collection) {
|
90
|
+
if (element.classList.contains('active-link')) {
|
91
|
+
element.classList.remove('active-link');
|
92
|
+
}
|
93
|
+
}
|
94
|
+
//Add active-link
|
95
|
+
const levels = selectedOption.tree.length;
|
96
|
+
for (let i = 0; i < levels; i++) {
|
97
|
+
for (const element of collection) {
|
98
|
+
const identityClass = this.GetIdentityClass(selectedOption.tree);
|
99
|
+
if (element.classList.contains(identityClass)) {
|
100
|
+
element.classList.add('active-link');
|
101
|
+
}
|
102
|
+
}
|
103
|
+
selectedOption.tree.pop();
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
/** */
|
108
|
+
Open(event, item = null) {
|
109
|
+
event.stopPropagation();
|
110
|
+
if (!this.isOpen()) {
|
111
|
+
this.isOpen.set(true);
|
112
|
+
this.sidenav().open();
|
113
|
+
}
|
114
|
+
}
|
115
|
+
/** */
|
116
|
+
Close() {
|
117
|
+
if (this.isOpen()) {
|
118
|
+
this.isOpen.set(false);
|
119
|
+
this.sidenav().close();
|
120
|
+
}
|
121
|
+
}
|
122
|
+
/** */
|
123
|
+
Toggle() {
|
124
|
+
this.sidenav().toggle();
|
125
|
+
}
|
126
|
+
/** */
|
127
|
+
MenuSelected(selectedMenu) {
|
128
|
+
if (selectedMenu.level == 1) {
|
129
|
+
for (const menuLv1 of this.menuList()) {
|
130
|
+
if (menuLv1.item.label != selectedMenu.label) {
|
131
|
+
for (const menuLv2 of menuLv1.menuList.toArray()) {
|
132
|
+
menuLv2.Close();
|
133
|
+
}
|
134
|
+
menuLv1.Close();
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
/** */
|
140
|
+
GetIdentityClass(tree) {
|
141
|
+
let identity = '';
|
142
|
+
for (let i = 0; i < tree.length; i++) {
|
143
|
+
identity += `lv${i + 1}${tree[i].label}-`;
|
144
|
+
}
|
145
|
+
if (identity.endsWith('-'))
|
146
|
+
identity = identity.slice(0, -1);
|
147
|
+
if (identity.includes(' '))
|
148
|
+
identity = identity.replaceAll(' ', '');
|
149
|
+
return identity.toLowerCase();
|
150
|
+
}
|
151
|
+
/** */
|
152
|
+
BackButtonBrowser() {
|
153
|
+
const QUERY_SELECTOR = 'coer-menu-option[ng-reflect-path="[path]"] mat-nav-list.coer-menu-option';
|
154
|
+
Screen.BackButtonBrowser.subscribe(toPath => {
|
155
|
+
if (toPath.includes('/#/'))
|
156
|
+
toPath = toPath.split('/#')[1];
|
157
|
+
if (toPath.includes('?'))
|
158
|
+
toPath = toPath.split('?')[0];
|
159
|
+
//Validate path
|
160
|
+
for (const module of navigationSIGNAL()) {
|
161
|
+
if (module.items)
|
162
|
+
for (const subModule of module.items) {
|
163
|
+
//Level Three
|
164
|
+
if (subModule.items) {
|
165
|
+
for (const item of subModule.items)
|
166
|
+
if (item.path === toPath) {
|
167
|
+
document.querySelector(QUERY_SELECTOR.replace('[path]', toPath))?.click();
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
//Level Two
|
172
|
+
else if (subModule.path === toPath) {
|
173
|
+
document.querySelector(QUERY_SELECTOR.replace('[path]', toPath))?.click();
|
174
|
+
return;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
//Level One
|
178
|
+
else if (module.path === toPath) {
|
179
|
+
document.querySelector(QUERY_SELECTOR.replace('[path]', toPath))?.click();
|
180
|
+
return;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
Breadcrumbs.Remove(toPath);
|
184
|
+
});
|
185
|
+
}
|
186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerSidenav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.12", type: CoerSidenav, selector: "coer-sidenav", viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["matSidenav"], descendants: true, isSignal: true }, { propertyName: "menuList", predicate: CoerTreeAccordion, descendants: true, isSignal: true }], ngImport: i0, template: "<mat-drawer-container [hasBackdrop]=\"backdrop\">\r\n <mat-drawer\r\n #matSidenav\r\n [opened]=\"isOpen()\"\r\n (opened)=\"isOpen.set(true)\"\r\n (closed)=\"isOpen.set(false)\"\r\n [mode]=\"mode\">\r\n <div *ngFor=\"let item of _navigation()\">\r\n <!-- Menu -->\r\n <div *ngIf=\"IsMenu(item); else OptionMenu\">\r\n <coer-tree-accordion\r\n [item]=\"item\"\r\n (clickMenuOption)=\"NavigateTo($event)\"\r\n (clickMenu)=\"MenuSelected($event)\"\r\n ></coer-tree-accordion>\r\n </div>\r\n\r\n <!-- Option Menu -->\r\n <ng-template #OptionMenu>\r\n <coer-menu-option\r\n [label]=\"item.label\"\r\n [icon]=\"item?.icon\"\r\n [path]=\"item?.path\"\r\n (clickMenuOption)=\"NavigateTo($event)\"\r\n ></coer-menu-option>\r\n </ng-template>\r\n\r\n <div class=\"separator\"></div>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'backdrop': _isModalOpen() }\"></div>\r\n </mat-drawer>\r\n\r\n <!-- Main Screen -->\r\n <mat-drawer-content [ngClass]=\"{ 'margin-left-40px': (!isOpen() && showAsideMenu) }\">\r\n <aside [ngClass]=\"{ 'side-nav': true, 'd-none': !showAsideMenu }\" (click)=\"Open($event)\">\r\n <div *ngFor=\"let item of _navigation()\" (click)=\"Open($event, item)\">\r\n <span [class]=\"'icon-container ' + SetIdentityClass(item.label)\">\r\n <i [class]=\"GetIcon(item)\"></i>\r\n </span>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'backdrop': _isModalOpen() }\"></div>\r\n </aside>\r\n\r\n <ng-content></ng-content>\r\n </mat-drawer-content>\r\n</mat-drawer-container>", styles: ["mat-drawer-container{height:calc(100vh - 45px)!important}mat-drawer-container .margin-left-40px{margin-left:40px!important}mat-drawer-container mat-drawer{width:auto;min-width:200px;background-color:var(--black)!important;z-index:1!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar{width:1px!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb{background-color:var(--gray)!important;border-radius:5px!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb:hover{background-color:var(--gray)!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb:active{background-color:var(--white)!important}mat-drawer-container mat-drawer i{font-size:16px!important}mat-drawer-container mat-drawer div.separator{border:.5px solid rgba(245,245,245,.041)!important}mat-drawer-container mat-drawer-content{margin-right:0!important}mat-drawer-container mat-drawer-content aside.side-nav{background-color:var(--black)!important;width:40px!important;position:fixed!important;left:0!important;top:45px!important;bottom:0!important;cursor:pointer!important}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container{width:100%!important;height:49.6px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;border-bottom:1px solid rgba(245,245,245,.041)!important;color:var(--white)}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container:hover{background-color:#2f2f2f!important}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container.active-link{color:var(--orange)!important}mat-drawer-container div.backdrop{position:absolute!important;inset:0!important;background-color:#0000005b!important;z-index:1500!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i2.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i3.CoerMenuOption, selector: "coer-menu-option", inputs: ["level", "label", "icon", "path", "tree"], outputs: ["clickMenuOption"] }, { kind: "component", type: i4.CoerTreeAccordion, selector: "coer-tree-accordion", inputs: ["level", "item", "tree"], outputs: ["clickMenuOption", "clickMenu"] }] }); }
|
188
|
+
}
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerSidenav, decorators: [{
|
190
|
+
type: Component,
|
191
|
+
args: [{ selector: 'coer-sidenav', template: "<mat-drawer-container [hasBackdrop]=\"backdrop\">\r\n <mat-drawer\r\n #matSidenav\r\n [opened]=\"isOpen()\"\r\n (opened)=\"isOpen.set(true)\"\r\n (closed)=\"isOpen.set(false)\"\r\n [mode]=\"mode\">\r\n <div *ngFor=\"let item of _navigation()\">\r\n <!-- Menu -->\r\n <div *ngIf=\"IsMenu(item); else OptionMenu\">\r\n <coer-tree-accordion\r\n [item]=\"item\"\r\n (clickMenuOption)=\"NavigateTo($event)\"\r\n (clickMenu)=\"MenuSelected($event)\"\r\n ></coer-tree-accordion>\r\n </div>\r\n\r\n <!-- Option Menu -->\r\n <ng-template #OptionMenu>\r\n <coer-menu-option\r\n [label]=\"item.label\"\r\n [icon]=\"item?.icon\"\r\n [path]=\"item?.path\"\r\n (clickMenuOption)=\"NavigateTo($event)\"\r\n ></coer-menu-option>\r\n </ng-template>\r\n\r\n <div class=\"separator\"></div>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'backdrop': _isModalOpen() }\"></div>\r\n </mat-drawer>\r\n\r\n <!-- Main Screen -->\r\n <mat-drawer-content [ngClass]=\"{ 'margin-left-40px': (!isOpen() && showAsideMenu) }\">\r\n <aside [ngClass]=\"{ 'side-nav': true, 'd-none': !showAsideMenu }\" (click)=\"Open($event)\">\r\n <div *ngFor=\"let item of _navigation()\" (click)=\"Open($event, item)\">\r\n <span [class]=\"'icon-container ' + SetIdentityClass(item.label)\">\r\n <i [class]=\"GetIcon(item)\"></i>\r\n </span>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'backdrop': _isModalOpen() }\"></div>\r\n </aside>\r\n\r\n <ng-content></ng-content>\r\n </mat-drawer-content>\r\n</mat-drawer-container>", styles: ["mat-drawer-container{height:calc(100vh - 45px)!important}mat-drawer-container .margin-left-40px{margin-left:40px!important}mat-drawer-container mat-drawer{width:auto;min-width:200px;background-color:var(--black)!important;z-index:1!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar{width:1px!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb{background-color:var(--gray)!important;border-radius:5px!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb:hover{background-color:var(--gray)!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb:active{background-color:var(--white)!important}mat-drawer-container mat-drawer i{font-size:16px!important}mat-drawer-container mat-drawer div.separator{border:.5px solid rgba(245,245,245,.041)!important}mat-drawer-container mat-drawer-content{margin-right:0!important}mat-drawer-container mat-drawer-content aside.side-nav{background-color:var(--black)!important;width:40px!important;position:fixed!important;left:0!important;top:45px!important;bottom:0!important;cursor:pointer!important}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container{width:100%!important;height:49.6px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;border-bottom:1px solid rgba(245,245,245,.041)!important;color:var(--white)}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container:hover{background-color:#2f2f2f!important}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container.active-link{color:var(--orange)!important}mat-drawer-container div.backdrop{position:absolute!important;inset:0!important;background-color:#0000005b!important;z-index:1500!important}\n"] }]
|
192
|
+
}], ctorParameters: () => [] });
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1zaWRlbmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9saWIvY29lci1zaWRlbmF2L2NvZXItc2lkZW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItc2lkZW5hdi9jb2VyLXNpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEgsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBT3pDLE1BQU0sT0FBTyxXQUFXO0lBY3BCLFFBQVE7SUFDUixJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsUUFBUTtJQUNSLElBQWMsSUFBSTtRQUNkLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFD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QUUsS0FBSyxFQUFFLENBQUM7b0JBQ25GLE9BQU87Z0JBQ1gsQ0FBQztZQUNMLENBQUM7WUFFRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FyTlEsV0FBVzttR0FBWCxXQUFXLHlMQVljLGlCQUFpQixnRUN6QnZELGszREErQ3VCOzs0RkRsQ1YsV0FBVztrQkFMdkIsU0FBUzsrQkFDSSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgaW5qZWN0LCB2aWV3Q2hpbGQsIHZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJTWVudSwgSU1lbnVTZWxlY3RlZCwgSU1lbnVPcHRpb25TZWxlY3RlZCwgSVNjcmVlblNpemUgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDb2VyVHJlZUFjY29yZGlvbiB9IGZyb20gJy4vY29lci10cmVlLWFjY29yZGlvbi9jb2VyLXRyZWUtYWNjb3JkaW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGJyZWFrcG9pbnRTSUdOQUwsIGlzTW9kYWxPcGVuU0lHTkFMLCBpc01lbnVPcGVuU0lHTkFMLCBuYXZpZ2F0aW9uU0lHTkFMIH0gZnJvbSAnY29lci1lbGVtZW50cy9zaWduYWxzJztcclxuaW1wb3J0IHsgVG9vbHMsIEJyZWFkY3J1bWJzLCBNZW51LCBTY3JlZW4gfSBmcm9tICdjb2VyLWVsZW1lbnRzL3Rvb2xzJztcclxuaW1wb3J0IHsgTWF0RHJhd2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY29lci1zaWRlbmF2JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLXNpZGVuYXYuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvZXItc2lkZW5hdi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJTaWRlbmF2IHtcclxuXHJcbiAgICAvL0luamVjdGlvbnNcclxuICAgIHByaXZhdGUgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICAgIC8vc2lnbmFsc1xyXG4gICAgcHJvdGVjdGVkIGlzT3BlbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBpc01lbnVPcGVuU0lHTkFMO1xyXG4gICAgcHJvdGVjdGVkIF9pc01vZGFsT3BlbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBpc01vZGFsT3BlblNJR05BTDtcclxuICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvbjogV3JpdGFibGVTaWduYWw8SU1lbnVbXT4gPSBuYXZpZ2F0aW9uU0lHTkFMO1xyXG5cclxuICAgIC8vRWxlbWVudHNcclxuICAgIHByb3RlY3RlZCBzaWRlbmF2ID0gdmlld0NoaWxkLnJlcXVpcmVkPE1hdERyYXdlcj4oJ21hdFNpZGVuYXYnKTtcclxuICAgIHByb3RlY3RlZCBtZW51TGlzdCA9IHZpZXdDaGlsZHJlbihDb2VyVHJlZUFjY29yZGlvbik7XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHByb3RlY3RlZCBnZXQgYmFja2Ryb3AoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIFsneHMnLCAnc20nLCAnbWQnXS5pbmNsdWRlcyhicmVha3BvaW50U0lHTkFMKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vZ2V0dGVyXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IG1vZGUoKTogJ292ZXInIHwgJ3B1c2gnIHtcclxuICAgICAgICByZXR1cm4gWyd4cycsICdzbScsICdtZCddLmluY2x1ZGVzKGJyZWFrcG9pbnRTSUdOQUwoKSkgPyAnb3ZlcicgOiAncHVzaCc7XHJcbiAgICB9XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHByb3RlY3RlZCBnZXQgc2hvd0FzaWRlTWVudSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gWyd4bCcsICd4eGwnXS5pbmNsdWRlcyhicmVha3BvaW50U0lHTkFMKCkpICYmICF0aGlzLmlzT3BlbigpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5CYWNrQnV0dG9uQnJvd3NlcigpO1xyXG5cclxuICAgICAgICB0aGlzLmlzT3Blbi5zZXQoWyd4eGwnXS5pbmNsdWRlcyhTY3JlZW4uQlJFQUtQT0lOVCkpO1xyXG5cclxuICAgICAgICBTY3JlZW4uUmVzaXplLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6ICh7IGJyZWFrcG9pbiB9OiBJU2NyZWVuU2l6ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgYnJlYWtwb2ludFNJR05BTC5zZXQoYnJlYWtwb2luKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFja2Ryb3ApIHRoaXMuQ2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBOYXZpZ2F0ZVRvKHNlbGVjdGVkT3B0aW9uOiBJTWVudU9wdGlvblNlbGVjdGVkKSB7XHJcbiAgICAgICAgbGV0IHVybCA9IGAke3NlbGVjdGVkT3B0aW9uLnBhdGh9YDtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb24ucXVlcnlQYXJhbXMubGVuZ3RoID4gMCkgdXJsICs9IGA/JHtzZWxlY3RlZE9wdGlvbi5xdWVyeVBhcmFtc31gO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XHJcblxyXG4gICAgICAgIC8vU2V0IGFjdGl2ZSBsaW5rXHJcbiAgICAgICAgdGhpcy5TZXRBY3RpdmVMaW5rKHNlbGVjdGVkT3B0aW9uKTtcclxuXHJcbiAgICAgICAgLy9DbG9zZSBNZW51XHJcbiAgICAgICAgaWYoc2VsZWN0ZWRPcHRpb24ubGV2ZWwgPT0gMSkge1xyXG4gICAgICAgICAgICBmb3IoY29uc3QgbWVudUx2MSBvZiB0aGlzLm1lbnVMaXN0KCkpIHtcclxuICAgICAgICAgICAgICAgIGZvcihjb25zdCBtZW51THYyIG9mIG1lbnVMdjEubWVudUxpc3QudG9BcnJheSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVudUx2Mi5DbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWVudUx2MS5DbG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBTZXRBY3RpdmVMaW5rKHNlbGVjdGVkT3B0aW9uOiBJTWVudU9wdGlvblNlbGVjdGVkIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbikge1xyXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbiA9IFRvb2xzLkJyZWFrUmVmZXJlbmNlKHNlbGVjdGVkT3B0aW9uKTtcclxuICAgICAgICAgICAgTWVudS5TZXRTZWxlY3RlZE9wdGlvbihzZWxlY3RlZE9wdGlvbik7XHJcblxyXG4gICAgICAgICAgICBsZXQgY29sbGVjdGlvbjogRWxlbWVudFtdID0gW107XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmNvbmNhdChBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ21hdC1kcmF3ZXItY29udGFpbmVyIHNwYW4uaWNvbi1jb250YWluZXInKSkpO1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5jb25jYXQoQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdtYXQtZHJhd2VyLWNvbnRhaW5lciBzcGFuLmxhYmVsLWNvbnRhaW5lcicpKSk7XHJcblxyXG4gICAgICAgICAgICAvL1JlbW92ZSBhY3RpdmUtbGlua1xyXG4gICAgICAgICAgICBmb3IoY29uc3QgZWxlbWVudCBvZiBjb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBpZihlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlLWxpbmsnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlLWxpbmsnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9BZGQgYWN0aXZlLWxpbmtcclxuICAgICAgICAgICAgY29uc3QgbGV2ZWxzID0gc2VsZWN0ZWRPcHRpb24udHJlZS5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBsZXZlbHM7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgZm9yKGNvbnN0IGVsZW1lbnQgb2YgY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlkZW50aXR5Q2xhc3MgPSB0aGlzLkdldElkZW50aXR5Q2xhc3Moc2VsZWN0ZWRPcHRpb24udHJlZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGlkZW50aXR5Q2xhc3MpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYWN0aXZlLWxpbmsnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb24udHJlZS5wb3AoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgT3BlbihldmVudDogTW91c2VFdmVudCwgaXRlbTogSU1lbnUgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLnNpZGVuYXYoKS5vcGVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnNpZGVuYXYoKS5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdigpLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBNZW51U2VsZWN0ZWQoc2VsZWN0ZWRNZW51OiBJTWVudVNlbGVjdGVkKSB7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkTWVudS5sZXZlbCA9PSAxKSB7XHJcbiAgICAgICAgICAgIGZvcihjb25zdCBtZW51THYxIG9mIHRoaXMubWVudUxpc3QoKSkge1xyXG4gICAgICAgICAgICAgICAgaWYobWVudUx2MS5pdGVtLmxhYmVsICE9IHNlbGVjdGVkTWVudS5sYWJlbCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IoY29uc3QgbWVudUx2MiBvZiBtZW51THYxLm1lbnVMaXN0LnRvQXJyYXkoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51THYyLkNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBtZW51THYxLkNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIElzTWVudSA9IChpdGVtOiBJTWVudSk6IGJvb2xlYW4gPT4gaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaXRlbXMnKTtcclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgR2V0SWNvbiA9IChpdGVtOiBJTWVudSk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaWNvbicpICYmIGl0ZW0uaWNvbiEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXRlbS5pY29uIVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuSXNNZW51KGl0ZW0pXHJcbiAgICAgICAgICAgID8gJ2ZhLXNvbGlkIGZhLWJhcnMnXHJcbiAgICAgICAgICAgIDogJ2JpIGJpLXJlY29yZC1maWxsJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgU2V0SWRlbnRpdHlDbGFzcyA9IChsYWJlbDogU3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgICBsZXQgaWRlbnRpdHkgPSBgbHYxJHtsYWJlbH1gO1xyXG4gICAgICAgIGlmKGlkZW50aXR5LmluY2x1ZGVzKCcgJykpIGlkZW50aXR5ID0gaWRlbnRpdHkucmVwbGFjZUFsbCgnICcsICcnKTtcclxuICAgICAgICByZXR1cm4gaWRlbnRpdHkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIEdldElkZW50aXR5Q2xhc3ModHJlZTogSU1lbnVbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IGlkZW50aXR5OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IHRyZWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWRlbnRpdHkgKz0gYGx2JHtpICsgMX0ke3RyZWVbaV0ubGFiZWx9LWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZihpZGVudGl0eS5lbmRzV2l0aCgnLScpKSBpZGVudGl0eSA9IGlkZW50aXR5LnNsaWNlKDAsIC0xKTtcclxuICAgICAgICBpZihpZGVudGl0eS5pbmNsdWRlcygnICcpKSBpZGVudGl0eSA9IGlkZW50aXR5LnJlcGxhY2VBbGwoJyAnLCAnJyk7XHJcbiAgICAgICAgcmV0dXJuIGlkZW50aXR5LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBCYWNrQnV0dG9uQnJvd3NlcigpIHtcclxuICAgICAgICBjb25zdCBRVUVSWV9TRUxFQ1RPUiA9ICdjb2VyLW1lbnUtb3B0aW9uW25nLXJlZmxlY3QtcGF0aD1cIltwYXRoXVwiXSBtYXQtbmF2LWxpc3QuY29lci1tZW51LW9wdGlvbic7XHJcblxyXG4gICAgICAgIFNjcmVlbi5CYWNrQnV0dG9uQnJvd3Nlci5zdWJzY3JpYmUodG9QYXRoID0+IHtcclxuICAgICAgICAgICAgaWYgKHRvUGF0aC5pbmNsdWRlcygnLyMvJykpIHRvUGF0aCA9IHRvUGF0aC5zcGxpdCgnLyMnKVsxXTtcclxuICAgICAgICAgICAgaWYgKHRvUGF0aC5pbmNsdWRlcygnPycpKSB0b1BhdGggPSB0b1BhdGguc3BsaXQoJz8nKVswXTtcclxuXHJcbiAgICAgICAgICAgIC8vVmFsaWRhdGUgcGF0aFxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1vZHVsZSBvZiBuYXZpZ2F0aW9uU0lHTkFMKCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtb2R1bGUuaXRlbXMpIGZvciAoY29uc3Qgc3ViTW9kdWxlIG9mIG1vZHVsZS5pdGVtcykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vTGV2ZWwgVGhyZWVcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViTW9kdWxlLml0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihjb25zdCBpdGVtIG9mIHN1Yk1vZHVsZS5pdGVtcykgaWYgKGl0ZW0ucGF0aCA9PT0gdG9QYXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihRVUVSWV9TRUxFQ1RPUi5yZXBsYWNlKCdbcGF0aF0nLCB0b1BhdGgpKSBhcyBhbnkpPy5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvL0xldmVsIFR3b1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN1Yk1vZHVsZS5wYXRoID09PSB0b1BhdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoUVVFUllfU0VMRUNUT1IucmVwbGFjZSgnW3BhdGhdJywgdG9QYXRoKSkgYXMgYW55KT8uY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvL0xldmVsIE9uZVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAobW9kdWxlLnBhdGggPT09IHRvUGF0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFFVRVJZX1NFTEVDVE9SLnJlcGxhY2UoJ1twYXRoXScsIHRvUGF0aCkpIGFzIGFueSk/LmNsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBCcmVhZGNydW1icy5SZW1vdmUodG9QYXRoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxtYXQtZHJhd2VyLWNvbnRhaW5lciBbaGFzQmFja2Ryb3BdPVwiYmFja2Ryb3BcIj5cclxuICAgIDxtYXQtZHJhd2VyXHJcbiAgICAgICAgI21hdFNpZGVuYXZcclxuICAgICAgICBbb3BlbmVkXT1cImlzT3BlbigpXCJcclxuICAgICAgICAob3BlbmVkKT1cImlzT3Blbi5zZXQodHJ1ZSlcIlxyXG4gICAgICAgIChjbG9zZWQpPVwiaXNPcGVuLnNldChmYWxzZSlcIlxyXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9uYXZpZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgPCEtLSBNZW51IC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSXNNZW51KGl0ZW0pOyBlbHNlIE9wdGlvbk1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxjb2VyLXRyZWUtYWNjb3JkaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrTWVudU9wdGlvbik9XCJOYXZpZ2F0ZVRvKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnUpPVwiTWVudVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci10cmVlLWFjY29yZGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE9wdGlvbiBNZW51IC0tPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI09wdGlvbk1lbnU+XHJcbiAgICAgICAgICAgICAgICA8Y29lci1tZW51LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtPy5pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGF0aF09XCJpdGVtPy5wYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tNZW51T3B0aW9uKT1cIk5hdmlnYXRlVG8oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jb2VyLW1lbnUtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2JhY2tkcm9wJzogX2lzTW9kYWxPcGVuKCkgfVwiPjwvZGl2PlxyXG4gICAgPC9tYXQtZHJhd2VyPlxyXG5cclxuICAgIDwhLS0gTWFpbiBTY3JlZW4gLS0+XHJcbiAgICA8bWF0LWRyYXdlci1jb250ZW50IFtuZ0NsYXNzXT1cInsgJ21hcmdpbi1sZWZ0LTQwcHgnOiAoIWlzT3BlbigpICYmIHNob3dBc2lkZU1lbnUpIH1cIj5cclxuICAgICAgICA8YXNpZGUgW25nQ2xhc3NdPVwieyAnc2lkZS1uYXYnOiB0cnVlLCAnZC1ub25lJzogIXNob3dBc2lkZU1lbnUgfVwiIChjbGljayk9XCJPcGVuKCRldmVudClcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfbmF2aWdhdGlvbigpXCIgKGNsaWNrKT1cIk9wZW4oJGV2ZW50LCBpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIidpY29uLWNvbnRhaW5lciAnICsgU2V0SWRlbnRpdHlDbGFzcyhpdGVtLmxhYmVsKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJHZXRJY29uKGl0ZW0pXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnYmFja2Ryb3AnOiBfaXNNb2RhbE9wZW4oKSB9XCI+PC9kaXY+XHJcbiAgICAgICAgPC9hc2lkZT5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XHJcbjwvbWF0LWRyYXdlci1jb250YWluZXI+Il19
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Component, EventEmitter, input, Output } from '@angular/core';
|
2
|
+
import { isModalOpenSIGNAL, isMenuOpenSIGNAL } from 'coer-elements/signals';
|
3
|
+
import { Tools } from 'coer-elements/tools';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/common";
|
6
|
+
import * as i2 from "@angular/material/toolbar";
|
7
|
+
import * as i3 from "../../coer-button/coer-button.component";
|
8
|
+
export class CoerToolbar {
|
9
|
+
constructor() {
|
10
|
+
//variables
|
11
|
+
this.isLoading = false;
|
12
|
+
this._isModalOpen = isModalOpenSIGNAL;
|
13
|
+
//Inputs
|
14
|
+
this.appName = input('');
|
15
|
+
//Outputs
|
16
|
+
this.onClick = new EventEmitter();
|
17
|
+
}
|
18
|
+
ToogleSideNave(event) {
|
19
|
+
this.isLoading = true;
|
20
|
+
this.onClick.emit(event);
|
21
|
+
isMenuOpenSIGNAL.set(!isMenuOpenSIGNAL());
|
22
|
+
Tools.Sleep(500, 'ToogleSideNave').then(() => this.isLoading = false);
|
23
|
+
}
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: CoerToolbar, selector: "coer-toolbar", inputs: { appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar>\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave($event)\"\r\n ></coer-button>\r\n\r\n <span> {{ appName() }} </span>\r\n\r\n <span class=\"fill-space\"></span>\r\n </mat-toolbar>\r\n\r\n <div class=\"shadow\"></div>\r\n</div>", styles: ["div#coer-tool-bar{z-index:1}div#coer-tool-bar mat-toolbar{height:45px;position:relative;z-index:10;padding:0}div#coer-tool-bar div.shadow{box-shadow:1px -10px 20px #000!important;width:100vw;height:45px;position:absolute;top:0;z-index:8}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "path", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
|
26
|
+
}
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerToolbar, decorators: [{
|
28
|
+
type: Component,
|
29
|
+
args: [{ selector: 'coer-toolbar', template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar>\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave($event)\"\r\n ></coer-button>\r\n\r\n <span> {{ appName() }} </span>\r\n\r\n <span class=\"fill-space\"></span>\r\n </mat-toolbar>\r\n\r\n <div class=\"shadow\"></div>\r\n</div>", styles: ["div#coer-tool-bar{z-index:1}div#coer-tool-bar mat-toolbar{height:45px;position:relative;z-index:10;padding:0}div#coer-tool-bar div.shadow{box-shadow:1px -10px 20px #000!important;width:100vw;height:45px;position:absolute;top:0;z-index:8}\n"] }]
|
30
|
+
}], propDecorators: { onClick: [{
|
31
|
+
type: Output
|
32
|
+
}] } });
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9saWIvY29lci1zaWRlbmF2L2NvZXItdG9vbGJhci9jb2VyLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9jb21wb25lbnRzL2xpYi9jb2VyLXNpZGVuYXYvY29lci10b29sYmFyL2NvZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxXQUFXO0lBTHhCO1FBT0ksV0FBVztRQUNELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsaUJBQVksR0FBNEIsaUJBQWlCLENBQUM7UUFFcEUsUUFBUTtRQUNELFlBQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFbkMsU0FBUztRQUNDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0tBUXREO0lBTmEsY0FBYyxDQUFDLEtBQWlCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7K0dBakJRLFdBQVc7bUdBQVgsV0FBVywrTkNUeEIseWRBZU07OzRGRE5PLFdBQVc7a0JBTHZCLFNBQVM7K0JBQ0ksY0FBYzs4QkFjZCxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGlucHV0LCBPdXRwdXQsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzTW9kYWxPcGVuU0lHTkFMLCBpc01lbnVPcGVuU0lHTkFMIH0gZnJvbSAnY29lci1lbGVtZW50cy9zaWduYWxzJztcclxuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICdjb2VyLWVsZW1lbnRzL3Rvb2xzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLXRvb2xiYXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci10b29sYmFyLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lclRvb2xiYXIge1xyXG5cclxuICAgIC8vdmFyaWFibGVzXHJcbiAgICBwcm90ZWN0ZWQgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcm90ZWN0ZWQgX2lzTW9kYWxPcGVuOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IGlzTW9kYWxPcGVuU0lHTkFMO1xyXG5cclxuICAgIC8vSW5wdXRzXHJcbiAgICBwdWJsaWMgYXBwTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIFRvb2dsZVNpZGVOYXZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICBpc01lbnVPcGVuU0lHTkFMLnNldCghaXNNZW51T3BlblNJR05BTCgpKTtcclxuICAgICAgICBUb29scy5TbGVlcCg1MDAsICdUb29nbGVTaWRlTmF2ZScpLnRoZW4oKCkgPT4gdGhpcy5pc0xvYWRpbmcgPSBmYWxzZSk7XHJcbiAgICB9XHJcbn0iLCI8ZGl2IGlkPVwiY29lci10b29sLWJhclwiIFtuZ0NsYXNzXT1cInsgJ3Bvc2l0aW9uLXJlbGF0aXZlJzogX2lzTW9kYWxPcGVuKCkgfVwiPlxyXG4gICAgPG1hdC10b29sYmFyPlxyXG4gICAgICAgIDxjb2VyLWJ1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwiaWNvblwiXHJcbiAgICAgICAgICAgIGljb249XCJtZW51XCJcclxuICAgICAgICAgICAgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdcIlxyXG4gICAgICAgICAgICAob25DbGljayk9XCJUb29nbGVTaWRlTmF2ZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jb2VyLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPHNwYW4+IHt7IGFwcE5hbWUoKSB9fSA8L3NwYW4+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsbC1zcGFjZVwiPjwvc3Bhbj5cclxuICAgIDwvbWF0LXRvb2xiYXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNoYWRvd1wiPjwvZGl2PlxyXG48L2Rpdj4iXX0=
|
package/esm2022/components/lib/coer-sidenav/coer-tree-accordion/coer-tree-accordion.component.mjs
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "@angular/common";
|
4
|
+
import * as i2 from "@angular/material/expansion";
|
5
|
+
import * as i3 from "../coer-menu-option/coer-menu-option.component";
|
6
|
+
export class CoerTreeAccordion {
|
7
|
+
constructor() {
|
8
|
+
//Variables
|
9
|
+
this.isExpanded = false;
|
10
|
+
this.isCollapsed = true;
|
11
|
+
//Inputs
|
12
|
+
this.level = 1;
|
13
|
+
this.tree = [];
|
14
|
+
//Outputs
|
15
|
+
this.clickMenuOption = new EventEmitter();
|
16
|
+
this.clickMenu = new EventEmitter();
|
17
|
+
/** */
|
18
|
+
this.IsActive = (element) => {
|
19
|
+
return (this.isExpanded && this.level > 1)
|
20
|
+
|| (this.isCollapsed && element.classList.contains('active-link'));
|
21
|
+
};
|
22
|
+
/** */
|
23
|
+
this.IsMenu = (item) => item.hasOwnProperty('items');
|
24
|
+
}
|
25
|
+
get _tree() {
|
26
|
+
return [...this.tree].concat([{ ...this.item }]);
|
27
|
+
}
|
28
|
+
get _icon() {
|
29
|
+
return (this.item && this.item.hasOwnProperty('icon') && this.item.icon.length > 0)
|
30
|
+
? this.item.icon : 'fa-solid fa-bars';
|
31
|
+
}
|
32
|
+
get marginLeft() {
|
33
|
+
return `${(this.level - 1) * 20}px`;
|
34
|
+
}
|
35
|
+
get identityClass() {
|
36
|
+
let identity = '';
|
37
|
+
for (let i = 0; i < this.tree.length; i++) {
|
38
|
+
identity += `lv${i + 1}${this.tree[i].label}-`;
|
39
|
+
}
|
40
|
+
identity += `lv${this.level}${this.item.label}`;
|
41
|
+
if (identity.includes(' '))
|
42
|
+
identity = identity.replaceAll(' ', '');
|
43
|
+
return identity.toLowerCase();
|
44
|
+
}
|
45
|
+
/** */
|
46
|
+
Close() {
|
47
|
+
if (this.isExpanded) {
|
48
|
+
this.isExpanded = false;
|
49
|
+
this.isCollapsed = true;
|
50
|
+
this.expansionPanel.close();
|
51
|
+
}
|
52
|
+
}
|
53
|
+
/** */
|
54
|
+
Open() {
|
55
|
+
if (this.isCollapsed) {
|
56
|
+
this.isExpanded = true;
|
57
|
+
this.isCollapsed = false;
|
58
|
+
this.expansionPanel.open();
|
59
|
+
}
|
60
|
+
}
|
61
|
+
/** */
|
62
|
+
Toggle() {
|
63
|
+
this.isExpanded = !this.isExpanded;
|
64
|
+
this.isCollapsed = !this.isCollapsed;
|
65
|
+
this.clickMenu.emit({
|
66
|
+
level: this.level,
|
67
|
+
label: this.item.label,
|
68
|
+
isExpanded: this.isExpanded,
|
69
|
+
isCollapsed: this.isCollapsed,
|
70
|
+
items: this.item.items,
|
71
|
+
icon: this._icon,
|
72
|
+
tree: [...this._tree]
|
73
|
+
});
|
74
|
+
}
|
75
|
+
/** */
|
76
|
+
ClickMenuOption(menuOption) {
|
77
|
+
for (const menu of this.menuList.toArray()) {
|
78
|
+
if (menu.item.label != menuOption.tree[this.level].label) {
|
79
|
+
menu.Close();
|
80
|
+
}
|
81
|
+
}
|
82
|
+
this.clickMenuOption.emit(menuOption);
|
83
|
+
}
|
84
|
+
/** */
|
85
|
+
ClickMenu(menu) {
|
86
|
+
for (const menuLv2 of this.menuList.toArray()) {
|
87
|
+
if (menuLv2.item.label != menu.label)
|
88
|
+
menuLv2.Close();
|
89
|
+
}
|
90
|
+
this.clickMenu.emit(menu);
|
91
|
+
}
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerTreeAccordion, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CoerTreeAccordion, selector: "coer-tree-accordion", inputs: { level: "level", item: "item", tree: "tree" }, outputs: { clickMenuOption: "clickMenuOption", clickMenu: "clickMenu" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true }, { propertyName: "menuList", predicate: CoerTreeAccordion, descendants: true }], ngImport: i0, template: "<mat-accordion class=\"coer-tree-accordion\">\r\n <mat-expansion-panel #expansionPanel>\r\n\r\n <!-- Header -->\r\n <mat-expansion-panel-header (click)=\"Toggle()\"\r\n [class]=\"identityClass\"\r\n [ngClass]=\"{\r\n 'background-orange': (isExpanded && level == 1),\r\n 'text-orange': IsActive(iconContainer)\r\n }\">\r\n <mat-panel-description>\r\n <span #iconContainer\r\n [ngStyle]=\"{ 'margin-left': marginLeft }\"\r\n [class]=\"identityClass\"\r\n [ngClass]=\"{\r\n 'icon-container': true,\r\n 'text-orange': IsActive(iconContainer)\r\n }\"> <i [class]=\"_icon\"></i> </span>\r\n\r\n <span #labelContainer\r\n [class]=\"identityClass\"\r\n [ngClass]=\"{\r\n 'label-container': true,\r\n 'text-orange': IsActive(labelContainer)\r\n }\"> {{ item.label }} </span>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n\r\n\r\n <div *ngFor=\"let subItem of item.items\">\r\n <!-- Sub Menu -->\r\n <div *ngIf=\"IsMenu(subItem); else isOption\">\r\n <coer-tree-accordion\r\n [level]=\"level + 1\"\r\n [item]=\"subItem\"\r\n [tree]=\"_tree\"\r\n (clickMenuOption)=\"ClickMenuOption($event)\"\r\n (clickMenu)=\"ClickMenu($event)\"\r\n ></coer-tree-accordion>\r\n </div>\r\n\r\n <!-- Option Menu -->\r\n <ng-template #isOption>\r\n <coer-menu-option\r\n [label]=\"subItem.label\"\r\n [icon]=\"subItem?.icon\"\r\n [path]=\"subItem?.path\"\r\n [level]=\"level + 1\"\r\n [tree]=\"_tree\"\r\n (clickMenuOption)=\"ClickMenuOption($event)\"\r\n ></coer-menu-option>\r\n </ng-template>\r\n\r\n <div class=\"separator\"></div>\r\n </div>\r\n </mat-expansion-panel>\r\n</mat-accordion>", styles: ["mat-accordion.coer-tree-accordion div,mat-accordion.coer-tree-accordion span{font-size:16px!important;font-family:sans-serif!important;font-weight:700}mat-accordion.coer-tree-accordion mat-expansion-panel{background-color:var(--black)!important;box-shadow:none!important;border-radius:0!important}mat-accordion.coer-tree-accordion mat-expansion-panel div.mat-expansion-panel-body{padding:0!important}mat-accordion.coer-tree-accordion mat-expansion-panel div.separator{border:.5px solid rgba(245,245,245,.041)!important}mat-accordion.coer-tree-accordion mat-expansion-panel span::selection{background-color:transparent!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header{padding:0 10px;height:48px!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header span.mat-expansion-indicator{width:10px!important;margin-left:15px!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header span.mat-expansion-indicator:after{color:var(--white)!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header mat-panel-description{margin-right:0!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header mat-panel-description span.icon-container{height:48px!important;min-width:20px!important;max-width:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--white)}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header mat-panel-description span.label-container{height:48px!important;margin-left:10px!important;display:flex!important;align-items:center!important;color:var(--white)}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header.text-orange span.mat-expansion-indicator:after{color:var(--orange)!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header:not(.background-orange):hover{background-color:#2f2f2f!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i2.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i3.CoerMenuOption, selector: "coer-menu-option", inputs: ["level", "label", "icon", "path", "tree"], outputs: ["clickMenuOption"] }, { kind: "component", type: CoerTreeAccordion, selector: "coer-tree-accordion", inputs: ["level", "item", "tree"], outputs: ["clickMenuOption", "clickMenu"] }] }); }
|
94
|
+
}
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerTreeAccordion, decorators: [{
|
96
|
+
type: Component,
|
97
|
+
args: [{ selector: 'coer-tree-accordion', template: "<mat-accordion class=\"coer-tree-accordion\">\r\n <mat-expansion-panel #expansionPanel>\r\n\r\n <!-- Header -->\r\n <mat-expansion-panel-header (click)=\"Toggle()\"\r\n [class]=\"identityClass\"\r\n [ngClass]=\"{\r\n 'background-orange': (isExpanded && level == 1),\r\n 'text-orange': IsActive(iconContainer)\r\n }\">\r\n <mat-panel-description>\r\n <span #iconContainer\r\n [ngStyle]=\"{ 'margin-left': marginLeft }\"\r\n [class]=\"identityClass\"\r\n [ngClass]=\"{\r\n 'icon-container': true,\r\n 'text-orange': IsActive(iconContainer)\r\n }\"> <i [class]=\"_icon\"></i> </span>\r\n\r\n <span #labelContainer\r\n [class]=\"identityClass\"\r\n [ngClass]=\"{\r\n 'label-container': true,\r\n 'text-orange': IsActive(labelContainer)\r\n }\"> {{ item.label }} </span>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n\r\n\r\n <div *ngFor=\"let subItem of item.items\">\r\n <!-- Sub Menu -->\r\n <div *ngIf=\"IsMenu(subItem); else isOption\">\r\n <coer-tree-accordion\r\n [level]=\"level + 1\"\r\n [item]=\"subItem\"\r\n [tree]=\"_tree\"\r\n (clickMenuOption)=\"ClickMenuOption($event)\"\r\n (clickMenu)=\"ClickMenu($event)\"\r\n ></coer-tree-accordion>\r\n </div>\r\n\r\n <!-- Option Menu -->\r\n <ng-template #isOption>\r\n <coer-menu-option\r\n [label]=\"subItem.label\"\r\n [icon]=\"subItem?.icon\"\r\n [path]=\"subItem?.path\"\r\n [level]=\"level + 1\"\r\n [tree]=\"_tree\"\r\n (clickMenuOption)=\"ClickMenuOption($event)\"\r\n ></coer-menu-option>\r\n </ng-template>\r\n\r\n <div class=\"separator\"></div>\r\n </div>\r\n </mat-expansion-panel>\r\n</mat-accordion>", styles: ["mat-accordion.coer-tree-accordion div,mat-accordion.coer-tree-accordion span{font-size:16px!important;font-family:sans-serif!important;font-weight:700}mat-accordion.coer-tree-accordion mat-expansion-panel{background-color:var(--black)!important;box-shadow:none!important;border-radius:0!important}mat-accordion.coer-tree-accordion mat-expansion-panel div.mat-expansion-panel-body{padding:0!important}mat-accordion.coer-tree-accordion mat-expansion-panel div.separator{border:.5px solid rgba(245,245,245,.041)!important}mat-accordion.coer-tree-accordion mat-expansion-panel span::selection{background-color:transparent!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header{padding:0 10px;height:48px!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header span.mat-expansion-indicator{width:10px!important;margin-left:15px!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header span.mat-expansion-indicator:after{color:var(--white)!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header mat-panel-description{margin-right:0!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header mat-panel-description span.icon-container{height:48px!important;min-width:20px!important;max-width:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:var(--white)}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header mat-panel-description span.label-container{height:48px!important;margin-left:10px!important;display:flex!important;align-items:center!important;color:var(--white)}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header.text-orange span.mat-expansion-indicator:after{color:var(--orange)!important}mat-accordion.coer-tree-accordion mat-expansion-panel mat-expansion-panel-header:not(.background-orange):hover{background-color:#2f2f2f!important}\n"] }]
|
98
|
+
}], propDecorators: { expansionPanel: [{
|
99
|
+
type: ViewChild,
|
100
|
+
args: ['expansionPanel']
|
101
|
+
}], menuList: [{
|
102
|
+
type: ViewChildren,
|
103
|
+
args: [CoerTreeAccordion]
|
104
|
+
}], level: [{
|
105
|
+
type: Input
|
106
|
+
}], item: [{
|
107
|
+
type: Input
|
108
|
+
}], tree: [{
|
109
|
+
type: Input
|
110
|
+
}], clickMenuOption: [{
|
111
|
+
type: Output
|
112
|
+
}], clickMenu: [{
|
113
|
+
type: Output
|
114
|
+
}] } });
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItc2lkZW5hdi9jb2VyLXRyZWUtYWNjb3JkaW9uL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9jb21wb25lbnRzL2xpYi9jb2VyLXNpZGVuYXYvY29lci10cmVlLWFjY29yZGlvbi9jb2VyLXRyZWUtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTM0csTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVVJLFdBQVc7UUFDSixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRW5DLFFBQVE7UUFDQyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBRWxCLFNBQUksR0FBWSxFQUFFLENBQUM7UUFFNUIsU0FBUztRQUNDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDMUQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBOEJ4RCxNQUFNO1FBQ0ksYUFBUSxHQUFHLENBQUMsT0FBZ0IsRUFBVyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO21CQUNuQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtRQUMxRSxDQUFD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElNZW51LCBJTWVudVNlbGVjdGVkLCBJTWVudU9wdGlvblNlbGVjdGVkIH0gZnJvbSAnY29lci1lbGVtZW50cy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uUGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb2VyLXRyZWUtYWNjb3JkaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyVHJlZUFjY29yZGlvbiB7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZXhwYW5zaW9uUGFuZWwnKSBleHBhbnNpb25QYW5lbCE6IE1hdEV4cGFuc2lvblBhbmVsO1xyXG4gICAgQFZpZXdDaGlsZHJlbihDb2VyVHJlZUFjY29yZGlvbikgbWVudUxpc3QhOiBRdWVyeUxpc3Q8Q29lclRyZWVBY2NvcmRpb24+O1xyXG5cclxuICAgIC8vVmFyaWFibGVzXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKSBpdGVtITogSU1lbnU7XHJcbiAgICBASW5wdXQoKSB0cmVlOiBJTWVudVtdID0gW107XHJcblxyXG4gICAgLy9PdXRwdXRzXHJcbiAgICBAT3V0cHV0KCkgY2xpY2tNZW51T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxJTWVudU9wdGlvblNlbGVjdGVkPigpO1xyXG4gICAgQE91dHB1dCgpIGNsaWNrTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8SU1lbnVTZWxlY3RlZD4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF90cmVlKCk6IElNZW51W10ge1xyXG4gICAgICAgIHJldHVybiBbLi4udGhpcy50cmVlXS5jb25jYXQoW3suLi50aGlzLml0ZW19XSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBfaWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5pdGVtICYmIHRoaXMuaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaWNvbicpICYmIHRoaXMuaXRlbS5pY29uIS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICA/IHRoaXMuaXRlbS5pY29uISA6ICdmYS1zb2xpZCBmYS1iYXJzJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBtYXJnaW5MZWZ0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAkeyh0aGlzLmxldmVsIC0gMSkgKiAyMH1weGA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgaWRlbnRpdHlDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBpZGVudGl0eTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0aGlzLnRyZWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWRlbnRpdHkgKz0gYGx2JHtpICsgMX0ke3RoaXMudHJlZVtpXS5sYWJlbH0tYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlkZW50aXR5ICs9IGBsdiR7dGhpcy5sZXZlbH0ke3RoaXMuaXRlbS5sYWJlbH1gO1xyXG4gICAgICAgIGlmKGlkZW50aXR5LmluY2x1ZGVzKCcgJykpIGlkZW50aXR5ID0gaWRlbnRpdHkucmVwbGFjZUFsbCgnICcsICcnKTtcclxuICAgICAgICByZXR1cm4gaWRlbnRpdHkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNBY3RpdmUgPSAoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5pc0V4cGFuZGVkICYmIHRoaXMubGV2ZWwgPiAxKVxyXG4gICAgICAgICAgICB8fCAodGhpcy5pc0NvbGxhcHNlZCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlLWxpbmsnKSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNNZW51ID0gKGl0ZW06IElNZW51KTogYm9vbGVhbiA9PiBpdGVtLmhhc093blByb3BlcnR5KCdpdGVtcycpO1xyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBpZih0aGlzLmlzRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuc2lvblBhbmVsLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBPcGVuKCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuaXNDb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuc2lvblBhbmVsLm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIFRvZ2dsZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuXHJcbiAgICAgICAgdGhpcy5jbGlja01lbnUuZW1pdCh7XHJcbiAgICAgICAgICAgIGxldmVsOiB0aGlzLmxldmVsLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5pdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiB0aGlzLmlzRXhwYW5kZWQsXHJcbiAgICAgICAgICAgIGlzQ29sbGFwc2VkOiB0aGlzLmlzQ29sbGFwc2VkLFxyXG4gICAgICAgICAgICBpdGVtczogdGhpcy5pdGVtLml0ZW1zLFxyXG4gICAgICAgICAgICBpY29uOiB0aGlzLl9pY29uLFxyXG4gICAgICAgICAgICB0cmVlOiBbLi4udGhpcy5fdHJlZV1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgQ2xpY2tNZW51T3B0aW9uKG1lbnVPcHRpb246IElNZW51T3B0aW9uU2VsZWN0ZWQpOiB2b2lkIHtcclxuICAgICAgICBmb3IoY29uc3QgbWVudSBvZiB0aGlzLm1lbnVMaXN0LnRvQXJyYXkoKSkge1xyXG4gICAgICAgICAgICBpZihtZW51Lml0ZW0ubGFiZWwgIT0gbWVudU9wdGlvbi50cmVlW3RoaXMubGV2ZWxdLmxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICBtZW51LkNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY2xpY2tNZW51T3B0aW9uLmVtaXQobWVudU9wdGlvbik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIENsaWNrTWVudShtZW51OiBJTWVudVNlbGVjdGVkKTogdm9pZCB7XHJcbiAgICAgICAgZm9yKGNvbnN0IG1lbnVMdjIgb2YgdGhpcy5tZW51TGlzdC50b0FycmF5KCkpIHtcclxuICAgICAgICAgICAgaWYgKG1lbnVMdjIuaXRlbS5sYWJlbCAhPSBtZW51LmxhYmVsKSBtZW51THYyLkNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNsaWNrTWVudS5lbWl0KG1lbnUpO1xyXG4gICAgfVxyXG59IiwiPG1hdC1hY2NvcmRpb24gY2xhc3M9XCJjb2VyLXRyZWUtYWNjb3JkaW9uXCI+XHJcbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAjZXhwYW5zaW9uUGFuZWw+XHJcblxyXG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxyXG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAoY2xpY2spPVwiVG9nZ2xlKClcIlxyXG4gICAgICAgICAgICBbY2xhc3NdPVwiaWRlbnRpdHlDbGFzc1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLW9yYW5nZSc6IChpc0V4cGFuZGVkICYmIGxldmVsID09IDEpLFxyXG4gICAgICAgICAgICAgICAgJ3RleHQtb3JhbmdlJzogSXNBY3RpdmUoaWNvbkNvbnRhaW5lcilcclxuICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gI2ljb25Db250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImlkZW50aXR5Q2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tY29udGFpbmVyJzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHQtb3JhbmdlJzogSXNBY3RpdmUoaWNvbkNvbnRhaW5lcilcclxuICAgICAgICAgICAgICAgICAgICB9XCI+IDxpIFtjbGFzc109XCJfaWNvblwiPjwvaT4gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDxzcGFuICNsYWJlbENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpZGVudGl0eUNsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdsYWJlbC1jb250YWluZXInOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dC1vcmFuZ2UnOiBJc0FjdGl2ZShsYWJlbENvbnRhaW5lcilcclxuICAgICAgICAgICAgICAgICAgICB9XCI+IHt7IGl0ZW0ubGFiZWwgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc3ViSXRlbSBvZiBpdGVtLml0ZW1zXCI+XHJcbiAgICAgICAgICAgIDwhLS0gU3ViIE1lbnUgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJJc01lbnUoc3ViSXRlbSk7IGVsc2UgaXNPcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjb2VyLXRyZWUtYWNjb3JkaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImxldmVsICsgMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwic3ViSXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyZWVdPVwiX3RyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnVPcHRpb24pPVwiQ2xpY2tNZW51T3B0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnUpPVwiQ2xpY2tNZW51KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci10cmVlLWFjY29yZGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE9wdGlvbiBNZW51IC0tPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2lzT3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPGNvZXItbWVudS1vcHRpb25cclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwic3ViSXRlbS5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwic3ViSXRlbT8uaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdGhdPVwic3ViSXRlbT8ucGF0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImxldmVsICsgMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyZWVdPVwiX3RyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnVPcHRpb24pPVwiQ2xpY2tNZW51T3B0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci1tZW51LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPC9tYXQtYWNjb3JkaW9uPiJdfQ==
|
@@ -2,8 +2,8 @@ import { Component, computed, input, Input, output, signal, viewChild } from '@a
|
|
2
2
|
import { CONTROL_VALUE, ControlValue, Tools } from 'coer-elements/tools';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@angular/common";
|
5
|
-
import * as i2 from "@angular/material/
|
6
|
-
import * as i3 from "@angular/material/
|
5
|
+
import * as i2 from "@angular/material/form-field";
|
6
|
+
import * as i3 from "@angular/material/input";
|
7
7
|
export class CoerTextarea extends ControlValue {
|
8
8
|
constructor() {
|
9
9
|
super(...arguments);
|
@@ -143,7 +143,7 @@ export class CoerTextarea extends ControlValue {
|
|
143
143
|
this.Focus();
|
144
144
|
}
|
145
145
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerTextarea, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CoerTextarea, selector: "coer-textarea", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, resize: { classPropertyName: "resize", publicName: "resize", isSignal: true, isRequired: false, transformFunction: null }, textPosition: { classPropertyName: "textPosition", publicName: "textPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onInput: "onInput" }, providers: [CONTROL_VALUE(CoerTextarea)], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextArea"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-textarea\">\r\n <mat-form-field\r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"floatLabel()\"\r\n [ngClass]=\"{\r\n 'readonly': isReadonly() && !isLoading()\r\n }\"\r\n [style]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'max-width': maxWidth(),\r\n 'margin-top': marginTop(),\r\n 'margin-right': marginRight(),\r\n 'margin-bottom': marginBottom(),\r\n 'margin-left': marginLeft()\r\n }\">\r\n <mat-label>{{ label() }}</mat-label>\r\n\r\n <textarea #coerTextArea matInput\r\n [id]=\"_id\"\r\n type=\"text\"\r\n [placeholder]=\"placeholder()\"\r\n [minLength]=\"minLength()\"\r\n [maxLength]=\"maxLength()\"\r\n [disabled]=\"!_isEnable()\"\r\n [value]=\"_value\"\r\n (input)=\"SetValue(coerTextArea.value)\"\r\n (blur)=\"SetTouched(true)\"\r\n [style]=\"{\r\n 'cursor': isLoading() ? 'wait' : null,\r\n 'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n 'padding-right': paddingRight(),\r\n 'text-align': textPosition(),\r\n 'resize': (!resize() || !_isEnable()) ? 'none' : ''\r\n }\"></textarea>\r\n\r\n @if(isLoading()) {\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <span ngClass=\"icon-container\">\r\n @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n }\r\n\r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n }\r\n </span>\r\n </mat-form-field>\r\n\r\n @if(showFooter()) {\r\n <footer> {{ footer }} </footer>\r\n }\r\n</div>", styles: ["div.coer-textarea *{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031}div.coer-textarea .text-blue{color:#0d6efd!important}div.coer-textarea .text-blue-bold{color:#0d6efd!important;font-weight:700!important}div.coer-textarea .background-blue{background-color:#0d6efd!important}div.coer-textarea .background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}div.coer-textarea .border-blue{border-color:#0d6efd!important}div.coer-textarea .text-gray{color:#6c757d!important}div.coer-textarea .text-gray-bold{color:#6c757d!important;font-weight:700!important}div.coer-textarea .background-gray{background-color:#6c757d!important}div.coer-textarea .background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}div.coer-textarea .border-gray{border-color:#6c757d!important}div.coer-textarea .text-green{color:#198754!important}div.coer-textarea .text-green-bold{color:#198754!important;font-weight:700!important}div.coer-textarea .background-green{background-color:#198754!important}div.coer-textarea .background-border-green{background-color:#198754!important;border-color:#198754!important}div.coer-textarea .border-green{border-color:#198754!important}div.coer-textarea .text-yellow{color:#ffc107!important}div.coer-textarea .text-yellow-bold{color:#ffc107!important;font-weight:700!important}div.coer-textarea .background-yellow{background-color:#ffc107!important}div.coer-textarea .background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}div.coer-textarea .border-yellow{border-color:#ffc107!important}div.coer-textarea .text-red{color:#dc3545!important}div.coer-textarea .text-red-bold{color:#dc3545!important;font-weight:700!important}div.coer-textarea .background-red{background-color:#dc3545!important}div.coer-textarea .background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}div.coer-textarea .border-red{border-color:#dc3545!important}div.coer-textarea .text-white{color:#f5f5f5!important}div.coer-textarea .text-white-bold{color:#f5f5f5!important;font-weight:700!important}div.coer-textarea .background-white{background-color:#f5f5f5!important}div.coer-textarea .background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}div.coer-textarea .border-white{border-color:#f5f5f5!important}div.coer-textarea .text-black{color:#252525!important}div.coer-textarea .text-black-bold{color:#252525!important;font-weight:700!important}div.coer-textarea .background-black{background-color:#252525!important}div.coer-textarea .background-border-black{background-color:#252525!important;border-color:#252525!important}div.coer-textarea .border-black{border-color:#252525!important}div.coer-textarea .text-orange{color:#fd6031!important}div.coer-textarea .text-orange-bold{color:#fd6031!important;font-weight:700!important}div.coer-textarea .background-orange{background-color:#fd6031!important}div.coer-textarea .background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}div.coer-textarea .border-orange{border-color:#fd6031!important}div.coer-textarea mat-form-field{position:relative!important}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;padding:0!important}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:#fd6031;font-weight:700;position:relative;left:-10px;top:2px}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix textarea{font-weight:400!important;font-size:17px!important;color:#252525!important;min-height:80px}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:#fd6031!important}div.coer-textarea mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-textarea mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-textarea mat-form-field span.icon-container i{font-size:20px!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:#198754!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:#dc3545!important}div.coer-textarea mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-textarea mat-form-field .placeholder,div.coer-textarea mat-form-field .placeholder *,div.coer-textarea mat-form-field .placeholder-glow,div.coer-textarea mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-textarea footer{padding-top:2px;text-align:right;font-size:10px;color:#6c757d}div.coer-textarea mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }] }); }
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CoerTextarea, selector: "coer-textarea", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, resize: { classPropertyName: "resize", publicName: "resize", isSignal: true, isRequired: false, transformFunction: null }, textPosition: { classPropertyName: "textPosition", publicName: "textPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onInput: "onInput" }, providers: [CONTROL_VALUE(CoerTextarea)], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextArea"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-textarea\">\r\n <mat-form-field\r\n [id]=\"_id + '-container'\"\r\n [floatLabel]=\"floatLabel()\"\r\n [ngClass]=\"{\r\n 'readonly': isReadonly() && !isLoading()\r\n }\"\r\n [style]=\"{\r\n 'width': width(),\r\n 'min-width': minWidth(),\r\n 'max-width': maxWidth(),\r\n 'margin-top': marginTop(),\r\n 'margin-right': marginRight(),\r\n 'margin-bottom': marginBottom(),\r\n 'margin-left': marginLeft()\r\n }\">\r\n <mat-label>{{ label() }}</mat-label>\r\n\r\n <textarea #coerTextArea matInput\r\n [id]=\"_id\"\r\n type=\"text\"\r\n [placeholder]=\"placeholder()\"\r\n [minLength]=\"minLength()\"\r\n [maxLength]=\"maxLength()\"\r\n [disabled]=\"!_isEnable()\"\r\n [value]=\"_value\"\r\n (input)=\"SetValue(coerTextArea.value)\"\r\n (blur)=\"SetTouched(true)\"\r\n [style]=\"{\r\n 'cursor': isLoading() ? 'wait' : null,\r\n 'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n 'padding-right': paddingRight(),\r\n 'text-align': textPosition(),\r\n 'resize': (!resize() || !_isEnable()) ? 'none' : ''\r\n }\"></textarea>\r\n\r\n @if(isLoading()) {\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <span ngClass=\"icon-container\">\r\n @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n }\r\n\r\n @else if(isValid() && !isDisabled() && !isLoading()) {\r\n <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n }\r\n </span>\r\n </mat-form-field>\r\n\r\n @if(showFooter()) {\r\n <footer> {{ footer }} </footer>\r\n }\r\n</div>", styles: ["div.coer-textarea *{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031}div.coer-textarea .text-blue{color:#0d6efd!important}div.coer-textarea .text-blue-bold{color:#0d6efd!important;font-weight:700!important}div.coer-textarea .background-blue{background-color:#0d6efd!important}div.coer-textarea .background-border-blue{background-color:#0d6efd!important;border-color:#0d6efd!important}div.coer-textarea .border-blue{border-color:#0d6efd!important}div.coer-textarea .text-gray{color:#6c757d!important}div.coer-textarea .text-gray-bold{color:#6c757d!important;font-weight:700!important}div.coer-textarea .background-gray{background-color:#6c757d!important}div.coer-textarea .background-border-gray{background-color:#6c757d!important;border-color:#6c757d!important}div.coer-textarea .border-gray{border-color:#6c757d!important}div.coer-textarea .text-green{color:#198754!important}div.coer-textarea .text-green-bold{color:#198754!important;font-weight:700!important}div.coer-textarea .background-green{background-color:#198754!important}div.coer-textarea .background-border-green{background-color:#198754!important;border-color:#198754!important}div.coer-textarea .border-green{border-color:#198754!important}div.coer-textarea .text-yellow{color:#ffc107!important}div.coer-textarea .text-yellow-bold{color:#ffc107!important;font-weight:700!important}div.coer-textarea .background-yellow{background-color:#ffc107!important}div.coer-textarea .background-border-yellow{background-color:#ffc107!important;border-color:#ffc107!important}div.coer-textarea .border-yellow{border-color:#ffc107!important}div.coer-textarea .text-red{color:#dc3545!important}div.coer-textarea .text-red-bold{color:#dc3545!important;font-weight:700!important}div.coer-textarea .background-red{background-color:#dc3545!important}div.coer-textarea .background-border-red{background-color:#dc3545!important;border-color:#dc3545!important}div.coer-textarea .border-red{border-color:#dc3545!important}div.coer-textarea .text-white{color:#f5f5f5!important}div.coer-textarea .text-white-bold{color:#f5f5f5!important;font-weight:700!important}div.coer-textarea .background-white{background-color:#f5f5f5!important}div.coer-textarea .background-border-white{background-color:#f5f5f5!important;border-color:#f5f5f5!important}div.coer-textarea .border-white{border-color:#f5f5f5!important}div.coer-textarea .text-black{color:#252525!important}div.coer-textarea .text-black-bold{color:#252525!important;font-weight:700!important}div.coer-textarea .background-black{background-color:#252525!important}div.coer-textarea .background-border-black{background-color:#252525!important;border-color:#252525!important}div.coer-textarea .border-black{border-color:#252525!important}div.coer-textarea .text-orange{color:#fd6031!important}div.coer-textarea .text-orange-bold{color:#fd6031!important;font-weight:700!important}div.coer-textarea .background-orange{background-color:#fd6031!important}div.coer-textarea .background-border-orange{background-color:#fd6031!important;border-color:#fd6031!important}div.coer-textarea .border-orange{border-color:#fd6031!important}div.coer-textarea mat-form-field{position:relative!important}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;padding:0!important}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:#fd6031;font-weight:700;position:relative;left:-10px;top:2px}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix textarea{font-weight:400!important;font-size:17px!important;color:#252525!important;min-height:80px}div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-textarea mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:#fd6031!important}div.coer-textarea mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-textarea mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-textarea mat-form-field span.icon-container i{font-size:20px!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:#198754!important}div.coer-textarea mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:#dc3545!important}div.coer-textarea mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-textarea mat-form-field .placeholder,div.coer-textarea mat-form-field .placeholder *,div.coer-textarea mat-form-field .placeholder-glow,div.coer-textarea mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-textarea footer{padding-top:2px;text-align:right;font-size:10px;color:#6c757d}div.coer-textarea mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
147
147
|
}
|
148
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CoerTextarea, decorators: [{
|
149
149
|
type: Component,
|