@libs-ui/components-buttons-button 0.2.306 → 0.2.308-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -37
- package/button.component.d.ts +2 -0
- package/esm2022/button.component.mjs +23 -18
- package/esm2022/index.mjs +1 -1
- package/esm2022/interfaces/button.interface.mjs +1 -1
- package/fesm2022/libs-ui-components-buttons-button.mjs +22 -17
- package/fesm2022/libs-ui-components-buttons-button.mjs.map +1 -1
- package/interfaces/button.interface.d.ts +2 -2
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -46,9 +46,8 @@ import { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-butt
|
|
|
46
46
|
<libs_ui-components-buttons-button
|
|
47
47
|
[type]="'button-primary'"
|
|
48
48
|
[label]="'Click me'"
|
|
49
|
-
(outClick)="onClick()">
|
|
50
|
-
|
|
51
|
-
`
|
|
49
|
+
(outClick)="onClick()"></libs_ui-components-buttons-button>
|
|
50
|
+
`,
|
|
52
51
|
})
|
|
53
52
|
export class ExampleComponent {
|
|
54
53
|
onClick() {
|
|
@@ -67,7 +66,7 @@ import { LibsUiComponentsButtonsButtonComponent } from '@libs-ui/components-butt
|
|
|
67
66
|
selector: 'app-example',
|
|
68
67
|
standalone: true,
|
|
69
68
|
imports: [LibsUiComponentsButtonsButtonComponent],
|
|
70
|
-
templateUrl: './example.component.html'
|
|
69
|
+
templateUrl: './example.component.html',
|
|
71
70
|
})
|
|
72
71
|
export class ExampleComponent {}
|
|
73
72
|
```
|
|
@@ -75,8 +74,7 @@ export class ExampleComponent {}
|
|
|
75
74
|
```html
|
|
76
75
|
<libs_ui-components-buttons-button
|
|
77
76
|
[type]="'button-secondary'"
|
|
78
|
-
[label]="'Submit'">
|
|
79
|
-
</libs_ui-components-buttons-button>
|
|
77
|
+
[label]="'Submit'"></libs_ui-components-buttons-button>
|
|
80
78
|
```
|
|
81
79
|
|
|
82
80
|
## Công nghệ sử dụng
|
|
@@ -88,39 +86,39 @@ export class ExampleComponent {}
|
|
|
88
86
|
|
|
89
87
|
### Inputs
|
|
90
88
|
|
|
91
|
-
| Tên
|
|
92
|
-
|
|
93
|
-
| type
|
|
94
|
-
| sizeButton
|
|
95
|
-
| label
|
|
96
|
-
| disable
|
|
97
|
-
| isPending
|
|
98
|
-
| popover
|
|
99
|
-
| buttonCustom
|
|
100
|
-
| imageLeft
|
|
101
|
-
| classInclude
|
|
102
|
-
| classIconLeft
|
|
103
|
-
| classIconRight
|
|
104
|
-
| classLabel
|
|
105
|
-
| iconOnlyType
|
|
106
|
-
| ignoreStopPropagationEvent
|
|
107
|
-
| zIndex
|
|
108
|
-
| widthLabelPopover
|
|
109
|
-
| styleIconLeft
|
|
110
|
-
| styleButton
|
|
111
|
-
| ignoreFocusWhenInputTab
|
|
112
|
-
| ignoreSetClickWhenShowPopover
|
|
113
|
-
| ignorePointerEvent
|
|
114
|
-
| isActive
|
|
115
|
-
| isHandlerEnterDocumentClickButton | `boolean`
|
|
89
|
+
| Tên | Kiểu | Mặc định | Mô tả |
|
|
90
|
+
| --------------------------------- | ---------------------------------------- | ---------------- | ---------------------------------------------------------------------- |
|
|
91
|
+
| type | `TYPE_BUTTON` | `button-primary` | Kiểu style của nút (ví dụ: button-primary, button-secondary, ...). |
|
|
92
|
+
| sizeButton | `TYPE_SIZE_BUTTON` | `medium` | Kích thước của nút (large, medium, small, smaller). |
|
|
93
|
+
| label | `string` | `' '` | Nội dung text hiển thị trên nút. |
|
|
94
|
+
| disable | `boolean` | `false` | Nếu true: vô hiệu hóa nút, không cho tương tác. |
|
|
95
|
+
| isPending | `boolean` | `false` | Nếu true: hiển thị trạng thái loading và vô hiệu hóa nút. |
|
|
96
|
+
| popover | `IPopover` | `{}` | Cấu hình chi tiết cho popover (nội dung, vị trí, chế độ hiển thị). |
|
|
97
|
+
| buttonCustom | `IColorButton` | undefined | Cấu hình màu custom khi type là button-custom hoặc button-link-custom. |
|
|
98
|
+
| imageLeft | `{ src: string; classInclude?: string }` | undefined | Thêm image/icon bên trái nút. |
|
|
99
|
+
| classInclude | `string` | `''` | Class CSS thêm cho container nút. |
|
|
100
|
+
| classIconLeft | `string` | `''` | Class CSS thêm cho icon bên trái. |
|
|
101
|
+
| classIconRight | `string` | `''` | Class CSS thêm cho icon bên phải. |
|
|
102
|
+
| classLabel | `string` | `''` | Class CSS thêm cho nhãn (label). |
|
|
103
|
+
| iconOnlyType | `boolean` | `false` | Chỉ hiển thị icon, không hiển thị nhãn. |
|
|
104
|
+
| ignoreStopPropagationEvent | `boolean` | `true` | Cho phép ngăn chặn hoặc không propagation sự kiện click. |
|
|
105
|
+
| zIndex | `number` | `10` | Giá trị z-index của popover. |
|
|
106
|
+
| widthLabelPopover | `number` | undefined | Chiều rộng của label popover (px). |
|
|
107
|
+
| styleIconLeft | `Record<string, any>` | undefined | Style inline cho icon trái. |
|
|
108
|
+
| styleButton | `Record<string, any>` | undefined | Style inline cho button. |
|
|
109
|
+
| ignoreFocusWhenInputTab | `boolean` | undefined | Bỏ qua focus khi nhấn Tab. |
|
|
110
|
+
| ignoreSetClickWhenShowPopover | `boolean` | undefined | Bỏ qua set click khi show popover. |
|
|
111
|
+
| ignorePointerEvent | `boolean` | undefined | Bỏ qua pointer events. |
|
|
112
|
+
| isActive | `boolean` | undefined | Trạng thái active của button. |
|
|
113
|
+
| isHandlerEnterDocumentClickButton | `boolean` | undefined | Cho phép xử lý event Enter trên document. |
|
|
116
114
|
|
|
117
115
|
### Outputs
|
|
118
116
|
|
|
119
|
-
| Tên
|
|
120
|
-
|
|
121
|
-
| outClick | `(event: Event) => void`
|
|
122
|
-
| outPopoverEvent | `(event: TYPE_POPOVER_EVENT) => void`
|
|
123
|
-
| outFunctionsControl | `(control: IPopoverFunctionControlEvent) => void` | Cung cấp API để điều khiển popover.
|
|
117
|
+
| Tên | Kiểu | Mô tả |
|
|
118
|
+
| ------------------- | ------------------------------------------------- | ---------------------------------------------------- |
|
|
119
|
+
| outClick | `(event: Event) => void` | Phát ra khi người dùng click vào nút. |
|
|
120
|
+
| outPopoverEvent | `(event: TYPE_POPOVER_EVENT) => void` | Phát ra các sự kiện của popover (show, hide, click). |
|
|
121
|
+
| outFunctionsControl | `(control: IPopoverFunctionControlEvent) => void` | Cung cấp API để điều khiển popover. |
|
|
124
122
|
|
|
125
123
|
### Interfaces
|
|
126
124
|
|
|
@@ -128,7 +126,7 @@ export class ExampleComponent {}
|
|
|
128
126
|
|
|
129
127
|
```typescript
|
|
130
128
|
export type TYPE_BUTTON =
|
|
131
|
-
'button-primary'
|
|
129
|
+
| 'button-primary'
|
|
132
130
|
| 'button-primary-revert'
|
|
133
131
|
| 'button-secondary'
|
|
134
132
|
| 'button-secondary-red'
|
package/button.component.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { TYPE_SIZE_BUTTON } from './interfaces/button.interface';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class LibsUiComponentsButtonsButtonComponent implements AfterViewInit, OnDestroy {
|
|
8
8
|
private onDestroy;
|
|
9
|
+
private functionsControlPopover;
|
|
9
10
|
protected classBinding: import("@angular/core").WritableSignal<string>;
|
|
10
11
|
protected isClick: import("@angular/core").WritableSignal<boolean>;
|
|
11
12
|
protected typeIconLoading: import("@angular/core").WritableSignal<TYPE_SPINNER>;
|
|
@@ -46,6 +47,7 @@ export declare class LibsUiComponentsButtonsButtonComponent implements AfterView
|
|
|
46
47
|
ngAfterViewInit(): void;
|
|
47
48
|
protected handlerClick(e: Event): void;
|
|
48
49
|
protected handlerPopoverControlEvent(control: IPopoverFunctionControlEvent): Promise<void>;
|
|
50
|
+
get FunctionsControl(): IPopoverFunctionControlEvent | undefined;
|
|
49
51
|
private setClassByType;
|
|
50
52
|
private setClassAndIconLoadingByType;
|
|
51
53
|
private setVariableStyles;
|
|
@@ -13,6 +13,7 @@ import * as i1 from "@ngx-translate/core";
|
|
|
13
13
|
export class LibsUiComponentsButtonsButtonComponent {
|
|
14
14
|
// #region PROPERTY
|
|
15
15
|
onDestroy = new Subject();
|
|
16
|
+
functionsControlPopover = signal(undefined);
|
|
16
17
|
classBinding = signal('');
|
|
17
18
|
isClick = signal(false);
|
|
18
19
|
typeIconLoading = signal('spin-blue');
|
|
@@ -22,7 +23,7 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
22
23
|
flagMouse = input({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });
|
|
23
24
|
type = input('button-primary');
|
|
24
25
|
buttonCustom = input(); // bắt buộc khi type là button-custom hoặc button-link-custom
|
|
25
|
-
sizeButton = input('medium', { transform: value => value ?? 'medium' });
|
|
26
|
+
sizeButton = input('medium', { transform: (value) => value ?? 'medium' });
|
|
26
27
|
label = input(' ');
|
|
27
28
|
disable = input(false);
|
|
28
29
|
isPending = input();
|
|
@@ -33,7 +34,7 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
33
34
|
classLabel = input('');
|
|
34
35
|
iconOnlyType = input(false);
|
|
35
36
|
popover = input({});
|
|
36
|
-
ignoreStopPropagationEvent = input(true, { transform: val => val ?? true });
|
|
37
|
+
ignoreStopPropagationEvent = input(true, { transform: (val) => val ?? true });
|
|
37
38
|
zIndex = input(10);
|
|
38
39
|
widthLabelPopover = input();
|
|
39
40
|
styleIconLeft = input();
|
|
@@ -61,7 +62,9 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
61
62
|
if (!this.isHandlerEnterDocumentClickButton()) {
|
|
62
63
|
return;
|
|
63
64
|
}
|
|
64
|
-
fromEvent(document, 'keyup')
|
|
65
|
+
fromEvent(document, 'keyup')
|
|
66
|
+
.pipe(takeUntil(this.onDestroy))
|
|
67
|
+
.subscribe((e) => {
|
|
65
68
|
if (e.keyCode !== UtilsKeyCodeConstant.ENTER) {
|
|
66
69
|
return;
|
|
67
70
|
}
|
|
@@ -79,13 +82,19 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
79
82
|
}
|
|
80
83
|
this.outClick.emit(e);
|
|
81
84
|
this.isClick.set(true);
|
|
82
|
-
timer(100)
|
|
85
|
+
timer(100)
|
|
86
|
+
.pipe(takeUntil(this.onDestroy))
|
|
87
|
+
.subscribe(() => {
|
|
83
88
|
this.isClick.set(false);
|
|
84
89
|
});
|
|
85
90
|
}
|
|
86
91
|
async handlerPopoverControlEvent(control) {
|
|
92
|
+
this.functionsControlPopover.set(control);
|
|
87
93
|
this.outFunctionsControl.emit(control);
|
|
88
94
|
}
|
|
95
|
+
get FunctionsControl() {
|
|
96
|
+
return this.functionsControlPopover();
|
|
97
|
+
}
|
|
89
98
|
async setClassByType() {
|
|
90
99
|
if (this.type().search('button') === 0) {
|
|
91
100
|
this.typeButton.set(true);
|
|
@@ -94,17 +103,17 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
94
103
|
const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());
|
|
95
104
|
this.setVariableStyles(config.rootColor, config.configStepColor);
|
|
96
105
|
if (!this.sizeButton || !this.typeButton()) {
|
|
97
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()}`);
|
|
106
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()}`);
|
|
98
107
|
}
|
|
99
108
|
switch (this.sizeButton()) {
|
|
100
109
|
case 'large':
|
|
101
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-large`);
|
|
110
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-large`);
|
|
102
111
|
case 'medium':
|
|
103
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-medium`);
|
|
112
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-medium`);
|
|
104
113
|
case 'small':
|
|
105
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-small`);
|
|
114
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-small`);
|
|
106
115
|
case 'smaller':
|
|
107
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-smaller`);
|
|
116
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-smaller`);
|
|
108
117
|
}
|
|
109
118
|
}
|
|
110
119
|
async setClassAndIconLoadingByType() {
|
|
@@ -126,14 +135,14 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
126
135
|
return;
|
|
127
136
|
}
|
|
128
137
|
const colors = colorContrastFromOrigin(color);
|
|
129
|
-
Object.keys(configStep).forEach(key => {
|
|
138
|
+
Object.keys(configStep).forEach((key) => {
|
|
130
139
|
const valueStep = get(configStep, key);
|
|
131
140
|
const typeLink = this.type().includes('link');
|
|
132
141
|
if (typeof valueStep === 'string') {
|
|
133
142
|
this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);
|
|
134
143
|
return;
|
|
135
144
|
}
|
|
136
|
-
const color = colors.find(item => item.step === Math.abs(valueStep));
|
|
145
|
+
const color = colors.find((item) => item.step === Math.abs(valueStep));
|
|
137
146
|
this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));
|
|
138
147
|
});
|
|
139
148
|
}
|
|
@@ -155,14 +164,10 @@ export class LibsUiComponentsButtonsButtonComponent {
|
|
|
155
164
|
this.onDestroy.complete();
|
|
156
165
|
}
|
|
157
166
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, buttonCustom: { classPropertyName: "buttonCustom", publicName: "buttonCustom", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHandlerEnterDocumentClickButton: { classPropertyName: "isHandlerEnterDocumentClickButton", publicName: "isHandlerEnterDocumentClickButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
167
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, buttonCustom: { classPropertyName: "buttonCustom", publicName: "buttonCustom", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHandlerEnterDocumentClickButton: { classPropertyName: "isHandlerEnterDocumentClickButton", publicName: "isHandlerEnterDocumentClickButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover\n [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button\n #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab() ? '-1' : '0'\"\n [attr.hasLabel]=\"(label() || ' ' | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img\n [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\"></i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover\n [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover(),\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"label() || ' ' | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight() + ' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div\n class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner\n [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large' ? 'medium' : sizeButton() === 'smaller' ? 'smaller' : 'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
159
168
|
}
|
|
160
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, decorators: [{
|
|
161
170
|
type: Component,
|
|
162
|
-
args: [{ selector: 'libs_ui-components-buttons-button', standalone: true, imports: [
|
|
163
|
-
NgStyle, TranslateModule,
|
|
164
|
-
LibsUiComponentsSpinnerComponent,
|
|
165
|
-
LibsUiComponentsPopoverComponent
|
|
166
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
|
|
171
|
+
args: [{ selector: 'libs_ui-components-buttons-button', standalone: true, imports: [NgStyle, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiComponentsPopoverComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover\n [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button\n #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab() ? '-1' : '0'\"\n [attr.hasLabel]=\"(label() || ' ' | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img\n [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\"></i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover\n [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover(),\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"label() || ' ' | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight() + ' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div\n class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner\n [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large' ? 'medium' : sizeButton() === 'smaller' ? 'smaller' : 'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
|
|
167
172
|
}], ctorParameters: () => [] });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RLLE9BQU8sRUFBc0QsZ0NBQWdDLEVBQXNCLE1BQU0sNkJBQTZCLENBQUM7QUFDdkosT0FBTyxFQUFFLGdDQUFnQyxFQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQzdGLE9BQU8sRUFBZ0IsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCM0MsTUFBTSxPQUFPLHNDQUFzQztJQUVqRCxtQkFBbUI7SUFDWCxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU5QixZQUFZLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsZUFBZSxHQUFHLE1BQU0sQ0FBZSxXQUFXLENBQUMsQ0FBQztJQUNwRCxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRWxFLGdCQUFnQjtJQUNQLFNBQVMsR0FBRyxLQUFLLENBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILElBQUksR0FBRyxLQUFLLENBQWMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxZQUFZLEdBQUcsS0FBSyxFQUFnQixDQUFDLENBQUMsNkRBQTZEO0lBQ25HLFVBQVUsR0FBRyxLQUFLLENBQWlELFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hILEtBQUssR0FBRyxLQUFLLENBQVMsR0FBRyxDQUFDLENBQUM7SUFDM0IsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyxTQUFTLEdBQUcsS0FBSyxFQUFXLENBQUM7SUFDN0IsU0FBUyxHQUFHLEtBQUssRUFBMEMsQ0FBQztJQUM1RCxZQUFZLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLGFBQWEsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEMsY0FBYyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuQyxVQUFVLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLFlBQVksR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDckMsT0FBTyxHQUFHLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QiwwQkFBMEIsR0FBRyxLQUFLLENBQStCLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFHLE1BQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDM0IsaUJBQWlCLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDcEMsYUFBYSxHQUFHLEtBQUssRUFBdUIsQ0FBQztJQUM3QyxXQUFXLEdBQUcsS0FBSyxFQUF1QixDQUFDO0lBQzNDLHVCQUF1QixHQUFHLEtBQUssRUFBVyxDQUFDLENBQUMsbURBQW1EO0lBQy9GLDZCQUE2QixHQUFHLEtBQUssRUFBVyxDQUFDO0lBQ2pELGtCQUFrQixHQUFHLEtBQUssRUFBVyxDQUFDO0lBQ3RDLFFBQVEsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUM1QixpQ0FBaUMsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUU5RCxpQkFBaUI7SUFDUixRQUFRLEdBQUcsTUFBTSxFQUFTLENBQUM7SUFDM0IsZUFBZSxHQUFHLE1BQU0sRUFBc0IsQ0FBQztJQUMvQyxtQkFBbUIsR0FBRyxNQUFNLEVBQWdDLENBQUM7SUFFdEUsZ0JBQWdCO0lBQ0MsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQWEsVUFBVSxDQUFDLENBQUM7SUFFdkU7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQUEsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxFQUFFLENBQUM7WUFDOUMsT0FBTztRQUNULENBQUM7UUFDRCxTQUFTLENBQVMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QyxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtJQUNMLFlBQVksQ0FBQyxDQUFRO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLE9BQXFDO1FBQzlFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLEtBQUssQ0FBQyxjQUFjO1FBQzFCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWpJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFFRCxRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQzFCLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1lBQ25HLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1lBRXBHLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1lBRW5HLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLDRCQUE0QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO1lBQ2pILE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pHLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsVUFBZTtRQUM1RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU5QyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsbUJBQW1CLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUUvSSxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUVyRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsbUJBQW1CLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBeUI7UUFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV4QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dHQXRLVSxzQ0FBc0M7NEZBQXRDLHNDQUFzQyxpdUhDMUJuRCxzbUZBMERBLHVvVUR0Q0ksT0FBTywwRUFBRSxlQUFlLDRGQUN4QixnQ0FBZ0MsaUdBQ2hDLGdDQUFnQzs7NEZBSXZCLHNDQUFzQztrQkFibEQsU0FBUzsrQkFFRSxtQ0FBbUMsY0FHakMsSUFBSSxXQUNQO3dCQUNQLE9BQU8sRUFBRSxlQUFlO3dCQUN4QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQztxQkFDakMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgT25EZXN0cm95LCBvdXRwdXQsIHNpZ25hbCwgdW50cmFja2VkLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGbGFnTW91c2UsIElQb3BvdmVyLCBJUG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50LCBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudCwgVFlQRV9QT1BPVkVSX0VWRU5UIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNTcGlubmVyQ29tcG9uZW50LCBUWVBFX1NQSU5ORVIgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXNwaW5uZXInO1xuaW1wb3J0IHsgSUNvbG9yQnV0dG9uLCBMaWJzVWlDb25maWdQcm9qZWN0U2VydmljZSB9IGZyb20gJ0BsaWJzLXVpL3NlcnZpY2VzLWNvbmZpZy1wcm9qZWN0JztcbmltcG9ydCB7IGNvbG9yQ29udHJhc3RGcm9tT3JpZ2luLCBnZXQsIFV0aWxzS2V5Q29kZUNvbnN0YW50IH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUWVBFX0JVVFRPTiwgVFlQRV9TSVpFX0JVVFRPTiB9IGZyb20gJy4vaW50ZXJmYWNlcy9idXR0b24uaW50ZXJmYWNlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ0BsaWJzLXVpL2ludGVyZmFjZXMtdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtYnV0dG9ucy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1N0eWxlLCBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsXG4gICAgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJDb21wb25lbnRcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0J1dHRvbnNCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCBjbGFzc0JpbmRpbmcgPSBzaWduYWwoJycpO1xuICBwcm90ZWN0ZWQgaXNDbGljayA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCB0eXBlSWNvbkxvYWRpbmcgPSBzaWduYWw8VFlQRV9TUElOTkVSPignc3Bpbi1ibHVlJyk7XG4gIHByb3RlY3RlZCB0eXBlQnV0dG9uID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcml2YXRlIGNvbmZpZ1Byb2plY3RTZXJ2aWNlID0gaW5qZWN0KExpYnNVaUNvbmZpZ1Byb2plY3RTZXJ2aWNlKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IGZsYWdNb3VzZSA9IGlucHV0PElGbGFnTW91c2U+KHsgaXNNb3VzZUVudGVyOiBmYWxzZSwgaXNNb3VzZUVudGVyQ29udGVudDogZmFsc2UsIGlzQ29udGFpbmVySGFzU2Nyb2xsOiBmYWxzZSB9KTtcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0PFRZUEVfQlVUVE9OPignYnV0dG9uLXByaW1hcnknKTtcbiAgcmVhZG9ubHkgYnV0dG9uQ3VzdG9tID0gaW5wdXQ8SUNvbG9yQnV0dG9uPigpOyAvLyBi4bqvdCBideG7mWMga2hpIHR5cGUgbMOgIGJ1dHRvbi1jdXN0b20gaG/hurdjIGJ1dHRvbi1saW5rLWN1c3RvbVxuICByZWFkb25seSBzaXplQnV0dG9uID0gaW5wdXQ8VFlQRV9TSVpFX0JVVFRPTiwgVFlQRV9TSVpFX0JVVFRPTiB8IHVuZGVmaW5lZD4oJ21lZGl1bScsIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyAnbWVkaXVtJyB9KTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcgJyk7XG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGlzUGVuZGluZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGltYWdlTGVmdCA9IGlucHV0PHsgc3JjOiBzdHJpbmc7IGNsYXNzSW5jbHVkZT86IHN0cmluZyB9PigpO1xuICByZWFkb25seSBjbGFzc0luY2x1ZGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY2xhc3NJY29uTGVmdCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGFzc0ljb25SaWdodCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGFzc0xhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGljb25Pbmx5VHlwZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcG9wb3ZlciA9IGlucHV0PElQb3BvdmVyPih7fSk7XG4gIHJlYWRvbmx5IGlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50ID0gaW5wdXQ8Ym9vbGVhbiwgYm9vbGVhbiB8IHVuZGVmaW5lZD4odHJ1ZSwgeyB0cmFuc2Zvcm06IHZhbCA9PiB2YWwgPz8gdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgekluZGV4ID0gaW5wdXQ8bnVtYmVyPigxMCk7XG4gIHJlYWRvbmx5IHdpZHRoTGFiZWxQb3BvdmVyID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBzdHlsZUljb25MZWZ0ID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oKTtcbiAgcmVhZG9ubHkgc3R5bGVCdXR0b24gPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+PigpO1xuICByZWFkb25seSBpZ25vcmVGb2N1c1doZW5JbnB1dFRhYiA9IGlucHV0PGJvb2xlYW4+KCk7IC8vIGTDuW5nIMSR4buDIGLhu48gcXVhIGZvY3VzIGtoaSBi4bqlbSBuw7p0IFRBQiB04burIGLDoW4gcGjDrW1cbiAgcmVhZG9ubHkgaWdub3JlU2V0Q2xpY2tXaGVuU2hvd1BvcG92ZXIgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBpZ25vcmVQb2ludGVyRXZlbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBpc0FjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlzSGFuZGxlckVudGVyRG9jdW1lbnRDbGlja0J1dHRvbiA9IGlucHV0PGJvb2xlYW4+KCk7XG5cbiAgLy8gI3JlZ2lvbiBPVVRQVVRcbiAgcmVhZG9ubHkgb3V0Q2xpY2sgPSBvdXRwdXQ8RXZlbnQ+KCk7XG4gIHJlYWRvbmx5IG91dFBvcG92ZXJFdmVudCA9IG91dHB1dDxUWVBFX1BPUE9WRVJfRVZFTlQ+KCk7XG4gIHJlYWRvbmx5IG91dEZ1bmN0aW9uc0NvbnRyb2wgPSBvdXRwdXQ8SVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudD4oKTtcblxuICAvKiBWSUVXIENISUxEICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uRWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2J1dHRvbkVsJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMudHlwZSgpOyB0aGlzLmJ1dHRvbkN1c3RvbSgpO3RoaXMuc2l6ZUJ1dHRvbigpO1xuICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMuc2V0Q2xhc3NCeVR5cGUoKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzSGFuZGxlckVudGVyRG9jdW1lbnRDbGlja0J1dHRvbigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGZyb21FdmVudDxJRXZlbnQ+KGRvY3VtZW50LCAna2V5dXAnKS5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgaWYgKGUua2V5Q29kZSAhPT0gVXRpbHNLZXlDb2RlQ29uc3RhbnQuRU5URVIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5oYW5kbGVyQ2xpY2soZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiBGVU5DVElPTlMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZXJDbGljayhlOiBFdmVudCkge1xuICAgIGlmICghdGhpcy5pZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudCgpKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIGlmICh0aGlzLmRpc2FibGUoKSB8fCB0aGlzLmlzUGVuZGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3V0Q2xpY2suZW1pdChlKTtcbiAgICB0aGlzLmlzQ2xpY2suc2V0KHRydWUpO1xuICAgIHRpbWVyKDEwMCkucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pc0NsaWNrLnNldChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJDb250cm9sRXZlbnQoY29udHJvbDogSVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCkge1xuICAgIHRoaXMub3V0RnVuY3Rpb25zQ29udHJvbC5lbWl0KGNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRDbGFzc0J5VHlwZSgpIHtcbiAgICBpZiAodGhpcy50eXBlKCkuc2VhcmNoKCdidXR0b24nKSA9PT0gMCkge1xuICAgICAgdGhpcy50eXBlQnV0dG9uLnNldCh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5zZXRDbGFzc0FuZEljb25Mb2FkaW5nQnlUeXBlKCk7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy50eXBlKCkuaW5jbHVkZXMoJ2N1c3RvbScpID8gdGhpcy5idXR0b25DdXN0b20oKSA6IGdldCh0aGlzLmNvbmZpZ1Byb2plY3RTZXJ2aWNlLkNvbmZpZ0J1dHRvbigpLCB0aGlzLnR5cGUoKSk7XG5cbiAgICB0aGlzLnNldFZhcmlhYmxlU3R5bGVzKGNvbmZpZy5yb290Q29sb3IsIGNvbmZpZy5jb25maWdTdGVwQ29sb3IpO1xuICAgIGlmICghdGhpcy5zaXplQnV0dG9uIHx8ICF0aGlzLnR5cGVCdXR0b24oKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSh2YWx1ZSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfWApO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy5zaXplQnV0dG9uKCkpIHtcbiAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSh2YWx1ZSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfSBsaWJzLXVpLWJ1dHRvbi1sYXJnZWApO1xuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSh2YWx1ZSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfSBsaWJzLXVpLWJ1dHRvbi1tZWRpdW1gKTtcblxuICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLXNtYWxsYCk7XG5cbiAgICAgIGNhc2UgJ3NtYWxsZXInOlxuICAgICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKHZhbHVlID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLXNtYWxsZXJgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldENsYXNzQW5kSWNvbkxvYWRpbmdCeVR5cGUoKSB7XG4gICAgaWYgKCF0aGlzLnR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSgpLmluY2x1ZGVzKCdsaW5rJykpIHtcbiAgICAgIHRoaXMuY2xhc3NCaW5kaW5nLnNldCgnbGlicy11aS1idXR0b24gbGlicy11aS1idXR0b24tdGhlbWUgbGlicy11aS1idXR0b24tbGluayBsaWJzLXVpLWJ1dHRvbi1saW5rLW90aGVyLWNvbG9yJyk7XG4gICAgICByZXR1cm4gdGhpcy50eXBlSWNvbkxvYWRpbmcuc2V0KCdzcGluLWJsdWUnKTtcbiAgICB9XG4gICAgdGhpcy5jbGFzc0JpbmRpbmcuc2V0KCdsaWJzLXVpLWJ1dHRvbiBsaWJzLXVpLWJ1dHRvbi10aGVtZSBsaWJzLXVpLWJ1dHRvbi1vdGhlci1jb2xvcicpO1xuICAgIGlmIChbJ2J1dHRvbi1zZWNvbmRhcnknLCAnYnV0dG9uLXRoaXJkJywgJ2J1dHRvbi1vdXRsaW5lJywgJ2J1dHRvbi1vdXRsaW5lLWdyZWVuJ10uaW5jbHVkZXModGhpcy50eXBlKCkpKSB7XG4gICAgICByZXR1cm4gdGhpcy50eXBlSWNvbkxvYWRpbmcuc2V0KCdzcGluLWJsdWUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHlwZUljb25Mb2FkaW5nLnNldCgnc3Bpbi13aGl0ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRWYXJpYWJsZVN0eWxlcyhjb2xvcjogc3RyaW5nLCBjb25maWdTdGVwOiBhbnkpIHtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29sb3JzID0gY29sb3JDb250cmFzdEZyb21PcmlnaW4oY29sb3IpO1xuXG4gICAgT2JqZWN0LmtleXMoY29uZmlnU3RlcCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVTdGVwID0gZ2V0KGNvbmZpZ1N0ZXAsIGtleSk7XG4gICAgICBjb25zdCB0eXBlTGluayA9IHRoaXMudHlwZSgpLmluY2x1ZGVzKCdsaW5rJyk7XG5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWVTdGVwID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tbGlicy11aS1idXR0b24ke3R5cGVMaW5rID8gJy1saW5rJyA6ICcnfS1vdGhlci1jb2xvci0ke2tleS5yZXBsYWNlKCdfJywgJy0nKX1gLCB2YWx1ZVN0ZXApO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JzLmZpbmQoaXRlbSA9PiBpdGVtLnN0ZXAgPT09IE1hdGguYWJzKHZhbHVlU3RlcCkpO1xuXG4gICAgICB0aGlzLmJ1dHRvbkVsKCk/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tbGlicy11aS1idXR0b24ke3R5cGVMaW5rID8gJy1saW5rJyA6ICcnfS1vdGhlci1jb2xvci0ke2tleS5yZXBsYWNlKCdfJywgJy0nKX1gLCBnZXQoY29sb3IgfHwge30sIHZhbHVlU3RlcCA8IDAgPyAnZGFyaycgOiAnbGlnaHQnKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJFdmVudChldmVudDogVFlQRV9QT1BPVkVSX0VWRU5UKSB7XG4gICAgdGhpcy5vdXRQb3BvdmVyRXZlbnQuZW1pdChldmVudCk7XG4gICAgaWYgKGV2ZW50ID09PSAnY2xpY2snKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudCA9PT0gJ3JlbW92ZScpIHtcbiAgICAgIHRoaXMuaXNDbGljay5zZXQoZmFsc2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5pZ25vcmVTZXRDbGlja1doZW5TaG93UG9wb3ZlcigpKSB7XG4gICAgICB0aGlzLmlzQ2xpY2suc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub25EZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bGlic191aS1jb21wb25lbnRzLXBvcG92ZXIgW3R5cGVdPVwicG9wb3ZlcigpLnR5cGUgfHwgJ290aGVyJ1wiXG4gIFttb2RlXT1cInBvcG92ZXIoKS5tb2RlIHx8ICdob3ZlcidcIlxuICBbaWdub3JlSGlkZGVuUG9wb3ZlckNvbnRlbnRXaGVuTW91c2VMZWF2ZV09XCJwb3BvdmVyKCkuaWdub3JlSGlkZGVuUG9wb3ZlckNvbnRlbnRXaGVuTW91c2VMZWF2ZSB8fCBmYWxzZVwiXG4gIFtpZ25vcmVTaG93UG9wb3Zlcl09XCJwb3BvdmVyKCkuY29uZmlnID8gISFwb3BvdmVyKCkuaWdub3JlU2hvd1BvcG92ZXIgOiB0cnVlXCJcbiAgW2VsZW1lbnRSZWZDdXN0b21dPVwicG9wb3ZlcigpLmVsZW1lbnRSZWZDdXN0b21cIlxuICBbY29uZmlnXT1cInBvcG92ZXIoKS5jb25maWcgfHwge31cIlxuICBbZmxhZ01vdXNlXT1cImZsYWdNb3VzZSgpXCJcbiAgW2lnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50XT1cImlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50KClcIlxuICAob3V0RnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyUG9wb3ZlckNvbnRyb2xFdmVudCgkZXZlbnQpXCJcbiAgKG91dEV2ZW50KT1cImhhbmRsZXJQb3BvdmVyRXZlbnQoJGV2ZW50KVwiPlxuICA8YnV0dG9uICNidXR0b25FbFxuICAgIFtjbGFzc109XCJjbGFzc0JpbmRpbmcoKVwiXG4gICAgW2NsYXNzLmxpYnMtdWktYnV0dG9uLWRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICBbY2xhc3MucG9pbnRlci1ldmVudHMtbm9uZV09XCJkaXNhYmxlKCkgJiYgIWlnbm9yZVBvaW50ZXJFdmVudCgpXCJcbiAgICBbYXR0ci5pc1BlbmRpbmddPVwiaXNQZW5kaW5nKClcIlxuICAgIFthdHRyLmlzQ2xpY2tdPVwiaXNDbGljaygpXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJpZ25vcmVGb2N1c1doZW5JbnB1dFRhYigpPyctMSc6JzAnXCJcbiAgICBbYXR0ci5oYXNMYWJlbF09XCIoKGxhYmVsKCkgfHwgJyAnKSB8IHRyYW5zbGF0ZSkgIT09ICcgJ1wiXG4gICAgW2F0dHIuaGFzSWNvbkxlZnRdPVwiISFjbGFzc0ljb25MZWZ0KClcIlxuICAgIFthdHRyLmhhc0ljb25SaWdodF09XCIhIWNsYXNzSWNvblJpZ2h0KClcIlxuICAgIFthdHRyLmFjdGl2ZV09XCIhIWlzQWN0aXZlKClcIlxuICAgIFtuZ1N0eWxlXT1cInN0eWxlQnV0dG9uKClcIlxuICAgIChjbGljayk9XCJoYW5kbGVyQ2xpY2soJGV2ZW50KVwiPlxuICAgIEBpZiAoaW1hZ2VMZWZ0KCk7IGFzIGltYWdlQ29uZmlnKSB7XG4gICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VDb25maWcuc3JjXCJcbiAgICAgICAgW2NsYXNzXT1cImltYWdlQ29uZmlnLmNsYXNzSW5jbHVkZSB8fCAnbXItWzhweF0nXCIgLz5cbiAgICB9XG4gICAgQGlmIChjbGFzc0ljb25MZWZ0KCkgJiYgKCFpY29uT25seVR5cGUoKSB8fCAoaWNvbk9ubHlUeXBlKCkgJiYgIWlzUGVuZGluZygpKSkpIHtcbiAgICAgIDxpIFthdHRyLmljb25Pbmx5VHlwZV09XCJpY29uT25seVR5cGUoKVwiXG4gICAgICAgIFtjbGFzc109XCJjbGFzc0ljb25MZWZ0KCkgKyAnIGxpYnMtdWktYnV0dG9uLWljb24tbGVmdCdcIlxuICAgICAgICBbbmdTdHlsZV09XCJzdHlsZUljb25MZWZ0KClcIj5cbiAgICAgIDwvaT5cbiAgICB9XG4gICAgQGlmICghaWNvbk9ubHlUeXBlKCkpIHtcbiAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtcG9wb3ZlciBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbY29uZmlnXT1cIntcbiAgICAgICAgekluZGV4OiB6SW5kZXgoKSxcbiAgICAgICAgd2lkdGg6IHdpZHRoTGFiZWxQb3BvdmVyKClcbiAgICAgIH1cIlxuICAgICAgICBbY2xhc3NdPVwiKGNsYXNzTGFiZWwoKSB8fCAnJykgKyAnIGxpYnMtdWktYnV0dG9uLWxhYmVsJ1wiXG4gICAgICAgIFtpbm5lckh0bWxdPVwiKGxhYmVsKCkgfHwgJyAnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudF09XCJpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudCgpXCIgLz5cbiAgICB9XG4gICAgQGlmIChjbGFzc0ljb25SaWdodCgpICYmICghaWNvbk9ubHlUeXBlKCkgfHwgKGljb25Pbmx5VHlwZSgpICYmICFpc1BlbmRpbmcoKSkpKSB7XG4gICAgICA8aSBbYXR0ci5pY29uT25seVR5cGVdPVwiaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3NdPVwiY2xhc3NJY29uUmlnaHQoKSsnIGxpYnMtdWktYnV0dG9uLWljb24tcmlnaHQnXCI+PC9pPlxuICAgIH1cbiAgICBAaWYgKGlzUGVuZGluZygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIlxuICAgICAgICBbY2xhc3Mudy1bMTZweF1dPVwiIXR5cGVCdXR0b24oKSAmJiAhaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3MubGVmdC1bMTZweF1dPVwiIXR5cGVCdXR0b24oKSAmJiAhaWNvbk9ubHlUeXBlKClcIlxuICAgICAgICBbY2xhc3MubWwtWzhweF1dPVwidHlwZUJ1dHRvbigpICYmICFpY29uT25seVR5cGUoKVwiPlxuICAgICAgICA8bGlic191aS1jb21wb25lbnRzLXNwaW5uZXIgW3R5cGVdPVwidHlwZUljb25Mb2FkaW5nKClcIlxuICAgICAgICAgIFtzaXplXT1cInNpemVCdXR0b24oKSA9PT0gJ2xhcmdlJz8nbWVkaXVtJzpzaXplQnV0dG9uKCkgPT09ICdzbWFsbGVyJz8nc21hbGxlcic6J3NtYWxsJ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvYnV0dG9uPlxuPC9saWJzX3VpLWNvbXBvbmVudHMtcG9wb3Zlcj5cbiJdfQ==
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RLLE9BQU8sRUFBc0QsZ0NBQWdDLEVBQXNCLE1BQU0sNkJBQTZCLENBQUM7QUFDdkosT0FBTyxFQUFFLGdDQUFnQyxFQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQzdGLE9BQU8sRUFBZ0IsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWEzQyxNQUFNLE9BQU8sc0NBQXNDO0lBQ2pELG1CQUFtQjtJQUNYLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2hDLHVCQUF1QixHQUFHLE1BQU0sQ0FBMkMsU0FBUyxDQUFDLENBQUM7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RUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsQ0FBQyxtQkFDdEYsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIG91dHB1dCwgc2lnbmFsLCB1bnRyYWNrZWQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUZsYWdNb3VzZSwgSVBvcG92ZXIsIElQb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQsIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50LCBUWVBFX1BPUE9WRVJfRVZFTlQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXInO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsIFRZUEVfU1BJTk5FUiB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtc3Bpbm5lcic7XG5pbXBvcnQgeyBJQ29sb3JCdXR0b24sIExpYnNVaUNvbmZpZ1Byb2plY3RTZXJ2aWNlIH0gZnJvbSAnQGxpYnMtdWkvc2VydmljZXMtY29uZmlnLXByb2plY3QnO1xuaW1wb3J0IHsgY29sb3JDb250cmFzdEZyb21PcmlnaW4sIGdldCwgVXRpbHNLZXlDb2RlQ29uc3RhbnQgfSBmcm9tICdAbGlicy11aS91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRZUEVfQlVUVE9OLCBUWVBFX1NJWkVfQlVUVE9OIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2J1dHRvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1idXR0b25zLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nU3R5bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNCdXR0b25zQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLy8gI3JlZ2lvbiBQUk9QRVJUWVxuICBwcml2YXRlIG9uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgZnVuY3Rpb25zQ29udHJvbFBvcG92ZXIgPSBzaWduYWw8SVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBwcm90ZWN0ZWQgY2xhc3NCaW5kaW5nID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIGlzQ2xpY2sgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgdHlwZUljb25Mb2FkaW5nID0gc2lnbmFsPFRZUEVfU1BJTk5FUj4oJ3NwaW4tYmx1ZScpO1xuICBwcm90ZWN0ZWQgdHlwZUJ1dHRvbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBjb25maWdQcm9qZWN0U2VydmljZSA9IGluamVjdChMaWJzVWlDb25maWdQcm9qZWN0U2VydmljZSk7XG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSBmbGFnTW91c2UgPSBpbnB1dDxJRmxhZ01vdXNlPih7IGlzTW91c2VFbnRlcjogZmFsc2UsIGlzTW91c2VFbnRlckNvbnRlbnQ6IGZhbHNlLCBpc0NvbnRhaW5lckhhc1Njcm9sbDogZmFsc2UgfSk7XG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDxUWVBFX0JVVFRPTj4oJ2J1dHRvbi1wcmltYXJ5Jyk7XG4gIHJlYWRvbmx5IGJ1dHRvbkN1c3RvbSA9IGlucHV0PElDb2xvckJ1dHRvbj4oKTsgLy8gYuG6r3QgYnXhu5ljIGtoaSB0eXBlIGzDoCBidXR0b24tY3VzdG9tIGhv4bq3YyBidXR0b24tbGluay1jdXN0b21cbiAgcmVhZG9ubHkgc2l6ZUJ1dHRvbiA9IGlucHV0PFRZUEVfU0laRV9CVVRUT04sIFRZUEVfU0laRV9CVVRUT04gfCB1bmRlZmluZWQ+KCdtZWRpdW0nLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyAnbWVkaXVtJyB9KTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcgJyk7XG4gIHJlYWRvbmx5IGRpc2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGlzUGVuZGluZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGltYWdlTGVmdCA9IGlucHV0PHsgc3JjOiBzdHJpbmc7IGNsYXNzSW5jbHVkZT86IHN0cmluZyB9PigpO1xuICByZWFkb25seSBjbGFzc0luY2x1ZGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgY2xhc3NJY29uTGVmdCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGFzc0ljb25SaWdodCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBjbGFzc0xhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGljb25Pbmx5VHlwZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcG9wb3ZlciA9IGlucHV0PElQb3BvdmVyPih7fSk7XG4gIHJlYWRvbmx5IGlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50ID0gaW5wdXQ8Ym9vbGVhbiwgYm9vbGVhbiB8IHVuZGVmaW5lZD4odHJ1ZSwgeyB0cmFuc2Zvcm06ICh2YWwpID0+IHZhbCA/PyB0cnVlIH0pO1xuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXI+KDEwKTtcbiAgcmVhZG9ubHkgd2lkdGhMYWJlbFBvcG92ZXIgPSBpbnB1dDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHN0eWxlSWNvbkxlZnQgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+PigpO1xuICByZWFkb25seSBzdHlsZUJ1dHRvbiA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZUZvY3VzV2hlbklucHV0VGFiID0gaW5wdXQ8Ym9vbGVhbj4oKTsgLy8gZMO5bmcgxJHhu4MgYuG7jyBxdWEgZm9jdXMga2hpIGLhuqVtIG7DunQgVEFCIHThu6sgYsOhbiBwaMOtbVxuICByZWFkb25seSBpZ25vcmVTZXRDbGlja1doZW5TaG93UG9wb3ZlciA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZVBvaW50ZXJFdmVudCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlzQWN0aXZlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgaXNIYW5kbGVyRW50ZXJEb2N1bWVudENsaWNrQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICByZWFkb25seSBvdXRDbGljayA9IG91dHB1dDxFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0UG9wb3ZlckV2ZW50ID0gb3V0cHV0PFRZUEVfUE9QT1ZFUl9FVkVOVD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25zQ29udHJvbCA9IG91dHB1dDxJUG9wb3ZlckZ1bmN0aW9uQ29udHJvbEV2ZW50PigpO1xuXG4gIC8qIFZJRVcgQ0hJTEQgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBidXR0b25FbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPignYnV0dG9uRWwnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy50eXBlKCk7XG4gICAgICB0aGlzLmJ1dHRvbkN1c3RvbSgpO1xuICAgICAgdGhpcy5zaXplQnV0dG9uKCk7XG4gICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZXRDbGFzc0J5VHlwZSgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNIYW5kbGVyRW50ZXJEb2N1bWVudENsaWNrQnV0dG9uKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnJvbUV2ZW50PElFdmVudD4oZG9jdW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICBpZiAoZS5rZXlDb2RlICE9PSBVdGlsc0tleUNvZGVDb25zdGFudC5FTlRFUikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZXJDbGljayhlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBoYW5kbGVyQ2xpY2soZTogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuaWdub3JlU3RvcFByb3BhZ2F0aW9uRXZlbnQoKSkge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5idXR0b25FbCgpPy5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlKCkgfHwgdGhpcy5pc1BlbmRpbmcoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm91dENsaWNrLmVtaXQoZSk7XG4gICAgdGhpcy5pc0NsaWNrLnNldCh0cnVlKTtcbiAgICB0aW1lcigxMDApXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDbGljay5zZXQoZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlclBvcG92ZXJDb250cm9sRXZlbnQoY29udHJvbDogSVBvcG92ZXJGdW5jdGlvbkNvbnRyb2xFdmVudCkge1xuICAgIHRoaXMuZnVuY3Rpb25zQ29udHJvbFBvcG92ZXIuc2V0KGNvbnRyb2wpO1xuICAgIHRoaXMub3V0RnVuY3Rpb25zQ29udHJvbC5lbWl0KGNvbnRyb2wpO1xuICB9XG5cbiAgcHVibGljIGdldCBGdW5jdGlvbnNDb250cm9sKCk6IElQb3BvdmVyRnVuY3Rpb25Db250cm9sRXZlbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uc0NvbnRyb2xQb3BvdmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldENsYXNzQnlUeXBlKCkge1xuICAgIGlmICh0aGlzLnR5cGUoKS5zZWFyY2goJ2J1dHRvbicpID09PSAwKSB7XG4gICAgICB0aGlzLnR5cGVCdXR0b24uc2V0KHRydWUpO1xuICAgIH1cbiAgICB0aGlzLnNldENsYXNzQW5kSWNvbkxvYWRpbmdCeVR5cGUoKTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLnR5cGUoKS5pbmNsdWRlcygnY3VzdG9tJykgPyB0aGlzLmJ1dHRvbkN1c3RvbSgpIDogZ2V0KHRoaXMuY29uZmlnUHJvamVjdFNlcnZpY2UuQ29uZmlnQnV0dG9uKCksIHRoaXMudHlwZSgpKTtcblxuICAgIHRoaXMuc2V0VmFyaWFibGVTdHlsZXMoY29uZmlnLnJvb3RDb2xvciwgY29uZmlnLmNvbmZpZ1N0ZXBDb2xvcik7XG4gICAgaWYgKCF0aGlzLnNpemVCdXR0b24gfHwgIXRoaXMudHlwZUJ1dHRvbigpKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbGFzc0JpbmRpbmcudXBkYXRlKCh2YWx1ZSkgPT4gYCR7dmFsdWV9ICR7dGhpcy5jbGFzc0luY2x1ZGUoKX1gKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZUJ1dHRvbigpKSB7XG4gICAgICBjYXNlICdsYXJnZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmNsYXNzQmluZGluZy51cGRhdGUoKHZhbHVlKSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfSBsaWJzLXVpLWJ1dHRvbi1sYXJnZWApO1xuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSgodmFsdWUpID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLW1lZGl1bWApO1xuXG4gICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNsYXNzQmluZGluZy51cGRhdGUoKHZhbHVlKSA9PiBgJHt2YWx1ZX0gJHt0aGlzLmNsYXNzSW5jbHVkZSgpfSBsaWJzLXVpLWJ1dHRvbi1zbWFsbGApO1xuXG4gICAgICBjYXNlICdzbWFsbGVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xhc3NCaW5kaW5nLnVwZGF0ZSgodmFsdWUpID0+IGAke3ZhbHVlfSAke3RoaXMuY2xhc3NJbmNsdWRlKCl9IGxpYnMtdWktYnV0dG9uLXNtYWxsZXJgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldENsYXNzQW5kSWNvbkxvYWRpbmdCeVR5cGUoKSB7XG4gICAgaWYgKCF0aGlzLnR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSgpLmluY2x1ZGVzKCdsaW5rJykpIHtcbiAgICAgIHRoaXMuY2xhc3NCaW5kaW5nLnNldCgnbGlicy11aS1idXR0b24gbGlicy11aS1idXR0b24tdGhlbWUgbGlicy11aS1idXR0b24tbGluayBsaWJzLXVpLWJ1dHRvbi1saW5rLW90aGVyLWNvbG9yJyk7XG4gICAgICByZXR1cm4gdGhpcy50eXBlSWNvbkxvYWRpbmcuc2V0KCdzcGluLWJsdWUnKTtcbiAgICB9XG4gICAgdGhpcy5jbGFzc0JpbmRpbmcuc2V0KCdsaWJzLXVpLWJ1dHRvbiBsaWJzLXVpLWJ1dHRvbi10aGVtZSBsaWJzLXVpLWJ1dHRvbi1vdGhlci1jb2xvcicpO1xuICAgIGlmIChbJ2J1dHRvbi1zZWNvbmRhcnknLCAnYnV0dG9uLXRoaXJkJywgJ2J1dHRvbi1vdXRsaW5lJywgJ2J1dHRvbi1vdXRsaW5lLWdyZWVuJ10uaW5jbHVkZXModGhpcy50eXBlKCkpKSB7XG4gICAgICByZXR1cm4gdGhpcy50eXBlSWNvbkxvYWRpbmcuc2V0KCdzcGluLWJsdWUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHlwZUljb25Mb2FkaW5nLnNldCgnc3Bpbi13aGl0ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRWYXJpYWJsZVN0eWxlcyhjb2xvcjogc3RyaW5nLCBjb25maWdTdGVwOiBhbnkpIHtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29sb3JzID0gY29sb3JDb250cmFzdEZyb21PcmlnaW4oY29sb3IpO1xuXG4gICAgT2JqZWN0LmtleXMoY29uZmlnU3RlcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVN0ZXAgPSBnZXQoY29uZmlnU3RlcCwga2V5KTtcbiAgICAgIGNvbnN0IHR5cGVMaW5rID0gdGhpcy50eXBlKCkuaW5jbHVkZXMoJ2xpbmsnKTtcblxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZVN0ZXAgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uRWwoKT8ubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS1saWJzLXVpLWJ1dHRvbiR7dHlwZUxpbmsgPyAnLWxpbmsnIDogJyd9LW90aGVyLWNvbG9yLSR7a2V5LnJlcGxhY2UoJ18nLCAnLScpfWAsIHZhbHVlU3RlcCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29sb3IgPSBjb2xvcnMuZmluZCgoaXRlbSkgPT4gaXRlbS5zdGVwID09PSBNYXRoLmFicyh2YWx1ZVN0ZXApKTtcblxuICAgICAgdGhpcy5idXR0b25FbCgpPy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLWxpYnMtdWktYnV0dG9uJHt0eXBlTGluayA/ICctbGluaycgOiAnJ30tb3RoZXItY29sb3ItJHtrZXkucmVwbGFjZSgnXycsICctJyl9YCwgZ2V0KGNvbG9yIHx8IHt9LCB2YWx1ZVN0ZXAgPCAwID8gJ2RhcmsnIDogJ2xpZ2h0JykpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJQb3BvdmVyRXZlbnQoZXZlbnQ6IFRZUEVfUE9QT1ZFUl9FVkVOVCkge1xuICAgIHRoaXMub3V0UG9wb3ZlckV2ZW50LmVtaXQoZXZlbnQpO1xuICAgIGlmIChldmVudCA9PT0gJ2NsaWNrJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQgPT09ICdyZW1vdmUnKSB7XG4gICAgICB0aGlzLmlzQ2xpY2suc2V0KGZhbHNlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaWdub3JlU2V0Q2xpY2tXaGVuU2hvd1BvcG92ZXIoKSkge1xuICAgICAgdGhpcy5pc0NsaWNrLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGxpYnNfdWktY29tcG9uZW50cy1wb3BvdmVyXG4gIFt0eXBlXT1cInBvcG92ZXIoKS50eXBlIHx8ICdvdGhlcidcIlxuICBbbW9kZV09XCJwb3BvdmVyKCkubW9kZSB8fCAnaG92ZXInXCJcbiAgW2lnbm9yZUhpZGRlblBvcG92ZXJDb250ZW50V2hlbk1vdXNlTGVhdmVdPVwicG9wb3ZlcigpLmlnbm9yZUhpZGRlblBvcG92ZXJDb250ZW50V2hlbk1vdXNlTGVhdmUgfHwgZmFsc2VcIlxuICBbaWdub3JlU2hvd1BvcG92ZXJdPVwicG9wb3ZlcigpLmNvbmZpZyA/ICEhcG9wb3ZlcigpLmlnbm9yZVNob3dQb3BvdmVyIDogdHJ1ZVwiXG4gIFtlbGVtZW50UmVmQ3VzdG9tXT1cInBvcG92ZXIoKS5lbGVtZW50UmVmQ3VzdG9tXCJcbiAgW2NvbmZpZ109XCJwb3BvdmVyKCkuY29uZmlnIHx8IHt9XCJcbiAgW2ZsYWdNb3VzZV09XCJmbGFnTW91c2UoKVwiXG4gIFtpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudF09XCJpZ25vcmVTdG9wUHJvcGFnYXRpb25FdmVudCgpXCJcbiAgKG91dEZ1bmN0aW9uc0NvbnRyb2wpPVwiaGFuZGxlclBvcG92ZXJDb250cm9sRXZlbnQoJGV2ZW50KVwiXG4gIChvdXRFdmVudCk9XCJoYW5kbGVyUG9wb3ZlckV2ZW50KCRldmVudClcIj5cbiAgPGJ1dHRvblxuICAgICNidXR0b25FbFxuICAgIFtjbGFzc109XCJjbGFzc0JpbmRpbmcoKVwiXG4gICAgW2NsYXNzLmxpYnMtdWktYnV0dG9uLWRpc2FibGVdPVwiZGlzYWJsZSgpXCJcbiAgICBbY2xhc3MucG9pbnRlci1ldmVudHMtbm9uZV09XCJkaXNhYmxlKCkgJiYgIWlnbm9yZVBvaW50ZXJFdmVudCgpXCJcbiAgICBbYXR0ci5pc1BlbmRpbmddPVwiaXNQZW5kaW5nKClcIlxuICAgIFthdHRyLmlzQ2xpY2tdPVwiaXNDbGljaygpXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJpZ25vcmVGb2N1c1doZW5JbnB1dFRhYigpID8gJy0xJyA6ICcwJ1wiXG4gICAgW2F0dHIuaGFzTGFiZWxdPVwiKGxhYmVsKCkgfHwgJyAnIHwgdHJhbnNsYXRlKSAhPT0gJyAnXCJcbiAgICBbYXR0ci5oYXNJY29uTGVmdF09XCIhIWNsYXNzSWNvbkxlZnQoKVwiXG4gICAgW2F0dHIuaGFzSWNvblJpZ2h0XT1cIiEhY2xhc3NJY29uUmlnaHQoKVwiXG4gICAgW2F0dHIuYWN0aXZlXT1cIiEhaXNBY3RpdmUoKVwiXG4gICAgW25nU3R5bGVdPVwic3R5bGVCdXR0b24oKVwiXG4gICAgKGNsaWNrKT1cImhhbmRsZXJDbGljaygkZXZlbnQpXCI+XG4gICAgQGlmIChpbWFnZUxlZnQoKTsgYXMgaW1hZ2VDb25maWcpIHtcbiAgICAgIDxpbWdcbiAgICAgICAgW3NyY109XCJpbWFnZUNvbmZpZy5zcmNcIlxuICAgICAgICBbY2xhc3NdPVwiaW1hZ2VDb25maWcuY2xhc3NJbmNsdWRlIHx8ICdtci1bOHB4XSdcIiAvPlxuICAgIH1cbiAgICBAaWYgKGNsYXNzSWNvbkxlZnQoKSAmJiAoIWljb25Pbmx5VHlwZSgpIHx8IChpY29uT25seVR5cGUoKSAmJiAhaXNQZW5kaW5nKCkpKSkge1xuICAgICAgPGlcbiAgICAgICAgW2F0dHIuaWNvbk9ubHlUeXBlXT1cImljb25Pbmx5VHlwZSgpXCJcbiAgICAgICAgW2NsYXNzXT1cImNsYXNzSWNvbkxlZnQoKSArICcgbGlicy11aS1idXR0b24taWNvbi1sZWZ0J1wiXG4gICAgICAgIFtuZ1N0eWxlXT1cInN0eWxlSWNvbkxlZnQoKVwiPjwvaT5cbiAgICB9XG4gICAgQGlmICghaWNvbk9ubHlUeXBlKCkpIHtcbiAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtcG9wb3ZlclxuICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbY29uZmlnXT1cIntcbiAgICAgICAgICB6SW5kZXg6IHpJbmRleCgpLFxuICAgICAgICAgIHdpZHRoOiB3aWR0aExhYmVsUG9wb3ZlcigpLFxuICAgICAgICB9XCJcbiAgICAgICAgW2NsYXNzXT1cIihjbGFzc0xhYmVsKCkgfHwgJycpICsgJyBsaWJzLXVpLWJ1dHRvbi1sYWJlbCdcIlxuICAgICAgICBbaW5uZXJIdG1sXT1cImxhYmVsKCkgfHwgJyAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2lnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50XT1cImlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50KClcIiAvPlxuICAgIH1cbiAgICBAaWYgKGNsYXNzSWNvblJpZ2h0KCkgJiYgKCFpY29uT25seVR5cGUoKSB8fCAoaWNvbk9ubHlUeXBlKCkgJiYgIWlzUGVuZGluZygpKSkpIHtcbiAgICAgIDxpXG4gICAgICAgIFthdHRyLmljb25Pbmx5VHlwZV09XCJpY29uT25seVR5cGUoKVwiXG4gICAgICAgIFtjbGFzc109XCJjbGFzc0ljb25SaWdodCgpICsgJyBsaWJzLXVpLWJ1dHRvbi1pY29uLXJpZ2h0J1wiPjwvaT5cbiAgICB9XG4gICAgQGlmIChpc1BlbmRpbmcoKSkge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInJlbGF0aXZlXCJcbiAgICAgICAgW2NsYXNzLnctWzE2cHhdXT1cIiF0eXBlQnV0dG9uKCkgJiYgIWljb25Pbmx5VHlwZSgpXCJcbiAgICAgICAgW2NsYXNzLmxlZnQtWzE2cHhdXT1cIiF0eXBlQnV0dG9uKCkgJiYgIWljb25Pbmx5VHlwZSgpXCJcbiAgICAgICAgW2NsYXNzLm1sLVs4cHhdXT1cInR5cGVCdXR0b24oKSAmJiAhaWNvbk9ubHlUeXBlKClcIj5cbiAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1zcGlubmVyXG4gICAgICAgICAgW3R5cGVdPVwidHlwZUljb25Mb2FkaW5nKClcIlxuICAgICAgICAgIFtzaXplXT1cInNpemVCdXR0b24oKSA9PT0gJ2xhcmdlJyA/ICdtZWRpdW0nIDogc2l6ZUJ1dHRvbigpID09PSAnc21hbGxlcicgPyAnc21hbGxlcicgOiAnc21hbGwnXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9idXR0b24+XG48L2xpYnNfdWktY29tcG9uZW50cy1wb3BvdmVyPlxuIl19
|
package/esm2022/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './button.component';
|
|
2
2
|
export * from './interfaces';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi9zcmMvaW50ZXJmYWNlcy9idXR0b24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9wb3ZlciB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtcG9wb3Zlcic7XG5pbXBvcnQgeyBJQ29sb3JCdXR0b24gfSBmcm9tICdAbGlicy11aS9zZXJ2aWNlcy1jb25maWctcHJvamVjdCc7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1dHRvbiB7XG4gIGtleT86IHN0cmluZztcbiAgdHlwZT86IFRZUEVfQlVUVE9OO1xuICBzaXplQnV0dG9uPzogVFlQRV9TSVpFX0JVVFRPTjtcbiAgaWNvbk9ubHlUeXBlPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGRpc2FibGU/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gIGNsYXNzSWNvbkxlZnQ/OiBzdHJpbmc7XG4gIGNsYXNzSWNvblJpZ2h0Pzogc3RyaW5nO1xuICBjbGFzc0xhYmVsPzogc3RyaW5nO1xuICBwb3BvdmVyPzogSVBvcG92ZXI7XG4gIGlnbm9yZVN0b3BQcm9wYWdhdGlvbkV2ZW50PzogYm9vbGVhbjtcbiAgekluZGV4PzogbnVtYmVyO1xuICBpc1BlbmRpbmc/OiBib29sZWFuO1xuICBhY3Rpb24/OiAoZGF0YT86IGFueSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgc3R5bGVJY29uTGVmdD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHN0eWxlQnV0dG9uPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgYnV0dG9uQ3VzdG9tPzogSUNvbG9yQnV0dG9uOyAvLyBi4bqvdCBideG7mWMga2hpIHR5cGUgbMOgIGJ1dHRvbi1jdXN0b21cbn1cblxuZXhwb3J0IHR5cGUgVFlQRV9CVVRUT04gPVxuICB8ICdidXR0b24tcHJpbWFyeSdcbiAgfCAnYnV0dG9uLXByaW1hcnktcmV2ZXJ0J1xuICB8ICdidXR0b24tc2Vjb25kYXJ5J1xuICB8ICdidXR0b24tc2Vjb25kYXJ5LXJlZCdcbiAgfCAnYnV0dG9uLW91dGxpbmUtc2Vjb25kYXJ5J1xuICB8ICdidXR0b24tdGhpcmQnXG4gIHwgJ2J1dHRvbi1vdXRsaW5lJ1xuICB8ICdidXR0b24tZGFuZ2VyLWhpZ2gnXG4gIHwgJ2J1dHRvbi1vdXRsaW5lLWhvdmVyLWRhbmdlcidcbiAgfCAnYnV0dG9uLXRoaXJkLWhvdmVyLWRhbmdlcidcbiAgfCAnYnV0dG9uLWRhbmdlci1sb3cnXG4gIHwgJ2J1dHRvbi1ncmVlbidcbiAgfCAnYnV0dG9uLXZpb2xldCdcbiAgfCAnYnV0dG9uLXNlY29uZGFyeS1ncmVlbidcbiAgfCAnYnV0dG9uLW91dGxpbmUtZ3JlZW4nXG4gIHwgJ2J1dHRvbi1jdXN0b20nXG4gIHwgJ2J1dHRvbi1saW5rLXByaW1hcnknXG4gIHwgJ2J1dHRvbi1saW5rLXRoaXJkJ1xuICB8ICdidXR0b24tbGluay1kYW5nZXItaGlnaCdcbiAgfCAnYnV0dG9uLWxpbmstZGFuZ2VyLWxvdydcbiAgfCAnYnV0dG9uLWxpbmstZ3JlZW4nXG4gIHwgJ2J1dHRvbi1saW5rLXZpb2xldCdcbiAgfCAnYnV0dG9uLWxpbmstY3VzdG9tJ1xuICB8IHN0cmluZztcblxuZXhwb3J0IHR5cGUgVFlQRV9TSVpFX0JVVFRPTiA9ICdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgfCAnc21hbGxlcic7XG4iXX0=
|
|
@@ -14,6 +14,7 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
14
14
|
class LibsUiComponentsButtonsButtonComponent {
|
|
15
15
|
// #region PROPERTY
|
|
16
16
|
onDestroy = new Subject();
|
|
17
|
+
functionsControlPopover = signal(undefined);
|
|
17
18
|
classBinding = signal('');
|
|
18
19
|
isClick = signal(false);
|
|
19
20
|
typeIconLoading = signal('spin-blue');
|
|
@@ -23,7 +24,7 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
23
24
|
flagMouse = input({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });
|
|
24
25
|
type = input('button-primary');
|
|
25
26
|
buttonCustom = input(); // bắt buộc khi type là button-custom hoặc button-link-custom
|
|
26
|
-
sizeButton = input('medium', { transform: value => value ?? 'medium' });
|
|
27
|
+
sizeButton = input('medium', { transform: (value) => value ?? 'medium' });
|
|
27
28
|
label = input(' ');
|
|
28
29
|
disable = input(false);
|
|
29
30
|
isPending = input();
|
|
@@ -34,7 +35,7 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
34
35
|
classLabel = input('');
|
|
35
36
|
iconOnlyType = input(false);
|
|
36
37
|
popover = input({});
|
|
37
|
-
ignoreStopPropagationEvent = input(true, { transform: val => val ?? true });
|
|
38
|
+
ignoreStopPropagationEvent = input(true, { transform: (val) => val ?? true });
|
|
38
39
|
zIndex = input(10);
|
|
39
40
|
widthLabelPopover = input();
|
|
40
41
|
styleIconLeft = input();
|
|
@@ -62,7 +63,9 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
62
63
|
if (!this.isHandlerEnterDocumentClickButton()) {
|
|
63
64
|
return;
|
|
64
65
|
}
|
|
65
|
-
fromEvent(document, 'keyup')
|
|
66
|
+
fromEvent(document, 'keyup')
|
|
67
|
+
.pipe(takeUntil(this.onDestroy))
|
|
68
|
+
.subscribe((e) => {
|
|
66
69
|
if (e.keyCode !== UtilsKeyCodeConstant.ENTER) {
|
|
67
70
|
return;
|
|
68
71
|
}
|
|
@@ -80,13 +83,19 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
80
83
|
}
|
|
81
84
|
this.outClick.emit(e);
|
|
82
85
|
this.isClick.set(true);
|
|
83
|
-
timer(100)
|
|
86
|
+
timer(100)
|
|
87
|
+
.pipe(takeUntil(this.onDestroy))
|
|
88
|
+
.subscribe(() => {
|
|
84
89
|
this.isClick.set(false);
|
|
85
90
|
});
|
|
86
91
|
}
|
|
87
92
|
async handlerPopoverControlEvent(control) {
|
|
93
|
+
this.functionsControlPopover.set(control);
|
|
88
94
|
this.outFunctionsControl.emit(control);
|
|
89
95
|
}
|
|
96
|
+
get FunctionsControl() {
|
|
97
|
+
return this.functionsControlPopover();
|
|
98
|
+
}
|
|
90
99
|
async setClassByType() {
|
|
91
100
|
if (this.type().search('button') === 0) {
|
|
92
101
|
this.typeButton.set(true);
|
|
@@ -95,17 +104,17 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
95
104
|
const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());
|
|
96
105
|
this.setVariableStyles(config.rootColor, config.configStepColor);
|
|
97
106
|
if (!this.sizeButton || !this.typeButton()) {
|
|
98
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()}`);
|
|
107
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()}`);
|
|
99
108
|
}
|
|
100
109
|
switch (this.sizeButton()) {
|
|
101
110
|
case 'large':
|
|
102
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-large`);
|
|
111
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-large`);
|
|
103
112
|
case 'medium':
|
|
104
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-medium`);
|
|
113
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-medium`);
|
|
105
114
|
case 'small':
|
|
106
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-small`);
|
|
115
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-small`);
|
|
107
116
|
case 'smaller':
|
|
108
|
-
return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-smaller`);
|
|
117
|
+
return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-smaller`);
|
|
109
118
|
}
|
|
110
119
|
}
|
|
111
120
|
async setClassAndIconLoadingByType() {
|
|
@@ -127,14 +136,14 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
127
136
|
return;
|
|
128
137
|
}
|
|
129
138
|
const colors = colorContrastFromOrigin(color);
|
|
130
|
-
Object.keys(configStep).forEach(key => {
|
|
139
|
+
Object.keys(configStep).forEach((key) => {
|
|
131
140
|
const valueStep = get(configStep, key);
|
|
132
141
|
const typeLink = this.type().includes('link');
|
|
133
142
|
if (typeof valueStep === 'string') {
|
|
134
143
|
this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);
|
|
135
144
|
return;
|
|
136
145
|
}
|
|
137
|
-
const color = colors.find(item => item.step === Math.abs(valueStep));
|
|
146
|
+
const color = colors.find((item) => item.step === Math.abs(valueStep));
|
|
138
147
|
this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));
|
|
139
148
|
});
|
|
140
149
|
}
|
|
@@ -156,15 +165,11 @@ class LibsUiComponentsButtonsButtonComponent {
|
|
|
156
165
|
this.onDestroy.complete();
|
|
157
166
|
}
|
|
158
167
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, buttonCustom: { classPropertyName: "buttonCustom", publicName: "buttonCustom", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHandlerEnterDocumentClickButton: { classPropertyName: "isHandlerEnterDocumentClickButton", publicName: "isHandlerEnterDocumentClickButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
168
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsButtonsButtonComponent, isStandalone: true, selector: "libs_ui-components-buttons-button", inputs: { flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, buttonCustom: { classPropertyName: "buttonCustom", publicName: "buttonCustom", isSignal: true, isRequired: false, transformFunction: null }, sizeButton: { classPropertyName: "sizeButton", publicName: "sizeButton", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, isPending: { classPropertyName: "isPending", publicName: "isPending", isSignal: true, isRequired: false, transformFunction: null }, imageLeft: { classPropertyName: "imageLeft", publicName: "imageLeft", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classIconLeft: { classPropertyName: "classIconLeft", publicName: "classIconLeft", isSignal: true, isRequired: false, transformFunction: null }, classIconRight: { classPropertyName: "classIconRight", publicName: "classIconRight", isSignal: true, isRequired: false, transformFunction: null }, classLabel: { classPropertyName: "classLabel", publicName: "classLabel", isSignal: true, isRequired: false, transformFunction: null }, iconOnlyType: { classPropertyName: "iconOnlyType", publicName: "iconOnlyType", isSignal: true, isRequired: false, transformFunction: null }, popover: { classPropertyName: "popover", publicName: "popover", isSignal: true, isRequired: false, transformFunction: null }, ignoreStopPropagationEvent: { classPropertyName: "ignoreStopPropagationEvent", publicName: "ignoreStopPropagationEvent", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, widthLabelPopover: { classPropertyName: "widthLabelPopover", publicName: "widthLabelPopover", isSignal: true, isRequired: false, transformFunction: null }, styleIconLeft: { classPropertyName: "styleIconLeft", publicName: "styleIconLeft", isSignal: true, isRequired: false, transformFunction: null }, styleButton: { classPropertyName: "styleButton", publicName: "styleButton", isSignal: true, isRequired: false, transformFunction: null }, ignoreFocusWhenInputTab: { classPropertyName: "ignoreFocusWhenInputTab", publicName: "ignoreFocusWhenInputTab", isSignal: true, isRequired: false, transformFunction: null }, ignoreSetClickWhenShowPopover: { classPropertyName: "ignoreSetClickWhenShowPopover", publicName: "ignoreSetClickWhenShowPopover", isSignal: true, isRequired: false, transformFunction: null }, ignorePointerEvent: { classPropertyName: "ignorePointerEvent", publicName: "ignorePointerEvent", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isHandlerEnterDocumentClickButton: { classPropertyName: "isHandlerEnterDocumentClickButton", publicName: "isHandlerEnterDocumentClickButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClick: "outClick", outPopoverEvent: "outPopoverEvent", outFunctionsControl: "outFunctionsControl" }, viewQueries: [{ propertyName: "buttonEl", first: true, predicate: ["buttonEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<libs_ui-components-popover\n [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button\n #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab() ? '-1' : '0'\"\n [attr.hasLabel]=\"(label() || ' ' | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img\n [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\"></i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover\n [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover(),\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"label() || ' ' | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight() + ' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div\n class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner\n [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large' ? 'medium' : sizeButton() === 'smaller' ? 'smaller' : 'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "initEventInElementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
160
169
|
}
|
|
161
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsButtonsButtonComponent, decorators: [{
|
|
162
171
|
type: Component,
|
|
163
|
-
args: [{ selector: 'libs_ui-components-buttons-button', standalone: true, imports: [
|
|
164
|
-
NgStyle, TranslateModule,
|
|
165
|
-
LibsUiComponentsSpinnerComponent,
|
|
166
|
-
LibsUiComponentsPopoverComponent
|
|
167
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
|
|
172
|
+
args: [{ selector: 'libs_ui-components-buttons-button', standalone: true, imports: [NgStyle, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiComponentsPopoverComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<libs_ui-components-popover\n [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button\n #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab() ? '-1' : '0'\"\n [attr.hasLabel]=\"(label() || ' ' | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img\n [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\"></i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover\n [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover(),\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"label() || ' ' | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight() + ' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div\n class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner\n [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large' ? 'medium' : sizeButton() === 'smaller' ? 'smaller' : 'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n", styles: [".libs-ui-button{display:flex;align-items:center;text-align:center;color:#fff;cursor:pointer}.libs-ui-button.libs-ui-button-theme{display:flex;align-items:center;font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);text-align:center;color:#fff;border:none;border-radius:4px;cursor:pointer}.libs-ui-button.libs-ui-button-theme:focus,.libs-ui-button.libs-ui-button-theme[isClick=true]{outline:none;box-shadow:none}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-left[iconOnlyType=false]{margin-right:8px}.libs-ui-button.libs-ui-button-theme .libs-ui-button-icon-right[iconOnlyType=false]{margin-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large{border-radius:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=true]{padding:9px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-large, 20px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large[hasLabel=false]{padding:11px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-large span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-large .libs-ui-button-label{font-size:var(--libs-ui-button-size-large-font-size, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-large-line-height, 24px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=true]{padding:6px 16px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconLeft=true]{padding-left:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasIconRight=true]{padding-right:12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium[hasLabel=false]{padding:7px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-medium, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-medium .libs-ui-button-label{font-size:var(--libs-ui-button-size-medium-font-size, 12px);line-height:var(--libs-ui-button-size-medium-line-height, 18px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=true]{padding:4px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small[hasLabel=false]{padding:5px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-small, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-small span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-small .libs-ui-button-label{font-size:var(--libs-ui-button-size-small-font-size, 12px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500;line-height:var(--libs-ui-button-size-small-line-height, 18px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=true]{padding:1px 12px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconLeft=true]{padding-left:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasIconRight=true]{padding-right:8px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller[hasLabel=false]{padding:1px}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller>[class*=libs-ui-button-icon]{font-size:var(--libs-ui-button-size-icon-smaller, 16px)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller span,.libs-ui-button.libs-ui-button-theme.libs-ui-button-smaller .libs-ui-button-label{font-size:var(--libs-ui-button-size-smaller-font-size, 11px);line-height:var(--libs-ui-button-size-smaller-line-height, 16px);font-family:var(--libs-ui-font-family-name, \"Arial\");font-weight:500}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color{color:var(--libs-ui-button-other-color-text, white);background:var(--libs-ui-button-other-color-background, #226ff5);border:1px solid var(--libs-ui-button-other-color-border, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]{color:var(--libs-ui-button-other-color-text-hover, white);background:var(--libs-ui-button-other-color-background-hover, #4e8cf7);border:1px solid var(--libs-ui-button-other-color-border-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-hover, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]{color:var(--libs-ui-button-other-color-text-active, white);background:var(--libs-ui-button-other-color-background-active, #1b59c4);border:1px solid var(--libs-ui-button-other-color-border-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-active, white)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable{cursor:not-allowed;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important;background:var(--libs-ui-button-other-color-background-disable, #f8f9fa);border:1px solid var(--libs-ui-button-other-color-border-disable, #f8f9fa)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-disable:hover>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme[isPending=true]{cursor:not-allowed;pointer-events:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link{padding:0;background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isClick=true]{background:none;border:none}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text, #226ff5)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:hover>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isPending=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #4e8cf7)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true],.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]{color:var(--libs-ui-button-link-other-color-text-active, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:active>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[active=true]>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color:focus>[class*=libs-ui-button-icon]:before,.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-link-other-color[isClick=true]>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-link-other-color-text-hover, #1b59c4)}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable{cursor:not-allowed;pointer-events:none;color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link.libs-ui-button-disable>[class*=libs-ui-button-icon]:before{color:var(--libs-ui-button-other-color-text-disable, #cdd0d6)!important}.libs-ui-button.libs-ui-button-theme.libs-ui-button-link[isPending=true]{cursor:not-allowed;pointer-events:none}.mo-button-custom-color-icon:before{color:inherit!important}\n"] }]
|
|
168
173
|
}], ctorParameters: () => [] });
|
|
169
174
|
|
|
170
175
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-components-buttons-button.mjs","sources":["../../../../../../libs-ui/components/buttons/button/src/button.component.ts","../../../../../../libs-ui/components/buttons/button/src/button.component.html","../../../../../../libs-ui/components/buttons/button/src/libs-ui-components-buttons-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NgStyle } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, OnDestroy, output, signal, untracked, viewChild } from '@angular/core';\nimport { IFlagMouse, IPopover, IPopoverFunctionControlEvent, LibsUiComponentsPopoverComponent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { LibsUiComponentsSpinnerComponent, TYPE_SPINNER } from '@libs-ui/components-spinner';\nimport { IColorButton, LibsUiConfigProjectService } from '@libs-ui/services-config-project';\nimport { colorContrastFromOrigin, get, UtilsKeyCodeConstant } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TYPE_BUTTON, TYPE_SIZE_BUTTON } from './interfaces/button.interface';\nimport { IEvent } from '@libs-ui/interfaces-types';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-buttons-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n standalone: true,\n imports: [\n NgStyle, TranslateModule,\n LibsUiComponentsSpinnerComponent,\n LibsUiComponentsPopoverComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibsUiComponentsButtonsButtonComponent implements AfterViewInit, OnDestroy {\n\n // #region PROPERTY\n private onDestroy = new Subject<void>();\n\n protected classBinding = signal('');\n protected isClick = signal(false);\n protected typeIconLoading = signal<TYPE_SPINNER>('spin-blue');\n protected typeButton = signal(false);\n\n private configProjectService = inject(LibsUiConfigProjectService);\n\n // #region INPUT\n readonly flagMouse = input<IFlagMouse>({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });\n readonly type = input<TYPE_BUTTON>('button-primary');\n readonly buttonCustom = input<IColorButton>(); // bắt buộc khi type là button-custom hoặc button-link-custom\n readonly sizeButton = input<TYPE_SIZE_BUTTON, TYPE_SIZE_BUTTON | undefined>('medium', { transform: value => value ?? 'medium' });\n readonly label = input<string>(' ');\n readonly disable = input<boolean>(false);\n readonly isPending = input<boolean>();\n readonly imageLeft = input<{ src: string; classInclude?: string }>();\n readonly classInclude = input<string>('');\n readonly classIconLeft = input<string>('');\n readonly classIconRight = input<string>('');\n readonly classLabel = input<string>('');\n readonly iconOnlyType = input<boolean>(false);\n readonly popover = input<IPopover>({});\n readonly ignoreStopPropagationEvent = input<boolean, boolean | undefined>(true, { transform: val => val ?? true });\n readonly zIndex = input<number>(10);\n readonly widthLabelPopover = input<number>();\n readonly styleIconLeft = input<Record<string, any>>();\n readonly styleButton = input<Record<string, any>>();\n readonly ignoreFocusWhenInputTab = input<boolean>(); // dùng để bỏ qua focus khi bấm nút TAB từ bán phím\n readonly ignoreSetClickWhenShowPopover = input<boolean>();\n readonly ignorePointerEvent = input<boolean>();\n readonly isActive = input<boolean>();\n readonly isHandlerEnterDocumentClickButton = input<boolean>();\n\n // #region OUTPUT\n readonly outClick = output<Event>();\n readonly outPopoverEvent = output<TYPE_POPOVER_EVENT>();\n readonly outFunctionsControl = output<IPopoverFunctionControlEvent>();\n\n /* VIEW CHILD */\n private readonly buttonEl = viewChild.required<ElementRef>('buttonEl');\n\n constructor() {\n effect(() => {\n this.type(); this.buttonCustom();this.sizeButton();\n untracked(() => this.setClassByType());\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.isHandlerEnterDocumentClickButton()) {\n return;\n }\n fromEvent<IEvent>(document, 'keyup').pipe(takeUntil(this.onDestroy)).subscribe((e) => {\n if (e.keyCode !== UtilsKeyCodeConstant.ENTER) {\n return;\n }\n this.handlerClick(e);\n });\n }\n\n /* FUNCTIONS */\n protected handlerClick(e: Event) {\n if (!this.ignoreStopPropagationEvent()) {\n e.stopPropagation();\n }\n this.buttonEl()?.nativeElement.blur();\n if (this.disable() || this.isPending()) {\n return;\n }\n this.outClick.emit(e);\n this.isClick.set(true);\n timer(100).pipe(takeUntil(this.onDestroy)).subscribe(() => {\n this.isClick.set(false);\n });\n }\n\n protected async handlerPopoverControlEvent(control: IPopoverFunctionControlEvent) {\n this.outFunctionsControl.emit(control);\n }\n\n private async setClassByType() {\n if (this.type().search('button') === 0) {\n this.typeButton.set(true);\n }\n this.setClassAndIconLoadingByType();\n const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());\n\n this.setVariableStyles(config.rootColor, config.configStepColor);\n if (!this.sizeButton || !this.typeButton()) {\n return this.classBinding.update(value => `${value} ${this.classInclude()}`);\n }\n\n switch (this.sizeButton()) {\n case 'large':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-large`);\n case 'medium':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-medium`);\n\n case 'small':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-small`);\n\n case 'smaller':\n return this.classBinding.update(value => `${value} ${this.classInclude()} libs-ui-button-smaller`);\n }\n }\n\n private async setClassAndIconLoadingByType() {\n if (!this.type) {\n return;\n }\n if (this.type().includes('link')) {\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-link libs-ui-button-link-other-color');\n return this.typeIconLoading.set('spin-blue');\n }\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-other-color');\n if (['button-secondary', 'button-third', 'button-outline', 'button-outline-green'].includes(this.type())) {\n return this.typeIconLoading.set('spin-blue');\n }\n return this.typeIconLoading.set('spin-white');\n }\n\n private async setVariableStyles(color: string, configStep: any) {\n if (!color) {\n return;\n }\n\n const colors = colorContrastFromOrigin(color);\n\n Object.keys(configStep).forEach(key => {\n const valueStep = get(configStep, key);\n const typeLink = this.type().includes('link');\n\n if (typeof valueStep === 'string') {\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);\n\n return;\n }\n const color = colors.find(item => item.step === Math.abs(valueStep));\n\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));\n });\n }\n\n protected async handlerPopoverEvent(event: TYPE_POPOVER_EVENT) {\n this.outPopoverEvent.emit(event);\n if (event === 'click') {\n return;\n }\n if (event === 'remove') {\n this.isClick.set(false);\n\n return;\n }\n if (!this.ignoreSetClickWhenShowPopover()) {\n this.isClick.set(true);\n }\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<libs_ui-components-popover [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab()?'-1':'0'\"\n [attr.hasLabel]=\"((label() || ' ') | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\">\n </i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover()\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"(label() || ' ') | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight()+' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large'?'medium':sizeButton() === 'smaller'?'smaller':'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libs-ui-components-buttons-button.mjs","sources":["../../../../../../libs-ui/components/buttons/button/src/button.component.ts","../../../../../../libs-ui/components/buttons/button/src/button.component.html","../../../../../../libs-ui/components/buttons/button/src/libs-ui-components-buttons-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NgStyle } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, OnDestroy, output, signal, untracked, viewChild } from '@angular/core';\nimport { IFlagMouse, IPopover, IPopoverFunctionControlEvent, LibsUiComponentsPopoverComponent, TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { LibsUiComponentsSpinnerComponent, TYPE_SPINNER } from '@libs-ui/components-spinner';\nimport { IColorButton, LibsUiConfigProjectService } from '@libs-ui/services-config-project';\nimport { colorContrastFromOrigin, get, UtilsKeyCodeConstant } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { fromEvent, Subject, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TYPE_BUTTON, TYPE_SIZE_BUTTON } from './interfaces/button.interface';\nimport { IEvent } from '@libs-ui/interfaces-types';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-buttons-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n standalone: true,\n imports: [NgStyle, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiComponentsPopoverComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LibsUiComponentsButtonsButtonComponent implements AfterViewInit, OnDestroy {\n // #region PROPERTY\n private onDestroy = new Subject<void>();\n private functionsControlPopover = signal<IPopoverFunctionControlEvent | undefined>(undefined);\n\n protected classBinding = signal('');\n protected isClick = signal(false);\n protected typeIconLoading = signal<TYPE_SPINNER>('spin-blue');\n protected typeButton = signal(false);\n\n private configProjectService = inject(LibsUiConfigProjectService);\n\n // #region INPUT\n readonly flagMouse = input<IFlagMouse>({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false });\n readonly type = input<TYPE_BUTTON>('button-primary');\n readonly buttonCustom = input<IColorButton>(); // bắt buộc khi type là button-custom hoặc button-link-custom\n readonly sizeButton = input<TYPE_SIZE_BUTTON, TYPE_SIZE_BUTTON | undefined>('medium', { transform: (value) => value ?? 'medium' });\n readonly label = input<string>(' ');\n readonly disable = input<boolean>(false);\n readonly isPending = input<boolean>();\n readonly imageLeft = input<{ src: string; classInclude?: string }>();\n readonly classInclude = input<string>('');\n readonly classIconLeft = input<string>('');\n readonly classIconRight = input<string>('');\n readonly classLabel = input<string>('');\n readonly iconOnlyType = input<boolean>(false);\n readonly popover = input<IPopover>({});\n readonly ignoreStopPropagationEvent = input<boolean, boolean | undefined>(true, { transform: (val) => val ?? true });\n readonly zIndex = input<number>(10);\n readonly widthLabelPopover = input<number>();\n readonly styleIconLeft = input<Record<string, any>>();\n readonly styleButton = input<Record<string, any>>();\n readonly ignoreFocusWhenInputTab = input<boolean>(); // dùng để bỏ qua focus khi bấm nút TAB từ bán phím\n readonly ignoreSetClickWhenShowPopover = input<boolean>();\n readonly ignorePointerEvent = input<boolean>();\n readonly isActive = input<boolean>();\n readonly isHandlerEnterDocumentClickButton = input<boolean>();\n\n // #region OUTPUT\n readonly outClick = output<Event>();\n readonly outPopoverEvent = output<TYPE_POPOVER_EVENT>();\n readonly outFunctionsControl = output<IPopoverFunctionControlEvent>();\n\n /* VIEW CHILD */\n private readonly buttonEl = viewChild.required<ElementRef>('buttonEl');\n\n constructor() {\n effect(() => {\n this.type();\n this.buttonCustom();\n this.sizeButton();\n untracked(() => this.setClassByType());\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.isHandlerEnterDocumentClickButton()) {\n return;\n }\n fromEvent<IEvent>(document, 'keyup')\n .pipe(takeUntil(this.onDestroy))\n .subscribe((e) => {\n if (e.keyCode !== UtilsKeyCodeConstant.ENTER) {\n return;\n }\n this.handlerClick(e);\n });\n }\n\n /* FUNCTIONS */\n protected handlerClick(e: Event) {\n if (!this.ignoreStopPropagationEvent()) {\n e.stopPropagation();\n }\n this.buttonEl()?.nativeElement.blur();\n if (this.disable() || this.isPending()) {\n return;\n }\n this.outClick.emit(e);\n this.isClick.set(true);\n timer(100)\n .pipe(takeUntil(this.onDestroy))\n .subscribe(() => {\n this.isClick.set(false);\n });\n }\n\n protected async handlerPopoverControlEvent(control: IPopoverFunctionControlEvent) {\n this.functionsControlPopover.set(control);\n this.outFunctionsControl.emit(control);\n }\n\n public get FunctionsControl(): IPopoverFunctionControlEvent | undefined {\n return this.functionsControlPopover();\n }\n\n private async setClassByType() {\n if (this.type().search('button') === 0) {\n this.typeButton.set(true);\n }\n this.setClassAndIconLoadingByType();\n const config = this.type().includes('custom') ? this.buttonCustom() : get(this.configProjectService.ConfigButton(), this.type());\n\n this.setVariableStyles(config.rootColor, config.configStepColor);\n if (!this.sizeButton || !this.typeButton()) {\n return this.classBinding.update((value) => `${value} ${this.classInclude()}`);\n }\n\n switch (this.sizeButton()) {\n case 'large':\n return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-large`);\n case 'medium':\n return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-medium`);\n\n case 'small':\n return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-small`);\n\n case 'smaller':\n return this.classBinding.update((value) => `${value} ${this.classInclude()} libs-ui-button-smaller`);\n }\n }\n\n private async setClassAndIconLoadingByType() {\n if (!this.type) {\n return;\n }\n if (this.type().includes('link')) {\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-link libs-ui-button-link-other-color');\n return this.typeIconLoading.set('spin-blue');\n }\n this.classBinding.set('libs-ui-button libs-ui-button-theme libs-ui-button-other-color');\n if (['button-secondary', 'button-third', 'button-outline', 'button-outline-green'].includes(this.type())) {\n return this.typeIconLoading.set('spin-blue');\n }\n return this.typeIconLoading.set('spin-white');\n }\n\n private async setVariableStyles(color: string, configStep: any) {\n if (!color) {\n return;\n }\n\n const colors = colorContrastFromOrigin(color);\n\n Object.keys(configStep).forEach((key) => {\n const valueStep = get(configStep, key);\n const typeLink = this.type().includes('link');\n\n if (typeof valueStep === 'string') {\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, valueStep);\n\n return;\n }\n const color = colors.find((item) => item.step === Math.abs(valueStep));\n\n this.buttonEl()?.nativeElement.style.setProperty(`--libs-ui-button${typeLink ? '-link' : ''}-other-color-${key.replace('_', '-')}`, get(color || {}, valueStep < 0 ? 'dark' : 'light'));\n });\n }\n\n protected async handlerPopoverEvent(event: TYPE_POPOVER_EVENT) {\n this.outPopoverEvent.emit(event);\n if (event === 'click') {\n return;\n }\n if (event === 'remove') {\n this.isClick.set(false);\n\n return;\n }\n if (!this.ignoreSetClickWhenShowPopover()) {\n this.isClick.set(true);\n }\n }\n\n ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n}\n","<libs_ui-components-popover\n [type]=\"popover().type || 'other'\"\n [mode]=\"popover().mode || 'hover'\"\n [ignoreHiddenPopoverContentWhenMouseLeave]=\"popover().ignoreHiddenPopoverContentWhenMouseLeave || false\"\n [ignoreShowPopover]=\"popover().config ? !!popover().ignoreShowPopover : true\"\n [elementRefCustom]=\"popover().elementRefCustom\"\n [config]=\"popover().config || {}\"\n [flagMouse]=\"flagMouse()\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\"\n (outFunctionsControl)=\"handlerPopoverControlEvent($event)\"\n (outEvent)=\"handlerPopoverEvent($event)\">\n <button\n #buttonEl\n [class]=\"classBinding()\"\n [class.libs-ui-button-disable]=\"disable()\"\n [class.pointer-events-none]=\"disable() && !ignorePointerEvent()\"\n [attr.isPending]=\"isPending()\"\n [attr.isClick]=\"isClick()\"\n [attr.tabindex]=\"ignoreFocusWhenInputTab() ? '-1' : '0'\"\n [attr.hasLabel]=\"(label() || ' ' | translate) !== ' '\"\n [attr.hasIconLeft]=\"!!classIconLeft()\"\n [attr.hasIconRight]=\"!!classIconRight()\"\n [attr.active]=\"!!isActive()\"\n [ngStyle]=\"styleButton()\"\n (click)=\"handlerClick($event)\">\n @if (imageLeft(); as imageConfig) {\n <img\n [src]=\"imageConfig.src\"\n [class]=\"imageConfig.classInclude || 'mr-[8px]'\" />\n }\n @if (classIconLeft() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconLeft() + ' libs-ui-button-icon-left'\"\n [ngStyle]=\"styleIconLeft()\"></i>\n }\n @if (!iconOnlyType()) {\n <libs_ui-components-popover\n [type]=\"'text'\"\n [config]=\"{\n zIndex: zIndex(),\n width: widthLabelPopover(),\n }\"\n [class]=\"(classLabel() || '') + ' libs-ui-button-label'\"\n [innerHtml]=\"label() || ' ' | translate\"\n [ignoreStopPropagationEvent]=\"ignoreStopPropagationEvent()\" />\n }\n @if (classIconRight() && (!iconOnlyType() || (iconOnlyType() && !isPending()))) {\n <i\n [attr.iconOnlyType]=\"iconOnlyType()\"\n [class]=\"classIconRight() + ' libs-ui-button-icon-right'\"></i>\n }\n @if (isPending()) {\n <div\n class=\"relative\"\n [class.w-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.left-[16px]]=\"!typeButton() && !iconOnlyType()\"\n [class.ml-[8px]]=\"typeButton() && !iconOnlyType()\">\n <libs_ui-components-spinner\n [type]=\"typeIconLoading()\"\n [size]=\"sizeButton() === 'large' ? 'medium' : sizeButton() === 'smaller' ? 'smaller' : 'small'\" />\n </div>\n }\n </button>\n</libs_ui-components-popover>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;MAsBa,sCAAsC,CAAA;;AAEzC,IAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;AAC/B,IAAA,uBAAuB,GAAG,MAAM,CAA2C,SAAS,CAAC;AAEnF,IAAA,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;AACzB,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AACvB,IAAA,eAAe,GAAG,MAAM,CAAe,WAAW,CAAC;AACnD,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAE5B,IAAA,oBAAoB,GAAG,MAAM,CAAC,0BAA0B,CAAC;;AAGxD,IAAA,SAAS,GAAG,KAAK,CAAa,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/G,IAAA,IAAI,GAAG,KAAK,CAAc,gBAAgB,CAAC;AAC3C,IAAA,YAAY,GAAG,KAAK,EAAgB,CAAC;AACrC,IAAA,UAAU,GAAG,KAAK,CAAiD,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;AACzH,IAAA,KAAK,GAAG,KAAK,CAAS,GAAG,CAAC;AAC1B,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,CAAC;IAC/B,SAAS,GAAG,KAAK,EAAW;IAC5B,SAAS,GAAG,KAAK,EAA0C;AAC3D,IAAA,YAAY,GAAG,KAAK,CAAS,EAAE,CAAC;AAChC,IAAA,aAAa,GAAG,KAAK,CAAS,EAAE,CAAC;AACjC,IAAA,cAAc,GAAG,KAAK,CAAS,EAAE,CAAC;AAClC,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,CAAC;AAC9B,IAAA,YAAY,GAAG,KAAK,CAAU,KAAK,CAAC;AACpC,IAAA,OAAO,GAAG,KAAK,CAAW,EAAE,CAAC;AAC7B,IAAA,0BAA0B,GAAG,KAAK,CAA+B,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AAC3G,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,CAAC;IAC1B,iBAAiB,GAAG,KAAK,EAAU;IACnC,aAAa,GAAG,KAAK,EAAuB;IAC5C,WAAW,GAAG,KAAK,EAAuB;AAC1C,IAAA,uBAAuB,GAAG,KAAK,EAAW,CAAC;IAC3C,6BAA6B,GAAG,KAAK,EAAW;IAChD,kBAAkB,GAAG,KAAK,EAAW;IACrC,QAAQ,GAAG,KAAK,EAAW;IAC3B,iCAAiC,GAAG,KAAK,EAAW;;IAGpD,QAAQ,GAAG,MAAM,EAAS;IAC1B,eAAe,GAAG,MAAM,EAAsB;IAC9C,mBAAmB,GAAG,MAAM,EAAgC;;AAGpD,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAa,UAAU,CAAC;AAEtE,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE;YACjB,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AACxC,QAAA,CAAC,CAAC;IACJ;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE;YAC7C;QACF;AACA,QAAA,SAAS,CAAS,QAAQ,EAAE,OAAO;AAChC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AAC9B,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;YACf,IAAI,CAAC,CAAC,OAAO,KAAK,oBAAoB,CAAC,KAAK,EAAE;gBAC5C;YACF;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACtB,QAAA,CAAC,CAAC;IACN;;AAGU,IAAA,YAAY,CAAC,CAAQ,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACtC,CAAC,CAAC,eAAe,EAAE;QACrB;QACA,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE;QACrC,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACtC;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB,KAAK,CAAC,GAAG;AACN,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;aAC9B,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,CAAC,CAAC;IACN;IAEU,MAAM,0BAA0B,CAAC,OAAqC,EAAA;AAC9E,QAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;IACxC;AAEA,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,uBAAuB,EAAE;IACvC;AAEQ,IAAA,MAAM,cAAc,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B;QACA,IAAI,CAAC,4BAA4B,EAAE;AACnC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAEhI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAA,EAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA,CAAE,CAAC;QAC/E;AAEA,QAAA,QAAQ,IAAI,CAAC,UAAU,EAAE;AACvB,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAA,EAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA,qBAAA,CAAuB,CAAC;AACpG,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAA,EAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA,sBAAA,CAAwB,CAAC;AAErG,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAA,EAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA,qBAAA,CAAuB,CAAC;AAEpG,YAAA,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAA,EAAG,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA,uBAAA,CAAyB,CAAC;;IAE1G;AAEQ,IAAA,MAAM,4BAA4B,GAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd;QACF;QACA,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAChC,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,yFAAyF,CAAC;YAChH,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9C;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gEAAgE,CAAC;AACvF,QAAA,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;YACxG,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9C;QACA,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/C;AAEQ,IAAA,MAAM,iBAAiB,CAAC,KAAa,EAAE,UAAe,EAAA;QAC5D,IAAI,CAAC,KAAK,EAAE;YACV;QACF;AAEA,QAAA,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC;QAE7C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACtC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;AAE7C,YAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AACjC,gBAAA,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,gBAAA,EAAmB,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAA,aAAA,EAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA,CAAE,EAAE,SAAS,CAAC;gBAE9I;YACF;YACA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEtE,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,gBAAA,EAAmB,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAA,aAAA,EAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA,CAAE,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AACzL,QAAA,CAAC,CAAC;IACJ;IAEU,MAAM,mBAAmB,CAAC,KAAyB,EAAA;AAC3D,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,KAAK,KAAK,OAAO,EAAE;YACrB;QACF;AACA,QAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAEvB;QACF;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE;AACzC,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC3B;wGAjLW,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,6BAAA,EAAA,EAAA,iBAAA,EAAA,+BAAA,EAAA,UAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iCAAA,EAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,UAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBnD,+qFAiEA,EAAA,MAAA,EAAA,CAAA,+kUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED9CY,OAAO,0EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gCAAgC,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gCAAgC,EAAA,QAAA,EAAA,+DAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,6BAAA,EAAA,cAAA,EAAA,0CAAA,EAAA,4BAAA,EAAA,kCAAA,EAAA,8BAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAG3F,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBATlD,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mCAAmC,EAAA,UAAA,EAGjC,IAAI,EAAA,OAAA,EACP,CAAC,OAAO,EAAE,eAAe,EAAE,gCAAgC,EAAE,gCAAgC,CAAC,EAAA,eAAA,EACtF,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+qFAAA,EAAA,MAAA,EAAA,CAAA,+kUAAA,CAAA,EAAA;;;AEpBjD;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IPopover } from
|
|
2
|
-
import { IColorButton } from
|
|
1
|
+
import { IPopover } from '@libs-ui/components-popover';
|
|
2
|
+
import { IColorButton } from '@libs-ui/services-config-project';
|
|
3
3
|
export interface IButton {
|
|
4
4
|
key?: string;
|
|
5
5
|
type?: TYPE_BUTTON;
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/components-buttons-button",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.308-0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=18.0.0",
|
|
6
6
|
"@angular/core": ">=18.0.0",
|
|
7
|
-
"@libs-ui/components-popover": "0.2.
|
|
8
|
-
"@libs-ui/components-spinner": "0.2.
|
|
9
|
-
"@libs-ui/services-config-project": "0.2.
|
|
10
|
-
"@libs-ui/utils": "0.2.
|
|
7
|
+
"@libs-ui/components-popover": "0.2.308-0",
|
|
8
|
+
"@libs-ui/components-spinner": "0.2.308-0",
|
|
9
|
+
"@libs-ui/services-config-project": "0.2.308-0",
|
|
10
|
+
"@libs-ui/utils": "0.2.308-0",
|
|
11
11
|
"@ngx-translate/core": "^15.0.0",
|
|
12
12
|
"rxjs": "~7.8.0",
|
|
13
|
-
"@libs-ui/interfaces-types": "0.2.
|
|
13
|
+
"@libs-ui/interfaces-types": "0.2.308-0"
|
|
14
14
|
},
|
|
15
15
|
"sideEffects": false,
|
|
16
16
|
"module": "fesm2022/libs-ui-components-buttons-button.mjs",
|